[all-commits] [llvm/llvm-project] 8f011e: [Sema] Avoid repeated hash lookups (NFC) (#131263)
Koakuma via All-commits
all-commits at lists.llvm.org
Tue Mar 25 08:08:49 PDT 2025
Branch: refs/heads/users/koachan/spr/main.sparcmc-add-tests-for-vis-family-instructions
Home: https://github.com/llvm/llvm-project
Commit: 8f011e2c7f003f3e9823c057109d603ca698a4be
https://github.com/llvm/llvm-project/commit/8f011e2c7f003f3e9823c057109d603ca698a4be
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
Log Message:
-----------
[Sema] Avoid repeated hash lookups (NFC) (#131263)
Commit: 0f98d1b9fa56c19dcbf1b002608e51047ac56d60
https://github.com/llvm/llvm-project/commit/0f98d1b9fa56c19dcbf1b002608e51047ac56d60
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
Log Message:
-----------
[CIR] Don't generate ClangIR after an unrecoverable error occured (#130971)
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Commit: 4acfeafd8fa46f22e449b24a49c128a312f900fb
https://github.com/llvm/llvm-project/commit/4acfeafd8fa46f22e449b24a49c128a312f900fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/Tooling/RefactoringCallbacks.cpp
Log Message:
-----------
[Tooling] Avoid repeated hash lookups (NFC) (#131264)
Commit: 8d333e167503e7ca17ab9e54b8a07cc3b55f96ca
https://github.com/llvm/llvm-project/commit/8d333e167503e7ca17ab9e54b8a07cc3b55f96ca
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Log Message:
-----------
[SelectionDAG] Avoid repeated hash lookups (NFC) (#131266)
Commit: 1b42be6fe8b850703e0f8e807234e3cb3332ebe0
https://github.com/llvm/llvm-project/commit/1b42be6fe8b850703e0f8e807234e3cb3332ebe0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#131267)
It's safe to use try_emplace instead of operator[] here because:
- PhiPredIVs is empty at the beginning of the loop, and
- The elements we are inserting into PhiPredIVs are unique.
Commit: 19b25a45243948d0d55e0b42d82bb7705c775b77
https://github.com/llvm/llvm-project/commit/19b25a45243948d0d55e0b42d82bb7705c775b77
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/tools/dsymutil/BinaryHolder.cpp
Log Message:
-----------
[dsymutil] Avoid repeated hash lookups (NFC) (#131268)
Commit: 2a09523480fc8320c4039e91592d99120e9ae6e7
https://github.com/llvm/llvm-project/commit/2a09523480fc8320c4039e91592d99120e9ae6e7
Author: NewSigma <46043910+NewSigma at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/Parser/cxx-template-decl.cpp
Log Message:
-----------
[clang] Add diagnostic for unresolved using declaration that shadows template parameters (#131328)
Fix #129411
Commit: 2198f546b167b442ce4c229352922f62d716bf79
https://github.com/llvm/llvm-project/commit/2198f546b167b442ce4c229352922f62d716bf79
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
Log Message:
-----------
[BPF] Avoid repeated hash lookups (NFC) (#131265)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: 389ed474e81f402294a1dc03a5ea7b039a523965
https://github.com/llvm/llvm-project/commit/389ed474e81f402294a1dc03a5ea7b039a523965
Author: yonghong-song <yhs at fb.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Log Message:
-----------
[BPF] Remove unnecessary BitCast operations (#131260)
In [1], Nikita Popov spotted that two BitCast operations are not needed
with opaque pointers. So remove these two BitCast operations and adjust
corresponding comments as well.
[1] https://github.com/llvm/llvm-project/pull/130722
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 841f4637a078ce9adc5ef45f533a43bf7fbc7fc7
https://github.com/llvm/llvm-project/commit/841f4637a078ce9adc5ef45f533a43bf7fbc7fc7
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][Coro] Use CloneFunctionInto for coroutine cloning instead of CloneFunction<Part> (#129149)
Summary:
CloneFunctionInto now is fast on its own and we don't need to use
CloneFunctionAttributes/Metadata/Body separately.
CommonDebugInfo in CoroClone is now unused and is cleaned up separately
in the next diff in the stack.
Test Plan:
ninja check-all
Commit: 244cf89f143a4fa09494280dba4a49d4cff007f6
https://github.com/llvm/llvm-project/commit/244cf89f143a4fa09494280dba4a49d4cff007f6
Author: Peter Hawkins <phawkins at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[mlir][python] Small optimization to mlirApiObjectToCapsule. (#131160)
Call nb::getattr(...) rather than using nb::hasattr() and .attr(). Saves
a Python string allocation and a dictionary lookup when using a recent
nanobind.
Optimization only, no changes in behavior expected.
Commit: e8117026a9796fa3f60b61073c18c3467a037bee
https://github.com/llvm/llvm-project/commit/e8117026a9796fa3f60b61073c18c3467a037bee
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/inline_memmove.h
M libc/src/string/memory_utils/inline_memset.h
Log Message:
-----------
[libc] Default to `byte_per_byte` instead of erroring (#131340)
Summary:
Right now a lot of the memory functions error if we don't have specific
handling for them. This is weird because we have a generic
implementation that should just be used whenever someone hasn't written
a more optimized version. This allows us to use the `libc` headers with
more architectures from the `shared/` directory without worrying about
it breaking.
Commit: f2541cee44edca653326895f51bea4561394d6c7
https://github.com/llvm/llvm-project/commit/f2541cee44edca653326895f51bea4561394d6c7
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
Log Message:
-----------
[clang] Remove usage of llvm-spirv in clang LIT tests (#131158)
We use the backend now, so remove the requirement from the only test
that actually executes the translator and remove the LIT requirement
variable.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 72b8744aa530b53d94ae556c40ef703c3bd8d115
https://github.com/llvm/llvm-project/commit/72b8744aa530b53d94ae556c40ef703c3bd8d115
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Reduce overhead of target compilation (#130945)
This patch avoids calling `TargetOp::getInnermostCapturedOmpOp` multiple
times during initialization of default and runtime target attributes in
MLIR to LLVM IR translation of `omp.target` operations. This is a
potentially expensive operation, so this change should help keep compile
times lower.
Commit: 52cd27e60b2421feeee5afa9269c53fb0cb366a7
https://github.com/llvm/llvm-project/commit/52cd27e60b2421feeee5afa9269c53fb0cb366a7
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/aapcs_vararg_frame.ll
M llvm/test/CodeGen/AArch64/alloca.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/vararg-tallcall.ll
M llvm/test/CodeGen/AArch64/win64_vararg2.ll
Log Message:
-----------
Revert "[Aarch64] [ISel] Don't save vaargs registers if vaargs are unused (#126780)"
This caused miscompiles on windows arm64, see comment on the PR.
This reverts commit e122483762b44c7f4386165099ff2a404705d7d4.
Commit: 00f9c855fb3b21fac62f70e22825a5599cfe8b8b
https://github.com/llvm/llvm-project/commit/00f9c855fb3b21fac62f70e22825a5599cfe8b8b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/Runtime/Inquiry.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Runtime/support.h
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
A flang/test/Fir/box-total-elements-fold.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/is-contiguous-box-fold.fir
A flang/test/Transforms/simplify-fir-operations.fir
Log Message:
-----------
[flang] Added fir.is_contiguous_box and fir.box_total_elements ops. (#131047)
These are helper operations to aid with expanding of fir.pack_array.
Commit: fdb4b89bc0e52ef769ee8ac4d40c0c7b5b62db25
https://github.com/llvm/llvm-project/commit/fdb4b89bc0e52ef769ee8ac4d40c0c7b5b62db25
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M libc/src/string/memory_utils/inline_memmove.h
Log Message:
-----------
[libc] Fix memmove macros for unreocognized targets
Commit: eeb27331dce40068705354643ce91a39f4ff1b64
https://github.com/llvm/llvm-project/commit/eeb27331dce40068705354643ce91a39f4ff1b64
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
Log Message:
-----------
[flang-rt] Use --as-needed for linking flang-rt libraries. (#130856)
This change makes sure that there is no unnecessary library
dependencies like libc++/libstdc++.
Commit: 42ddb550174887359fa1393cb76843475c283159
https://github.com/llvm/llvm-project/commit/42ddb550174887359fa1393cb76843475c283159
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.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-512-v64.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - peek through bitcasts to find a concatenation of subvector shuffles (#131331)
Extend existing concat(shuffle(),shuffle(),..) shuffle combining to handle mixed bitcasts such as concat(shuffle(),bitcast(shuffle()),...)
Commit: 792a6f81198842352fa5213faf7ecad4b1d27ddd
https://github.com/llvm/llvm-project/commit/792a6f81198842352fa5213faf7ecad4b1d27ddd
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/combine-shift-of-shifted-dbg-value-fallback.ll
M llvm/test/CodeGen/AArch64/GlobalISel/debug-cpp.ll
M llvm/test/CodeGen/AArch64/GlobalISel/debug-insts.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-dilocation.ll
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-extract-used-by-dbg.ll
M llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
M llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
M llvm/test/CodeGen/AArch64/dbg-value-swift-async.ll
M llvm/test/CodeGen/AArch64/fast-isel-dbg.ll
M llvm/test/CodeGen/AArch64/fastisel-debugvalue-undef.ll
M llvm/test/CodeGen/AArch64/stack-tagging-dbg-assign-tag-offset.ll
M llvm/test/CodeGen/AArch64/stack-tagging-dbg-declare-tag-offset.ll
M llvm/test/CodeGen/AArch64/stack-tagging-dbg.ll
M llvm/test/CodeGen/AMDGPU/llvm.dbg.value.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-dbg-info.ll
M llvm/test/CodeGen/ARM/debug-info-blocks.ll
M llvm/test/CodeGen/Generic/csw-debug-assert.ll
M llvm/test/CodeGen/X86/2010-08-04-StackVariable.ll
M llvm/test/CodeGen/X86/DbgValueOtherTargets.test
M llvm/test/CodeGen/X86/GlobalISel/x86-calllowering-dbg-trunc.ll
M llvm/test/CodeGen/X86/dbg-combine.ll
M llvm/test/CodeGen/X86/fast-isel-dbg-value-alloca.ll
M llvm/test/CodeGen/X86/fold-sext-trunc.ll
M llvm/test/CodeGen/X86/fold-zext-trunc.ll
M llvm/test/CodeGen/X86/label-heapallocsite.ll
M llvm/test/CodeGen/X86/machine-outliner-disubprogram.ll
M llvm/test/CodeGen/X86/pr53243-tail-call-fastisel.ll
M llvm/test/CodeGen/X86/select-optimize.ll
M llvm/test/CodeGen/X86/selectiondag-order.ll
M llvm/test/CodeGen/X86/sink-local-value.ll
M llvm/test/DebugInfo/AArch64/cfi-eof-prologue.ll
M llvm/test/DebugInfo/AArch64/frameindices.ll
M llvm/test/DebugInfo/AArch64/select-optimize-trailing-dbg-records.ll
M llvm/test/DebugInfo/ARM/lowerbdgdeclare_vla.ll
M llvm/test/DebugInfo/ARM/split-complex.ll
M llvm/test/DebugInfo/ARM/sroa-complex.ll
M llvm/test/DebugInfo/COFF/class-options-common.ll
M llvm/test/DebugInfo/COFF/cpp-mangling.ll
M llvm/test/DebugInfo/COFF/enum-co.ll
M llvm/test/DebugInfo/COFF/function-options.ll
M llvm/test/DebugInfo/COFF/global_visibility.ll
M llvm/test/DebugInfo/COFF/globals.ll
M llvm/test/DebugInfo/COFF/lambda.ll
M llvm/test/DebugInfo/COFF/lines-bb-start.ll
M llvm/test/DebugInfo/COFF/nrvo.ll
M llvm/test/DebugInfo/COFF/numeric-leaves.ll
M llvm/test/DebugInfo/COFF/parent-type-scopes.ll
M llvm/test/DebugInfo/COFF/purge-typedef-udts.ll
M llvm/test/DebugInfo/COFF/thunk.ll
M llvm/test/DebugInfo/COFF/type-quals.ll
M llvm/test/DebugInfo/COFF/types-cvarargs.ll
M llvm/test/DebugInfo/COFF/types-integer-old.ll
M llvm/test/DebugInfo/COFF/types-method-ref-qualifiers.ll
M llvm/test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll
M llvm/test/DebugInfo/Generic/2010-10-01-crash.ll
M llvm/test/DebugInfo/Generic/PR20038.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/adce/no-delete.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/codegenprepare/sunk-addr.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/long-double-x87.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/nullptr-declare.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/scalable-vector.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/set-flag-only-if-modified.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/structured-bindings.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/var-not-alloca-sized.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/vla.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/dse-after-memcpyopt-merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten-offset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/dse/shorten.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/inline-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/shared-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/inline/use-before-def.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/do-not-remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/memset.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/sink.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/store-new-type.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/instcombine/storemerge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/merge.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/licm/multi-exit.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-deletion/dead-loop.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/loop-vectorize/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/phi.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-block-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/single-store-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mem2reg/store-to-part-of-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/memcpyopt/merge-stores.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/mldst-motion/diamond.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/optnone.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/instruction-type.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/roundtrip.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/parse-and-verify/verify.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant-fwd-scan-linked.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/remove-redundant.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/salvage-value.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/empty-block.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/simplifycfg/speculated-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/slp-vectorizer/merge-scalars.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/after-inlining.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/alloca-single-slice.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/arglist.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/complex.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/fail-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/frag.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/id.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/memmove-to-from-same-alloca.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/remove-redundant-dbg.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/rewrite.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/split-pre-fragmented-store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/store.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/unspecified-var-size.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/user-memcpy.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/var-sized-fragment.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-1.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/sroa/vec-2.ll
M llvm/test/DebugInfo/Generic/assignment-tracking/track-assignments.ll
M llvm/test/DebugInfo/Generic/block-asan.ll
M llvm/test/DebugInfo/Generic/dbg-value-lower-linenos.ll
M llvm/test/DebugInfo/Generic/dead-argument-order.ll
M llvm/test/DebugInfo/Generic/discriminated-union.ll
M llvm/test/DebugInfo/Generic/disubrange_vla.ll
M llvm/test/DebugInfo/Generic/enum-types.ll
M llvm/test/DebugInfo/Generic/enum.ll
M llvm/test/DebugInfo/Generic/import-inlined-declaration.ll
M llvm/test/DebugInfo/Generic/inline-alloca-ordering.ll
M llvm/test/DebugInfo/Generic/inline-dbg-values.ll
M llvm/test/DebugInfo/Generic/inline-debug-loc.ll
M llvm/test/DebugInfo/Generic/inlined-vars.ll
M llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-1.ll
M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-2.ll
M llvm/test/DebugInfo/Generic/mem2reg-promote-alloca-3.ll
M llvm/test/DebugInfo/Generic/recursive_inlining.ll
M llvm/test/DebugInfo/Generic/sroa-larger.ll
M llvm/test/DebugInfo/Generic/sroa-samesize.ll
M llvm/test/DebugInfo/Generic/univariant-discriminated-union.ll
M llvm/test/DebugInfo/Generic/volatile-alloca.ll
M llvm/test/DebugInfo/Mips/InlinedFnLocalVar.ll
M llvm/test/DebugInfo/Mips/delay-slot.ll
M llvm/test/DebugInfo/X86/DW_AT_const_value.ll
M llvm/test/DebugInfo/X86/InlinedFnLocalVar.ll
M llvm/test/DebugInfo/X86/aligned_stack_var.ll
M llvm/test/DebugInfo/X86/arg-dbg-value-list.ll
M llvm/test/DebugInfo/X86/arguments.ll
M llvm/test/DebugInfo/X86/array2.ll
M llvm/test/DebugInfo/X86/asan_debug_info.ll
M llvm/test/DebugInfo/X86/block-capture.ll
M llvm/test/DebugInfo/X86/byvalstruct.ll
M llvm/test/DebugInfo/X86/codegenprep-addrsink.ll
M llvm/test/DebugInfo/X86/codegenprepare-rollback.ll
M llvm/test/DebugInfo/X86/convert-linked.ll
M llvm/test/DebugInfo/X86/dbg-declare-arg.ll
M llvm/test/DebugInfo/X86/dbg-declare-inalloca.ll
M llvm/test/DebugInfo/X86/dbg-declare.ll
M llvm/test/DebugInfo/X86/dbg-empty-metadata-lowering.ll
M llvm/test/DebugInfo/X86/dbg-val-list-dangling.ll
M llvm/test/DebugInfo/X86/dbg-val-list-undef.ll
M llvm/test/DebugInfo/X86/dbg-value-arg-movement.ll
M llvm/test/DebugInfo/X86/dbg_value_direct.ll
M llvm/test/DebugInfo/X86/debug-info-block-captured-self.ll
M llvm/test/DebugInfo/X86/debug-info-blocks.ll
M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll
M llvm/test/DebugInfo/X86/debug_value_list_selectiondag.ll
M llvm/test/DebugInfo/X86/dont-drop-dbg-assigns-in-isels.ll
M llvm/test/DebugInfo/X86/double-declare.ll
M llvm/test/DebugInfo/X86/empty-metadata-dbg-declare.ll
M llvm/test/DebugInfo/X86/fi-piece.ll
M llvm/test/DebugInfo/X86/formal_parameter.ll
M llvm/test/DebugInfo/X86/implicit_value-double.ll
M llvm/test/DebugInfo/X86/instcombine-instrinsics.ll
M llvm/test/DebugInfo/X86/instr-ref-opt-levels.ll
M llvm/test/DebugInfo/X86/instr-ref-selectiondag.ll
M llvm/test/DebugInfo/X86/licm-undef-dbg-value.ll
M llvm/test/DebugInfo/X86/mem2reg_fp80.ll
M llvm/test/DebugInfo/X86/missing-abstract-variable.ll
M llvm/test/DebugInfo/X86/parameters.ll
M llvm/test/DebugInfo/X86/pieces-1.ll
M llvm/test/DebugInfo/X86/pieces-3.ll
M llvm/test/DebugInfo/X86/pieces-4.ll
M llvm/test/DebugInfo/X86/reference-argument.ll
M llvm/test/DebugInfo/X86/safestack-byval.ll
M llvm/test/DebugInfo/X86/salvage-add-node-indirect.ll
M llvm/test/DebugInfo/X86/sdag-dangling-dbgvalue.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-1.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-2.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-3.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
M llvm/test/DebugInfo/X86/sdag-dbgvalue-ssareg.ll
M llvm/test/DebugInfo/X86/sdag-ir-salvage.ll
M llvm/test/DebugInfo/X86/spill-indirect-nrvo.ll
M llvm/test/DebugInfo/X86/spill-nontrivial-param.ll
M llvm/test/DebugInfo/X86/sret.ll
M llvm/test/DebugInfo/X86/sroa-after-inlining.ll
M llvm/test/DebugInfo/X86/sroasplit-1.ll
M llvm/test/DebugInfo/X86/sroasplit-2.ll
M llvm/test/DebugInfo/X86/sroasplit-3.ll
M llvm/test/DebugInfo/X86/sroasplit-4.ll
M llvm/test/DebugInfo/X86/sroasplit-5.ll
M llvm/test/DebugInfo/X86/sroasplit-dbg-declare.ll
M llvm/test/DebugInfo/X86/subreg.ll
M llvm/test/DebugInfo/X86/subregisters.ll
M llvm/test/DebugInfo/X86/union-const.ll
M llvm/test/DebugInfo/X86/vla-global.ll
M llvm/test/DebugInfo/X86/vla-multi.ll
M llvm/test/DebugInfo/X86/vla.ll
M llvm/test/DebugInfo/assignment-tracking/AArch64/scalable-vectors.ll
M llvm/test/DebugInfo/assignment-tracking/X86/DSE.ll
M llvm/test/DebugInfo/assignment-tracking/X86/assignment-tracking-not-enabled.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-options.ll
M llvm/test/DebugInfo/assignment-tracking/X86/coalesce-simple.ll
M llvm/test/DebugInfo/assignment-tracking/X86/dbg-phi-produces-undef.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-1.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/diamond-3.ll
M llvm/test/DebugInfo/assignment-tracking/X86/frag-size-zero.ll
M llvm/test/DebugInfo/assignment-tracking/X86/global-storage.ll
M llvm/test/DebugInfo/assignment-tracking/X86/large-type.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-hoist.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-sink.ll
M llvm/test/DebugInfo/assignment-tracking/X86/loop-unroll.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-offset-expression.ll
M llvm/test/DebugInfo/assignment-tracking/X86/lower-to-value.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill-cfg.ll
M llvm/test/DebugInfo/assignment-tracking/X86/mem-loc-frag-fill.ll
M llvm/test/DebugInfo/assignment-tracking/X86/negative-offset.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop-frags.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop-sroa.ll
M llvm/test/DebugInfo/assignment-tracking/X86/nested-loop.ll
M llvm/test/DebugInfo/assignment-tracking/X86/no-redundant-def-after-alloca.ll
M llvm/test/DebugInfo/assignment-tracking/X86/order-of-defs.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-redundant-defs-bwd-scan.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-redundant-defs-to-prevent-reordering.ll
M llvm/test/DebugInfo/assignment-tracking/X86/remove-undef-fragment.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-dangling-dbgassign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-ir-salvage-assign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/sdag-transfer-dbgassign.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/single-memory-location.ll
M llvm/test/DebugInfo/assignment-tracking/X86/split-alloca.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-assignment-extra-checks.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-assignment-outside-variable.ll
M llvm/test/DebugInfo/assignment-tracking/X86/untagged-store-frag.ll
M llvm/test/DebugInfo/assignment-tracking/X86/use-known-value-at-early-mem-def-2.ll
M llvm/test/DebugInfo/assignment-tracking/X86/use-known-value-at-early-mem-def.ll
M llvm/test/DebugInfo/duplicate_dbgvalue.ll
M llvm/test/DebugInfo/instcombine-sink-latest-assignment.ll
M llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/DebugInfo/salvage-gep.ll
M llvm/test/DebugInfo/salvage-limit-expr-size.ll
M llvm/test/DebugInfo/salvage-overflow.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca.ll
M llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
M llvm/test/Instrumentation/HWAddressSanitizer/dbg-declare-tag-offset.ll
M llvm/test/LTO/X86/pr38046.ll
M llvm/test/Linker/debug-info-use-before-def.ll
M llvm/test/Linker/thinlto_funcimport_debug.ll
M llvm/test/ThinLTO/X86/crash_debuginfo.ll
M llvm/test/ThinLTO/X86/debuginfo-cu-import.ll
M llvm/test/ThinLTO/X86/pr35472.ll
M llvm/test/Transforms/ADCE/adce-salvage-dbg-value.ll
M llvm/test/Transforms/ADCE/debug-info-intrinsic.ll
M llvm/test/Transforms/ArgumentPromotion/pr27568.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/alignment.ll
M llvm/test/Transforms/Attributor/ArgumentPromotion/pr33641_remove_arg_dbgvalue.ll
M llvm/test/Transforms/BDCE/basic.ll
M llvm/test/Transforms/CallSiteSplitting/callsite-split-preserve-debug.ll
M llvm/test/Transforms/CodeExtractor/LoopExtractor_alloca.ll
M llvm/test/Transforms/CodeGenPrepare/X86/catchpad-phi-cast.ll
M llvm/test/Transforms/CodeGenPrepare/X86/cttz-ctlz.ll
M llvm/test/Transforms/CodeGenPrepare/X86/select.ll
M llvm/test/Transforms/CodeGenPrepare/debug-info-on-skipped-selects.ll
M llvm/test/Transforms/CodeGenPrepare/sink-shift-and-trunc.ll
M llvm/test/Transforms/Coroutines/coro-debug-O2.ll
M llvm/test/Transforms/Coroutines/coro-debug-coro-frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values-not_used_in_frame.ll
M llvm/test/Transforms/Coroutines/coro-debug-dbg.values.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable-inlined.ll
M llvm/test/Transforms/Coroutines/coro-debug-frame-variable.ll
M llvm/test/Transforms/Coroutines/coro-debug-spill-dbg.declare.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/Coroutines/coro-split-dbg.ll
M llvm/test/Transforms/Coroutines/swift-async-dbg.ll
M llvm/test/Transforms/DCE/basic.ll
M llvm/test/Transforms/DCE/dbg-value-removal.ll
M llvm/test/Transforms/DeadStoreElimination/debuginfo.ll
M llvm/test/Transforms/GlobalOpt/shrink-global-to-bool-check-debug.ll
M llvm/test/Transforms/HotColdSplit/invalid-dbg-assign.ll
M llvm/test/Transforms/IROutliner/gvn-phi-debug.ll
M llvm/test/Transforms/IROutliner/legal-debug.ll
M llvm/test/Transforms/Inline/alloca-dbgdeclare.ll
M llvm/test/Transforms/Inline/delete-function-with-metadata-use.ll
M llvm/test/Transforms/Inline/ignore-debug-info.ll
M llvm/test/Transforms/Inline/inline-skip-use-empty-alloca.ll
M llvm/test/Transforms/Inline/local-as-metadata-undominated-use.ll
M llvm/test/Transforms/Inline/no-inline-line-tables.ll
M llvm/test/Transforms/InstCombine/assume.ll
M llvm/test/Transforms/InstCombine/call-guard.ll
M llvm/test/Transforms/InstCombine/cast-mul-select.ll
M llvm/test/Transforms/InstCombine/cast-set-preserve-signed-dbg-val.ll
M llvm/test/Transforms/InstCombine/consecutive-fences.ll
M llvm/test/Transforms/InstCombine/dbg-scalable-store-fixed-frag.ll
M llvm/test/Transforms/InstCombine/dbg-simplify-alloca-size.ll
M llvm/test/Transforms/InstCombine/debuginfo-dce.ll
M llvm/test/Transforms/InstCombine/debuginfo-dce2.ll
M llvm/test/Transforms/InstCombine/debuginfo-scalable-typesize.ll
M llvm/test/Transforms/InstCombine/debuginfo-skip.ll
M llvm/test/Transforms/InstCombine/debuginfo-variables.ll
M llvm/test/Transforms/InstCombine/debuginfo.ll
M llvm/test/Transforms/InstCombine/debuginfo_add.ll
M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
M llvm/test/Transforms/InstCombine/erase-dbg-values-at-dead-alloc-site.ll
M llvm/test/Transforms/InstCombine/lifetime-no-null-opt.ll
M llvm/test/Transforms/InstCombine/lifetime.ll
M llvm/test/Transforms/InstCombine/lower-dbg-declare.ll
M llvm/test/Transforms/InstCombine/pr43893.ll
M llvm/test/Transforms/InstCombine/salvage-dbg-declare.ll
M llvm/test/Transforms/InstCombine/sink-instruction-introduces-unnecessary-poison-value.ll
M llvm/test/Transforms/InstCombine/stacksave-debuginfo.ll
M llvm/test/Transforms/InstCombine/storemerge-dbg.ll
M llvm/test/Transforms/InstCombine/unavailable-debug.ll
M llvm/test/Transforms/InstCombine/unreachable-dbg-info-modified.ll
M llvm/test/Transforms/JumpThreading/branch-debug-info.ll
M llvm/test/Transforms/JumpThreading/guard-split-debuginfo.ll
M llvm/test/Transforms/JumpThreading/redundant-dbg-info.ll
M llvm/test/Transforms/JumpThreading/thread-debug-info.ll
M llvm/test/Transforms/LCSSA/avoid-intrinsics-in-catchswitch.ll
M llvm/test/Transforms/LCSSA/basictest.ll
M llvm/test/Transforms/LCSSA/rewrite-existing-dbg-values.ll
M llvm/test/Transforms/LICM/dbg-value-sink.ll
M llvm/test/Transforms/LICM/debug-value.ll
M llvm/test/Transforms/LICM/hoist-debuginvariant.ll
M llvm/test/Transforms/LICM/sinking-debugify.ll
M llvm/test/Transforms/LoopDeletion/crashbc.ll
M llvm/test/Transforms/LoopDeletion/diundef.ll
M llvm/test/Transforms/LoopDeletion/over-defensive-undefing-dbg-values.ll
M llvm/test/Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
M llvm/test/Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
M llvm/test/Transforms/LoopIdiom/X86/logical-right-shift-until-zero-debuginfo.ll
M llvm/test/Transforms/LoopIdiom/memcpy-debugify-remarks.ll
M llvm/test/Transforms/LoopIdiom/memset-debugify-remarks.ll
M llvm/test/Transforms/LoopRotate/dbgvalue.ll
M llvm/test/Transforms/LoopRotate/delete-dbg-values.ll
M llvm/test/Transforms/LoopStrengthReduce/X86/lsr-cond-dbg.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-0.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-1.ll
M llvm/test/Transforms/LoopStrengthReduce/dbg-preserve-2.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-0.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-1.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-2.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-3.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-4.ll
M llvm/test/Transforms/LoopStrengthReduce/debuginfo-scev-salvage-5.ll
M llvm/test/Transforms/LoopStrengthReduce/optimizemax_debugloc.ll
M llvm/test/Transforms/LoopStrengthReduce/pr12018.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51329.ll
M llvm/test/Transforms/LoopStrengthReduce/pr51656.ll
M llvm/test/Transforms/LoopStrengthReduce/pr52161.ll
M llvm/test/Transforms/LoopUnroll/X86/call-remark.ll
M llvm/test/Transforms/LoopUnroll/debug-info.ll
M llvm/test/Transforms/LoopUnroll/runtime-epilog-debuginfo.ll
M llvm/test/Transforms/LoopVectorize/i8-induction.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/Mem2Reg/ConvertDebugInfo.ll
M llvm/test/Transforms/Mem2Reg/ConvertDebugInfo2.ll
M llvm/test/Transforms/Mem2Reg/PromoteMemToRegister.ll
M llvm/test/Transforms/Mem2Reg/dbg-inline-scope-for-phi.ll
M llvm/test/Transforms/Mem2Reg/dbg_declare_to_value_conversions.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-phi-2.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-phi.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-1.ll
M llvm/test/Transforms/Mem2Reg/debug-alloca-vla-2.ll
M llvm/test/Transforms/MemCpyOpt/pr37967.ll
M llvm/test/Transforms/MergeFunc/debuginfo-iterators.ll
M llvm/test/Transforms/MergeFunc/mergefunc-preserve-debug-info.ll
M llvm/test/Transforms/MergedLoadStoreMotion/st_sink_check_debug.ll
M llvm/test/Transforms/Reassociate/undef_intrinsics_when_deleting_instructions.ll
M llvm/test/Transforms/SCCP/ipsccp-basic.ll
M llvm/test/Transforms/SCCP/ipsccp-branch-unresolved-undef.ll
M llvm/test/Transforms/SCCP/loadtest.ll
M llvm/test/Transforms/SROA/alignment.ll
M llvm/test/Transforms/SROA/dbg-inline.ll
M llvm/test/Transforms/SROA/dbg-single-piece.ll
M llvm/test/Transforms/SROA/vector-promotion.ll
M llvm/test/Transforms/SafeStack/ARM/debug.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc-dynamic.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc.ll
M llvm/test/Transforms/SafeStack/X86/debug-loc2.ll
M llvm/test/Transforms/SimpleLoopUnswitch/debuginfo.ll
M llvm/test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
M llvm/test/Transforms/SimplifyCFG/X86/merge-compatible-invokes-of-landingpad-debuginfo.ll
M llvm/test/Transforms/SimplifyCFG/X86/pr39187-g.ll
M llvm/test/Transforms/SimplifyCFG/X86/sink-common-code.ll
M llvm/test/Transforms/SimplifyCFG/branch-fold-dbg.ll
M llvm/test/Transforms/SimplifyCFG/dbginfo.ll
M llvm/test/Transforms/SimplifyCFG/debug-info-thread-phi.ll
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
M llvm/test/Transforms/SimplifyCFG/return-merge.ll
M llvm/test/Transforms/SimplifyCFG/speculate-dbgvalue.ll
M llvm/test/Transforms/SimplifyCFG/tail-merge-noreturn.ll
M llvm/test/Transforms/SpeculativeExecution/PR46267.ll
M llvm/test/Transforms/TailCallElim/debugloc.ll
M llvm/test/Transforms/Util/Debugify/loc-only-original-mode.ll
M llvm/test/Transforms/Util/Debugify/loc-only.ll
M llvm/test/Transforms/Util/dbg-user-of-aext.ll
M llvm/test/Transforms/Util/salvage-debuginfo.ll
M llvm/test/Transforms/Util/strip-nonlinetable-debuginfo-localvars.ll
M llvm/test/Transforms/Util/trivial-auto-var-init-call.ll
M llvm/test/Transforms/Util/trivial-auto-var-init-store.ll
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[RemoveDIs] Remove "try-debuginfo-iterators..." test flags (#130298)
These date back to when the non-intrinsic format of variable locations
was still being tested and was behind a compile-time flag, so not all
builds / bots would correctly run them. The solution at the time, to get
at least some test coverage, was to have tests opt-in to non-intrinsic
debug-info if it was built into LLVM.
Nowadays, non-intrinsic format is the default and has been on for more
than a year, there's no need for this flag to exist.
(I've downgraded the flag from "try" to explicitly requesting
non-intrinsic format in some places, so that we can deal with tests that
are explicitly about non-intrinsic format in their own commit).
Commit: da3ee9763266f9adedaac1b1b3162d14f951fc55
https://github.com/llvm/llvm-project/commit/da3ee9763266f9adedaac1b1b3162d14f951fc55
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/include/llvm/Passes/StandardInstrumentations.h
M llvm/lib/Passes/StandardInstrumentations.cpp
A llvm/test/Other/dump-before-after-pass-number.ll
M llvm/test/Other/dump-before-after.ll
Log Message:
-----------
StandardInstrumentation: Fix -ir-dump-directory with -print-before-pass-number (#130983)
Commit: 999700ca477d77c96e771de0399630db773063d6
https://github.com/llvm/llvm-project/commit/999700ca477d77c96e771de0399630db773063d6
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.verify.cpp
Log Message:
-----------
[libc++][test] Skip some `is_implicit_lifetime` tests for apple-clang-17 (#131302)
The skipping was present before but dropped. At the time it was dropped
in #128649, apple-clang-17 wasn't used for CI. But today it is used at
least for the "macos (generic-cxx23, macos-15)" configuration. So I
think we need to skip apple-clang-17 again.
Commit: befb52db94cc63558981baac5e58d86ed2ec1f37
https://github.com/llvm/llvm-project/commit/befb52db94cc63558981baac5e58d86ed2ec1f37
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/offload-Xarch.c
Log Message:
-----------
[Clang] Remove use of 'temporary' toolchains for offload deduction (#131332)
Summary:
We need a toolchain to get the GPU architectures when compiling with
OpenMP. This kind of breaks the toolchain model because these are cached
all over the place. Instead of making a new one, just create both of
them unconditionally. It's not like this is saving any work since we
still needed to create both toolchains in the earlier case.
Fixes: https://github.com/llvm/llvm-project/issues/131325
Commit: bdb4012fe3f9e30e2ea3e1d92524ad7725b2957e
https://github.com/llvm/llvm-project/commit/bdb4012fe3f9e30e2ea3e1d92524ad7725b2957e
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRangeEdit.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LiveRangeEdit.cpp
M llvm/lib/CodeGen/RegisterCoalescer.cpp
M llvm/lib/CodeGen/SplitKit.cpp
Log Message:
-----------
[CodeGen] Remove parameter from LiveRangeEdit::canRematerializeAt [NFC]
Only one caller cares about the true case of this parameter, so move
the check to that single caller. Note that RegisterCoalescer seems
like it should care, but it already duplicates the check several
lines above.
Commit: 8c31bb7da34ac5d8a5e7db4d3964039dfd09a73f
https://github.com/llvm/llvm-project/commit/8c31bb7da34ac5d8a5e7db4d3964039dfd09a73f
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
Log Message:
-----------
[GSYM] Fix incorrect comparison in gSYM creation (#131197)
There is a bug in `llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp` where
`StmtSeqVal` was being compared against `UINT32_MAX` rather than the
correct `UINT64_MAX` - thanks @nocchijiang for [pointing this
out](https://github.com/llvm/llvm-project/pull/129196#discussion_r1986203058).
We correct the issue with this patch. For testing - the issue would show
when we have a correct offset of value `UINT32_MAX` - but constructing
such a test is impractical.
Commit: b936ef18559aac8d982229040158c65843d43eb2
https://github.com/llvm/llvm-project/commit/b936ef18559aac8d982229040158c65843d43eb2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Reorder include of RISCVInstrInfoZi* before C and Zc*. NFC (#131274)
Zclsd needs to reference Zilsd in CompressPats so put Zi before Zc.
The one issue I encountered is that RISCVInstrFormatsC.td needs to be
included before RISCVInstrInfoZicfiss. To fix this I moved the include
of RISCVInstrFormatsC.td from RISCVInstrInfoC.td to RISCVInstrInfo.td
where we include RISCVInstrFormats.td. I moved RISCVInstrFormatsV.td for
consistency.
Commit: 3ac5d8da615ee766700652149702911e9abfb565
https://github.com/llvm/llvm-project/commit/3ac5d8da615ee766700652149702911e9abfb565
Author: Nikolay Panchenko <npanchen at modular.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Tools/lsp-server-support/Transport.h
M mlir/lib/Tools/lsp-server-support/Transport.cpp
Log Message:
-----------
[mlir-lsp] Abstract input and output of the `JSONTransport` (#129320)
The patch abstracts sending and receiving json messages of
`JSONTransport` to allow custom implementation of them. For example, one
concrete implementation can use pipes without a need to convert file
descriptor to a `FILE` object.
Commit: cd54d581b506accf10435778219b647313cb493d
https://github.com/llvm/llvm-project/commit/cd54d581b506accf10435778219b647313cb493d
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
A llvm/test/CodeGen/AMDGPU/valu-mask-write-hazard-true16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] add v_cndmask_t16 to hazardmask (#128912)
add v_cndmask_t16 to hazardmask
Commit: beb4a482973d429ce73cbcba51f3199f7955f8ba
https://github.com/llvm/llvm-project/commit/beb4a482973d429ce73cbcba51f3199f7955f8ba
Author: Julian Nagele <j.nagele at apple.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Use known bits to simplify mask in foldSelectICmpAnd (#128741)
Make use of known bits when trying to decompose a select/icmp bittest and folding it into an and. This means we can fold when additional information, for instance via a range attribute or metadata, allows us to conclude that the resulting mask is in fact a power of two.
Commit: cbbcc3d13b7747be4587e36ddc0699587ff31904
https://github.com/llvm/llvm-project/commit/cbbcc3d13b7747be4587e36ddc0699587ff31904
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
A clang/test/C/C2y/n3460.c
A clang/test/C/C2y/n3460_1.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Claim conformance to WG14 N3460 (#131196)
This moves some Annex G requirements for complex numbers into the main
body of the standard.
Commit: 2ee7ba47dc97ef377479ab013a2c3d2074a86393
https://github.com/llvm/llvm-project/commit/2ee7ba47dc97ef377479ab013a2c3d2074a86393
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Move Size and CopyCost overrides for vector register to the VReg class. NFC (#131222)
Instead using the IsVRegClass to calculate in the base class, just
override directly.
This will scale better if we need to do different types of overrides for
other register types in the future.
Commit: a8949b16e64f4787755a43b4fffed762ccb94b34
https://github.com/llvm/llvm-project/commit/a8949b16e64f4787755a43b4fffed762ccb94b34
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] Add test coverage showing failure to concatenate matching rotate nodes
Commit: 86329ba4d904bb895d5d840c523dde9ddf0ded8e
https://github.com/llvm/llvm-project/commit/86329ba4d904bb895d5d840c523dde9ddf0ded8e
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
M llvm/lib/Frontend/HLSL/HLSLResource.cpp
Log Message:
-----------
[HLSL] Remove old resource annotations (#130338)
Fixes #114126
Commit: 217fc6579bd0ddac96c283c4d996e97c9eab181e
https://github.com/llvm/llvm-project/commit/217fc6579bd0ddac96c283c4d996e97c9eab181e
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.cpp
Log Message:
-----------
[lldb][lldb-dap] Return optional from json utils (#129919)
Completion of #129818
Did not want to put `llvm::StringRef()` as the default value instead it
was `""`
Commit: 87a55191a5c5f1e89c71bda9dceb2f695105a60a
https://github.com/llvm/llvm-project/commit/87a55191a5c5f1e89c71bda9dceb2f695105a60a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/test/CodeGen/MIR/Generic/aligned-memoperands.mir
M llvm/test/CodeGen/MIR/PowerPC/unordered-implicit-registers.mir
M llvm/test/CodeGen/MIR/X86/dbg-value-list.mir
M llvm/test/CodeGen/MIR/X86/instr-heap-alloc-operands.mir
M llvm/test/CodeGen/MIR/X86/instr-symbols-and-mcsymbol-operands.mir
M llvm/test/CodeGen/MIR/X86/machine-verifier-address.mir
M llvm/test/CodeGen/MIR/X86/memory-operands.mir
M llvm/test/CodeGen/MIR/X86/unreachable_block.ll
Log Message:
-----------
MIR: Replace undef with poison in some MIR tests (#131282)
The IR doesn't matter so much in these.
Commit: 5eb557774df637c9e581bd3008cfc6d156a61902
https://github.com/llvm/llvm-project/commit/5eb557774df637c9e581bd3008cfc6d156a61902
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
[mlir][xegpu] Add XeGPU subgroup map propagation analysis for XeGPU SIMT distribution. (#130240)
This PR adds the SG map propagation step of the XeGPU SIMT distribution.
SG map propagation is a sparse backward dataflow analysis that propagate
the sg_map backward starting from the operands of certain operations
(DPAS, store etc.).
This is the first step of XeGPU subgroup distribution. This analysis
result is used to attach layout information to each XeGPU SIMD subgroup
op. The lowering patterns in XeGPUSubgroupDistribute will consume these
layout info to distribute SIMD ops into SIMT ops that work on work-item
level data fragments.
### Summary of Lowering XeGPU SIMD -> SIMT
1. Subgroup map propagation (This PR)
2. Attach `sg_map` to each op in move all ops inside
`gpu.warp_execute_on_lane0` region.
3. Distribute each op using `sg_map`
4. Additional legalization steps to align more with Xe HW.
Commit: 3f62718c4a907125af31faa62365bdf11ddef7b6
https://github.com/llvm/llvm-project/commit/3f62718c4a907125af31faa62365bdf11ddef7b6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.rsq.clamp.ll
M llvm/test/CodeGen/AMDGPU/amdpal_scratch_mergedshader.ll
M llvm/test/CodeGen/AMDGPU/bug-v4f64-subvector.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/cvt_f32_ubyte.ll
M llvm/test/CodeGen/AMDGPU/debug-value.ll
M llvm/test/CodeGen/AMDGPU/diverge-interp-mov-lower.ll
M llvm/test/CodeGen/AMDGPU/early-if-convert.ll
M llvm/test/CodeGen/AMDGPU/extract-subvector-16bit.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/infinite-loop.ll
M llvm/test/CodeGen/AMDGPU/ipra-return-address-save-restore.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.div.scale.ll
M llvm/test/CodeGen/AMDGPU/mdt-preserving-crash.ll
M llvm/test/CodeGen/AMDGPU/noclobber-barrier.ll
M llvm/test/CodeGen/AMDGPU/sgpr-spills-split-regalloc.ll
M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
M llvm/test/CodeGen/AMDGPU/smrd.ll
M llvm/test/CodeGen/AMDGPU/split-smrd.ll
M llvm/test/CodeGen/AMDGPU/swdev373493.ll
M llvm/test/CodeGen/AMDGPU/trunc-combine.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/unhandled-loop-condition-assertion.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
AMDGPU: Migrate some tests away from undef (#131277)
Commit: 352b9e65be1756cafd6097ce858f87a2a48a71c5
https://github.com/llvm/llvm-project/commit/352b9e65be1756cafd6097ce858f87a2a48a71c5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] combineConcatVectorOps - extend ISD::ROTLI/VROTRI handling to support 256-bit types
Add checks that we aren't concatenating 128-bit X86ISD::VPERMI nodes.
Commit: 3fcd921aa492840f5a14fe29bdb10a55032af0d0
https://github.com/llvm/llvm-project/commit/3fcd921aa492840f5a14fe29bdb10a55032af0d0
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
R mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
R mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
Revert "[mlir][xegpu] Add XeGPU subgroup map propagation analysis for XeGPU SIMT distribution." (#131364)
Reverts llvm/llvm-project#130240
Commit: e6382f2111353f5af66bb660c2e0317c21c398ed
https://github.com/llvm/llvm-project/commit/e6382f2111353f5af66bb660c2e0317c21c398ed
Author: Matthias Braun <matze at braunis.de>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/arm64-bitfield-extract.ll
M llvm/test/CodeGen/AArch64/pr61111.ll
Log Message:
-----------
SelectionDAG: neg (and x, 1) --> SIGN_EXTEND_INREG x, i1 (#131239)
The pattern
```LLVM
%shl = shl i32 %x, 31
%ashr = ashr i32 %shl, 31
```
would be combined to `SIGN_EXTEND_INREG %x, ValueType:ch:i1` by
SelectionDAG.
However InstCombine normalizes this pattern to:
```LLVM
%and = and i32 %x, 1
%neg = sub i32 0, %and
```
This adds matching code to DAGCombiner to catch this variant as well.
Commit: 3ec693d3529c51d37c0ace5d6a3209ebe5575a1b
https://github.com/llvm/llvm-project/commit/3ec693d3529c51d37c0ace5d6a3209ebe5575a1b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[X86] combineConcatVectorOps - use ConcatSubOperand for X86ISD::VPERMV operand concatenation (#131352)
More aggressively concatenate operands
Commit: e9fc7683a54d9e5233cff5d016d6f2cdcaf2b2c3
https://github.com/llvm/llvm-project/commit/e9fc7683a54d9e5233cff5d016d6f2cdcaf2b2c3
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp
A clang/test/CIR/Lowering/unary-expr-or-type-trait.cpp
Log Message:
-----------
[CIR] Upstream basic support for sizeof and alignof (#130847)
This change adds the essential support for sizeof and alignof operators
- Support for VariableArrayType can be added after closing #130197
Commit: 2f9d94981c0eb76fe2127b09351ba7b84064471c
https://github.com/llvm/llvm-project/commit/2f9d94981c0eb76fe2127b09351ba7b84064471c
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/JumpTable.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Change Relocation Type to 32-bit NFCI (#130792)
Commit: 51c706c11955bc1de57ca98b21cf8c7dd7b39aa9
https://github.com/llvm/llvm-project/commit/51c706c11955bc1de57ca98b21cf8c7dd7b39aa9
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
Log Message:
-----------
[NFC][AMDGPU] Replace direct arch comparison with `isAMDGCN()` (#131357)
Commit: d0a0de50f7dc6f116863ea9e8ca11efc2dc9f71e
https://github.com/llvm/llvm-project/commit/d0a0de50f7dc6f116863ea9e8ca11efc2dc9f71e
Author: lntue <lntue at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M libc/src/__support/big_int.h
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/__support/fixed_point/fx_bits_test.cpp
M libc/test/src/complex/CImagTest.h
M libc/test/src/complex/CRealTest.h
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/stdlib/StrfromTest.h
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/sys/random/linux/getrandom_test.cpp
M libc/test/src/sys/uio/readv_test.cpp
M libc/test/src/sys/uio/writev_test.cpp
M libc/test/src/time/strftime_test.cpp
M libc/test/src/unistd/lseek_test.cpp
M libc/test/src/unistd/pread_pwrite_test.cpp
M libc/test/src/unistd/read_write_test.cpp
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/utils/MPFRWrapper/MPCommon.cpp
Log Message:
-----------
[libc] Fix implicit conversion warnings in tests. (#131362)
Commit: c84d8e8f1c406ab34d56efd4a9f8c5fbce70af2d
https://github.com/llvm/llvm-project/commit/c84d8e8f1c406ab34d56efd4a9f8c5fbce70af2d
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTWriter.h
A clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/CMakeLists.txt
M clang/lib/Serialization/GeneratePCH.cpp
A clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
Log Message:
-----------
[clang][modules] Introduce new `ModuleCache` interface (#131193)
This PR adds new `ModuleCache` interface to Clang's implicitly-built
modules machinery. The main motivation for this change is to create a
second implementation that uses a more efficient kind of
`llvm::AdvisoryLock` during dependency scanning.
In addition to the lock abstraction, the `ModuleCache` interface also
manages the existing `InMemoryModuleCache` instance. I found that
compared to keeping these separate/independent, the code is a bit
simpler now, since these are two tightly coupled concepts. I can
envision a more efficient implementation of the `InMemoryModuleCache`
for the single-process case too, which will be much easier to implement
with the current setup.
This is not intended to be a functional change.
Commit: 7598ceaf51e0fa726bcd50a251f86435d871ee70
https://github.com/llvm/llvm-project/commit/7598ceaf51e0fa726bcd50a251f86435d871ee70
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Serialization/BUILD.gn
Log Message:
-----------
[gn build] Port c84d8e8f1c40
Commit: 0b688f3ce154cb040f224f81c76571d2e4f62c8d
https://github.com/llvm/llvm-project/commit/0b688f3ce154cb040f224f81c76571d2e4f62c8d
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/abs_i16.ll
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/br_cc.f16.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmax_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmin_legacy.f16.ll
M llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg.f16.ll
M llvm/test/CodeGen/AMDGPU/fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] enable true16 for more codegen test patch 1 (#131206)
This is a NFC patch.
Enable true16 mode for more CodeGen tests
Commit: b1fe7dabceec3341a2aeb466fd40749ce2c61b13
https://github.com/llvm/llvm-project/commit/b1fe7dabceec3341a2aeb466fd40749ce2c61b13
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.fmuladd.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minnum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sqrt.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.f16.ll
M llvm/test/CodeGen/AMDGPU/select-fabs-fneg-extract.v2f16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fma.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fmul.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_ldexp.f16.ll
M llvm/test/CodeGen/AMDGPU/sub.v2i16.ll
M llvm/test/CodeGen/AMDGPU/v_madak_f16.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] enable true16 for more codegen test patch 2 (#131210)
This is a NFC patch.
Enable true16 mode for more CodeGen tests
Commit: 0f1175c8ad0d687ae4708eeecf39f86151aad12f
https://github.com/llvm/llvm-project/commit/0f1175c8ad0d687ae4708eeecf39f86151aad12f
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.g16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.load.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.load.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.load.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] enable true16 for more codegen test patch 3 (#131212)
This is a NFC patch.
Enable true16 mode for more CodeGen tests
Commit: b17af9d8ee4e68550fe05fad1011f1322f3e6ec0
https://github.com/llvm/llvm-project/commit/b17af9d8ee4e68550fe05fad1011f1322f3e6ec0
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
[NFC][llvm/IR] comparison of unsigned expression in ‘>= 0’ is always true (#130843)
Commit: 8bceb777a14017690ec8ea3029ad8932f2230eaf
https://github.com/llvm/llvm-project/commit/8bceb777a14017690ec8ea3029ad8932f2230eaf
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/CoroCloner.h
M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
Log Message:
-----------
[NFC][Coro] Remove now unused CommonDebugInfo in CoroSplit (#129150)
Summary:
This cleans up the now unnecessary debug info collection in CoroSplit.
This makes CoroSplit pass almost as fast with -g2 as it is with -g1 on
the sample cpp file used with other parts of this stack:
| | Baseline | IdentityMD set | Prebuilt CommonDI | MetadataPred (cur) |
|-----------------|----------|----------------|-------------------|--------------------|
| CoroSplitPass | 306ms | 221ms | 68ms | 3.8ms |
| CoroCloner | 101ms | 72ms | 0.5ms | 0.5ms |
| CollectCommonDI | - | - | 63ms | - |
| Speed up | 1x | 1.4x | 4.5x | 80x |
Test Plan:
ninja check-all
Commit: fd24805c8e67c921991e82463bdc23563caf744e
https://github.com/llvm/llvm-project/commit/fd24805c8e67c921991e82463bdc23563caf744e
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Transforms/Passes.td
M mlir/lib/Dialect/XeGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
A mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
Log Message:
-----------
Reapply [mlir][xegpu] Add XeGPU subgroup map propagation analysis for XeGPU SIMT distribution. (#131380)
Originally introduced in #130240 and reverted in #131364
Reproduced the issue locally in Linux by doing a shared lib build. Fixes
including adding the missing LINK_LIBS.
**Original commit message:**
This PR adds the SG map propagation step of the XeGPU SIMT distribution.
SG map propagation is a sparse backward dataflow analysis that propagate
the sg_map backward starting from the operands of certain operations
(DPAS, store etc.).
This is the first step of XeGPU subgroup distribution. This analysis
result is used to attach layout information to each XeGPU SIMD subgroup
op. The lowering patterns in XeGPUSubgroupDistribute will consume these
layout info to distribute SIMD ops into SIMT ops that work on work-item
level data fragments.
Summary of Lowering XeGPU SIMD -> SIMT
Subgroup map propagation (This PR)
Attach sg_map to each op in move all ops inside
gpu.warp_execute_on_lane0 region.
Distribute each op using sg_map
Additional legalization steps to align more with Xe HW.
Commit: 2490f7f076731ddcec10f157553a746d1197d5f3
https://github.com/llvm/llvm-project/commit/2490f7f076731ddcec10f157553a746d1197d5f3
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/reshape_fusion.mlir
Log Message:
-----------
[mlir][Linalg] Allow expand shape propagation across linalg ops with dynamic shapes. (#127943)
With `tensor.expand_shape` allowing expanding dynamic dimension into
multiple dynamic dimension, adapt the reshape propagation through
expansion to handle cases where one dynamic dimension is expanded into
multiple dynamic dimension.
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 7a7c33d4f021236b17751ccd1367c394be67bfc2
https://github.com/llvm/llvm-project/commit/7a7c33d4f021236b17751ccd1367c394be67bfc2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb] Sort source files alphabetically in API/CMakeLists.txt (NFC)
Commit: 955c02dc9c9c3458462a4de0436457a93ea1e9f5
https://github.com/llvm/llvm-project/commit/955c02dc9c9c3458462a4de0436457a93ea1e9f5
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
A mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
Log Message:
-----------
[mlir][tosa] Check for compile time constants in the validation pass (#131123)
This commit adds a concept of the 'dynamic' extension in the Dialect and
checks that compile time constant (CTC) operands for each operator are
constant if the dynamic extension is not loaded.
Operands labeled as CTC in the specification that are of tosa.shape
(shape_t in the specification) type are not checked as they are always
expected to be constant. This requirement is checked elsewhere in the
dialect.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 9c86198caf3654a744ae3fb15447040153acba19
https://github.com/llvm/llvm-project/commit/9c86198caf3654a744ae3fb15447040153acba19
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/multi-incoming-blocks-in-phi.ll
Log Message:
-----------
[SLP] Update vector value for incoming phi node, beeing vectorized already
If the phi node contains multiple same incoming blocks/values, need to
update the corresponding vectorized value, if it is not going to be
vectorized, if the incoming value was vectorized already.
Fixes #131355
Commit: f333841844623dd49ab308c2303dccfbf15d003c
https://github.com/llvm/llvm-project/commit/f333841844623dd49ab308c2303dccfbf15d003c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
Log Message:
-----------
[RISCV] Add nf argument to VReg class instead overriding with a let. NFC (#131235)
This treats nf consistently with LMul.
Commit: cb64a363ca71033937108763b078906b86c7fb04
https://github.com/llvm/llvm-project/commit/cb64a363ca71033937108763b078906b86c7fb04
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
Log Message:
-----------
[HLSL] Make sure `isSigned` flag is set on target type for `TypedBuffer` resources with signed int vectors (#130223)
Fixes #130191
Commit: 78f74f686bfe21262f8b171e21450186edd081ab
https://github.com/llvm/llvm-project/commit/78f74f686bfe21262f8b171e21450186edd081ab
Author: Paddy McDonald <padriff at hotmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
Log Message:
-----------
[Darwin][ASan][Test] Create a noinlined wrapper function for reliable suppression in test. (#131247)
CFStringCreateWithBytes may not always appear on stack due to
optimizations. Create a wrapper function for the purposes of testing
suppression files that will always appear on stack for test stability.
rdar://144800068
Commit: 6ac63129b7ef3413c9f86b81e9d33a619f94f911
https://github.com/llvm/llvm-project/commit/6ac63129b7ef3413c9f86b81e9d33a619f94f911
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[LLVM] Only enable `-fno-lifetime-dse` in LTO mode (#131381)
Summary:
Always passing this option is problematic since it is not supported by
`clang.` this leads to conflicts when using extra CMake tools like
`compile-commands` or `include-what-you-use`. This mainly works around a
bug that showed up during the LTO build. Theoretically this can show up
without LTO, but it's likely to work.
This can be removed once
https://github.com/llvm/llvm-project/issues/24952 is resolved.
Commit: 456963de9690a62d47c7a823cbc66c5a0f3d77d1
https://github.com/llvm/llvm-project/commit/456963de9690a62d47c7a823cbc66c5a0f3d77d1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp:54:3:
error: definition of implicit copy assignment operator for 'Layout'
is deprecated because it has a user-declared copy constructor
[-Werror,-Wdeprecated-copy]
mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp:103:3:
error: definition of implicit copy assignment operator for 'SGMap'
is deprecated because it has a user-declared copy constructor
[-Werror,-Wdeprecated-copy]
Commit: 8413f4d837a96458104f63bab72c751b8285a458
https://github.com/llvm/llvm-project/commit/8413f4d837a96458104f63bab72c751b8285a458
Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/test/tools/llvm-objcopy/MachO/strip-with-encryption-info.test
Log Message:
-----------
[llvm-objcopy] Apply encryptable offset to first segment, not section (#130517)
Bug introduced #120995. The LLD code calculates the "size" of the Mach-O
headers, and then uses that size to place the segments, but the `__TEXT`
section stays at `fileoff` zero. When I wrote the code into llvm-objcopy
I calculated the extra space into the initial offset, which moved all
the sections back 1 page.
Besides the modified test checking for the right `fileoff` values of the
sections and the segments, I also manually checked the generated
binaries after `llvm-objcopy` using `dyld_info`, as the bug report
suggested.
Fixes #130472
Commit: 605a9f590d91a42ae652c2ab13487b5ad57c58a5
https://github.com/llvm/llvm-project/commit/605a9f590d91a42ae652c2ab13487b5ad57c58a5
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/user-node-with-same-last-instr.ll
Log Message:
-----------
[SLP]Check if user node is same as other node and check operand order
Need to check if the user node is same as other node and check operand
order to prevent a compiler crash when trying to find matching gather
node with user nodes, having the same last instruction.
Fixes #131195
Commit: dccc0a836c20914549fa375905615db49d2f813b
https://github.com/llvm/llvm-project/commit/dccc0a836c20914549fa375905615db49d2f813b
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
Log Message:
-----------
[NFC][AMDGPU] Replace more direct arch comparison with isAMDGCN() (#131379)
This is an extension of #131357. Hopefully this would be the last one.
Commit: fbf0276b6a7a7a4508c373cf87fc349569652659
https://github.com/llvm/llvm-project/commit/fbf0276b6a7a7a4508c373cf87fc349569652659
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-subvector.ll
Log Message:
-----------
[SLP] Reorder reuses mask, if it is not empty, for subvector operands
If the subvector operands has reuses mask, need to reorder the mask, not
the scalars, to prevent compiler crash due to mask/scalars size
mismatch.
Fixes #131360
Commit: a862b6deae987d7932470a57586f30bdeb3c7e54
https://github.com/llvm/llvm-project/commit/a862b6deae987d7932470a57586f30bdeb3c7e54
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/test/Fir/CUDA/cuda-code-gen.mlir
Log Message:
-----------
[flang][cuda] Lower shared global to the correct NVVM address space (#131368)
Global with the CUDA shared data attribute needs to be lowered to llvm
globals with the correct address space (3). Address space is set from
the `mlir::NVVM::NVVMMemorySpace::kSharedMemorySpace` enum from
`mlir/Dialect/LLVMIR/NVVMDialect.h`
Commit: 471f034b1cdaaa7748719efb848684e5d2c6b923
https://github.com/llvm/llvm-project/commit/471f034b1cdaaa7748719efb848684e5d2c6b923
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy][NFC] clean ReleaseNotes.rst (#130626)
1. Fixed ordering to be alphabetical
2. Made lines no more than 80 characters long
3. Fixed typos
Commit: 4818623924a6846d17196a149b633b6bc3316b83
https://github.com/llvm/llvm-project/commit/4818623924a6846d17196a149b633b6bc3316b83
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/test/Fir/cuf.mlir
Log Message:
-----------
[flang][cuda] Add cuf.shared_memory operation (#131392)
Introduce `cuf.shared_memory` operation. The operation is used to get
the pointer in shared memory for a specific variable. The shared memory
is materialized as a global in address space 3 and the different
variables are pointing to it at different offset.
Follow up patches will add lowering and conversion of this operation.
Commit: 89889149cd21bb70c9a545fc18c1bfc1467b1b04
https://github.com/llvm/llvm-project/commit/89889149cd21bb70c9a545fc18c1bfc1467b1b04
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M lld/MachO/ICF.cpp
Log Message:
-----------
[lld-macho] Improve ICF thunk folding logic (#131186)
Refactor to add some early return logic to `applySafeThunksToRange` so
that we completely skip irrelevant ranges.
Also add a check for `isCodeSection` to ensure we only apply branch
thunks to code section (they don't make sense for anything else).
Currently this isn't an issue since there are no `keepUnique` non-code
sections - but this is not a hard restriction and may be implemented in
the future, so we should be able to handle (i.e. avoid) this scenario.
Commit: bf6357f0f51eccc48b92a130afb51c0280d56180
https://github.com/llvm/llvm-project/commit/bf6357f0f51eccc48b92a130afb51c0280d56180
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
A llvm/test/Transforms/LoopIdiom/strlen.ll
A llvm/test/Transforms/LoopIdiom/wcslen16.ll
A llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
[Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)
This PR continues the effort made in
https://discourse.llvm.org/t/rfc-strlen-loop-idiom-recognition-folding/55848
and https://reviews.llvm.org/D83392 and https://reviews.llvm.org/D88460
to extend `LoopIdiomRecognize` to find and replace loops of the form
```c
base = str;
while (*str)
++str;
```
and transforming the `strlen` loop idiom into the appropriate `strlen`
and `wcslen` library call which will give a small performance boost if
replaced.
```c
str = base + strlen(base)
len = str - base
```
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 5b2a8819fbe0966b740cc0d9c73591b6d2c9d20f
https://github.com/llvm/llvm-project/commit/5b2a8819fbe0966b740cc0d9c73591b6d2c9d20f
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
R llvm/test/Transforms/LoopIdiom/strlen.ll
R llvm/test/Transforms/LoopIdiom/wcslen16.ll
R llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
Revert "[Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)" (#131405)
This reverts commit bf6357f0f51eccc48b92a130afb51c0280d56180.
Commit: c8b8415b1af12d2a67b523ed3d005d296fb97144
https://github.com/llvm/llvm-project/commit/c8b8415b1af12d2a67b523ed3d005d296fb97144
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang-rt/lib/cuda/CMakeLists.txt
Log Message:
-----------
[flang-rt] Install flang_rt.cuda with the toolchain. (#131373)
Commit: b4f5dcc65a362a1600a25924c1e55dde49c50a0c
https://github.com/llvm/llvm-project/commit/b4f5dcc65a362a1600a25924c1e55dde49c50a0c
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Reword the description in package.json
Match the description of the Visual Studio Code extension with the
wording used by popular/official extensions. Most extension spell out
"Visual Studio Code" and use "in" instead of "from".
Commit: f326036767aaa179daedbdb62b10ad6ddea18e37
https://github.com/llvm/llvm-project/commit/f326036767aaa179daedbdb62b10ad6ddea18e37
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/support.cpp
M flang-rt/unittests/Runtime/Support.cpp
Log Message:
-----------
[flang-rt] Added IsContiguousUpTo runtime function. (#131048)
I want to be able to check if the storage is contiguous
in the innermost dimension, so I decided to add an entry point
that takes `dim` as the number of leading dimensions to check.
It seems that a runtime call might result in less code size
even when `dim` is 1, so here it is.
For opt-for-speed I am going to inline it in FIR.
Depends on #131047.
Commit: b7852939b59231181f98d60d3bbb9b5273019f66
https://github.com/llvm/llvm-project/commit/b7852939b59231181f98d60d3bbb9b5273019f66
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[NFC][AMDGPU] Replace multiple calls to `MI.getOpcode()` with `Opcode` (#131400)
Commit: 29a000023caf5b0b02a5d8b517d03f9538e2885e
https://github.com/llvm/llvm-project/commit/29a000023caf5b0b02a5d8b517d03f9538e2885e
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/invalid.mlir
A mlir/test/Dialect/LLVMIR/module-roundtrip.mlir
A mlir/test/Target/LLVMIR/Import/module-flags.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/mlir-translate/split-markers.mlir
Log Message:
-----------
[MLIR][LLVMIR] Add module flags support (#130679)
Import and translation support.
Note that existing support (prior to this PR) already covers enough in
translation specifically to emit "Debug Info Version". Also, the debug
info version metadata is being emitted even though the imported IR has
no information and is showing up in some tests (will fix that in another
PR).
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Commit: 5265412c13b4581e55e5d419f39a2206139b30c6
https://github.com/llvm/llvm-project/commit/5265412c13b4581e55e5d419f39a2206139b30c6
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Import.h
M mlir/include/mlir/Target/LLVMIR/LLVMImportInterface.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/intrinsic-prefer-unregistered.ll
Log Message:
-----------
[MLIR][LLVMIR] Import: add flag to prefer using unregistered intrinsics (#130685)
Currently, there is no common mechanism for supported intrinsics to be
generically annotated with arg and ret attributes. Since there are many
supported intrinsics around different dialects, the amount of work to
teach all them about these attributes is not trivial (though it would be
nice in the long term).
This PR adds a new flag `-prefer-unregistered-intrinsics` that can be
used alongside `--import-llvm` to always use `llvm.intrinsic_call`
during import time (ignoring dialect hooks for custom intrinsic
support).
Using this flag allow us to roundtrip the LLVM IR while eliminating a
whole set of differences coming from lack of arg/ret attributes on
supported intrinsics.
Note `convertIntrinsic` has to be moved to an implementation file
because it queries into `moduleImport` state, which is a fwd declaration
in `LLVMImportInterface.h`
Commit: d52ec1e9ddc630ed6567017e72ad98657a6b5e40
https://github.com/llvm/llvm-project/commit/d52ec1e9ddc630ed6567017e72ad98657a6b5e40
Author: Bangtian Liu <liubangtian at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M mlir/tools/mlir-linalg-ods-gen/mlir-linalg-ods-yaml-gen.cpp
Log Message:
-----------
[MLIR][NFC] fix msvc debug build errors (#131393)
We found the build broken using msvc debug build as below:
```
C:\Users\bangtliu\iree\third_party\llvm-project\llvm\include\llvm/ADT/SmallVector.h(1162): error C2338: static_assert failed: 'You are trying to use a default number of inlined elements for `SmallVector<T>` but `sizeof(T)` is really big! Please use an explicit number of inlined elements with `SmallVector<T, N>` to make sure you really want that much inline storage.'
C:\Users\bangtliu\iree\third_party\llvm-project\llvm\include\llvm/ADT/SmallVector.h(1162): note: the template instantiation context (the oldest one first) is
C:\Users\bangtliu\iree\third_party\llvm-project\llvm\include\llvm/ADT/SmallVector.h(1194): note: see reference to class template instantiation 'llvm::CalculateSmallVectorDefaultInlinedElements<T>' being compiled
with
[
T=`anonymous-namespace'::LinalgOperandDef
]
C:\Users\bangtliu\iree\third_party\llvm-project\mlir\tools\mlir-linalg-ods-gen\mlir-linalg-ods-yaml-gen.cpp(120): error C2976: 'llvm::SmallVector': too few template arguments
C:\Users\bangtliu\iree\third_party\llvm-project\llvm\include\llvm/ADT/SmallVector.h(1195): note: see declaration of 'llvm::SmallVector'
[862/7776] Building CXX object llvm-project\lib\DebugInfo\DWARF\CMakeFiles\LLVMDebugInfoDWARF.dir\DWARFDebugLine.cpp.obj
ninja: build stopped: subcommand failed.
```
This PR is added to address this error.
Commit: bac21719a8a9b766a6d7bc3118e69b9ac35ea00f
https://github.com/llvm/llvm-project/commit/bac21719a8a9b766a6d7bc3118e69b9ac35ea00f
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
Log Message:
-----------
[BOLT] Pass unfiltered relocations to disassembler. NFCI (#131202)
Instead of filtering and modifying relocations in readRelocations(),
preserve the relocation info and use it in the symbolizing disassembler.
This change mostly affects AArch64, where we need to look at original
linker relocations in order to properly symbolize instruction operands.
Commit: 4b1b629d60343ca82dc7f82137c1334c85411701
https://github.com/llvm/llvm-project/commit/4b1b629d60343ca82dc7f82137c1334c85411701
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp:128:20: error:
unused variable 'SymbolPageAddr' [-Werror,-Wunused-variable]
Commit: 4fb20b85fd8157d7fac2456828c639092970b54e
https://github.com/llvm/llvm-project/commit/4fb20b85fd8157d7fac2456828c639092970b54e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
A flang/test/Fir/CUDA/cuda-shared-offset.mlir
Log Message:
-----------
[flang][cuda] Compute offset on cuf.shared_memory ops (#131395)
Add a pass to compute the size of the shared memory (static shared
memory) and the offsets of each variables to be placed in shared memory.
The global representing the shared memory is also created during this
pass.
In case of dynamic shared memory, the global as a type of
`!fir.array<0xi8>` and the size of the memory is set at kernel launch.
Commit: e86081b6c275cdbf5b83cb9a865ce6c4d713215e
https://github.com/llvm/llvm-project/commit/e86081b6c275cdbf5b83cb9a865ce6c4d713215e
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
A flang/test/Fir/CUDA/cuda-shared-to-llvm.mlir
Log Message:
-----------
[flang][cuda] Convert cuf.shared_memory operation to LLVM ops (#131396)
Convert the operation to `llvm.addressof` operation with
`llvm.getelementptr` with the appropriate offset.
Commit: bb694998d2f2aacc0f35384de60c82c78839b231
https://github.com/llvm/llvm-project/commit/bb694998d2f2aacc0f35384de60c82c78839b231
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
A libc/config/uefi/config.json
A libc/config/uefi/entrypoints.txt
A libc/config/uefi/headers.txt
M libc/include/Uefi.yaml
M libc/src/__support/OSUtil/io.h
A libc/src/__support/OSUtil/uefi/CMakeLists.txt
A libc/src/__support/OSUtil/uefi/exit.cpp
A libc/src/__support/OSUtil/uefi/io.cpp
A libc/src/__support/OSUtil/uefi/io.h
M libc/utils/hdrgen/hdrgen/header.py
Log Message:
-----------
[libc] init uefi (#131246)
Initial UEFI OS target support after the headers. This just defines
enough that stuff might try and compile. Test with:
```
$ cmake -S llvm -B build -G Ninja -DLLVM_RUNTIME_TARGETS=x86_64-unknown-uefi-llvm -DRUNTIMES_x86_64-unknown-uefi-llvm_LLVM_ENABLE_RUNTIMES=libc -DRUNTIMES_x86_64-unknown-uefi-llvm_LLVM_LIBC_FULL_BUILD=true -DCMAKE_C_COMPILER_WORKS=true -DCMAKE_CXX_COMPILER_WORKS=true -DLLVM_ENABLE_PROJECTS="clang;lld" -DCMAKE_BUILD_TYPE=Debug -DLLVM_ENABLE_LIBCXX=true -DLLVM_HOST_TRIPLE=aarch64-unknown-linux-gnu -DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-unknown-uefi-llvm -DCMAKE_INSTALL_LIBDIR=build/target/lib
$ ninja -C build
```
Commit: 221bc55806db19974537ec59cffb66222902b51e
https://github.com/llvm/llvm-project/commit/221bc55806db19974537ec59cffb66222902b51e
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-14 (Fri, 14 Mar 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/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:
-----------
Move AVR-specific MCSymbolRefExpr::VariantKind to AVRMCExpr
Note: AVR uses both VK_None and VK_AVR_NONE, which look strange.
Commit: a3ce1cc3b0ea307157580fbf1a59fe4615caec71
https://github.com/llvm/llvm-project/commit/a3ce1cc3b0ea307157580fbf1a59fe4615caec71
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
Log Message:
-----------
[MC] Remove unused VK_AVR_*
Commit: b034905c821884c59a8d882a1714b7a06bbbf6f3
https://github.com/llvm/llvm-project/commit/b034905c821884c59a8d882a1714b7a06bbbf6f3
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Analysis/CtxProfAnalysis/flatten-and-annotate.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-check-path.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-icp.ll
M llvm/test/Analysis/CtxProfAnalysis/flatten-zero-path.ll
M llvm/test/Analysis/CtxProfAnalysis/full-cycle.ll
M llvm/test/Analysis/CtxProfAnalysis/handle-select.ll
M llvm/test/Analysis/CtxProfAnalysis/inline.ll
M llvm/test/Analysis/CtxProfAnalysis/load-unapplicable.ll
M llvm/test/Analysis/CtxProfAnalysis/load.ll
M llvm/test/ThinLTO/X86/ctxprof.ll
M llvm/test/Transforms/EliminateAvailableExternally/transform-to-local.ll
A llvm/test/tools/llvm-ctxprof-util/Inputs/invalid-no-entrycount.yaml
M llvm/test/tools/llvm-ctxprof-util/Inputs/valid-ctx-only.yaml
M llvm/test/tools/llvm-ctxprof-util/Inputs/valid-flat-first.yaml
M llvm/test/tools/llvm-ctxprof-util/Inputs/valid.yaml
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util-negative.test
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
M llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp
Log Message:
-----------
[ctxprof] Capture sampling info for context roots (#131201)
When we collect a contextual profile, we sample the threads entering its root and only collect on one at a time (see `ContextRoot::Taken`). If we want to compare profiles between contextual profiles, and/or flat profiles, we have a problem: we don't know how to compare the counter values relative to each other. To that end, we add `ContextRoot::TotalEntries`, which is incremented every time a root is entered and serves as multiplier for the counter values collected under that root.
We expose this in the profile and leave the normalization to the user of the profile, for a few reasons:
* it's only needed if reasoning about all profiles in aggregate.
* the goal, in compiler_rt, is to flush out the profile as quickly as possible, and performing multiplications adds an overhead that may not even be necessary if the consumer of the profile doesn't care about combining profiles
* the information itself may be interesting as an indication of relative sampling of various contexts.
Commit: a4976ca6749800765048d75a4868255403c96d2b
https://github.com/llvm/llvm-project/commit/a4976ca6749800765048d75a4868255403c96d2b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonMCInstLower.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
Log Message:
-----------
Move Hexagon-specific MCSymbolRefExpr::VariantKind to HexagonMCExpr
In the future, should try storing the relocation operator in
MCTargetExpr and refactor the ELF writer to use MCValue::RefKind,
similar to AArch64MCExpr.
Also add a MCSymbolRefExpr::create overload that takes an uint16_t
argument to help port code.
Commit: e642ed8b4ac70264454d7e0a8bec787c4f2b435a
https://github.com/llvm/llvm-project/commit/e642ed8b4ac70264454d7e0a8bec787c4f2b435a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
Log Message:
-----------
[AVR] Remove initializeVariantKinds
AVR doesn't use @reloc or ARM-style sym(reloc) supported by
AsmParser.cpp. Instead, AVRAsmParser parses the operator (e.g.
pm_lo8(...))
Commit: 215c47e4d3b26b780c7019c050bcae874ca2084d
https://github.com/llvm/llvm-project/commit/215c47e4d3b26b780c7019c050bcae874ca2084d
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Missing test update post #131201 (#131428)
Commit: 1762f16f6cc497255b5ba4e68372717db0448112
https://github.com/llvm/llvm-project/commit/1762f16f6cc497255b5ba4e68372717db0448112
Author: Iris <0.0 at owo.li>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/div-shift.ll
M llvm/test/Transforms/InstCombine/intrinsic-distributive.ll
A llvm/test/Transforms/InstCombine/shift-uminmax.ll
Log Message:
-----------
[InstCombine] Fold `umax/umin(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umax/umin(x, y))` and `umax/umin(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umax/umin(x, y), z)` (#131076)
- Closes #129947
This PR introduces the following transformations:
1. `umax(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umax(x, y))`
2. `umin(nuw_shl(z, x), nuw_shl(z, y)) -> nuw_shl(z, umin(x, y))`
3. `umax(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umax(x, y),z)`
4. `umin(nuw_shl(x, z), nuw_shl(y, z)) -> nuw_shl(umin(x, y),z)`
Alive2 live proof:
- https://alive2.llvm.org/ce/z/6bM-p7 for 1 and 2
- https://alive2.llvm.org/ce/z/aqLRYA and
https://alive2.llvm.org/ce/z/twoVhb for 3 and 4 repectively
Commit: aead088f02b9452ac151a77e05228ad9458a6eb5
https://github.com/llvm/llvm-project/commit/aead088f02b9452ac151a77e05228ad9458a6eb5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-14 (Fri, 14 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#131419)
Commit: 2ada0c1e6163502a8b3fd6485c290eca26ce8748
https://github.com/llvm/llvm-project/commit/2ada0c1e6163502a8b3fd6485c290eca26ce8748
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
Log Message:
-----------
[AArch64] Move fixELFSymbolsInTLSFixups to getRelocType
fixELFSymbolsInTLSFixups walks the expression tree, which is complex and
unnecessary. As the expression must be relocatable, we can move the code
to getRelocType and just set SymA.
Commit: 720730041deeb522177efe2e8c1d18c260edeb02
https://github.com/llvm/llvm-project/commit/720730041deeb522177efe2e8c1d18c260edeb02
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
M llvm/lib/Target/NVPTX/NVPTXMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
Log Message:
-----------
[MC] Remove empty fixELFSymbolsInTLSFixups overrides
Follow-up to 2ada0c1e6163502a8b3fd6485c290eca26ce8748
Commit: 6c66cda40d7c9622e08a986411d47638abbead59
https://github.com/llvm/llvm-project/commit/6c66cda40d7c9622e08a986411d47638abbead59
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AntiDepBreaker.h
Log Message:
-----------
[AntiDepBreaker] Use MCRegister. NFC
This matches the type passed by AggresssiveAntiDepBreaker and
CriticalAntiDepBreaker.
Commit: 3b5413c77fd5ce2488e3f45c1ba967e3d3dfa2c8
https://github.com/llvm/llvm-project/commit/3b5413c77fd5ce2488e3f45c1ba967e3d3dfa2c8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
Log Message:
-----------
[CodeGen] Use MCRegister in DbgVariableLocation. NFC
Commit: 254951749febef42620242fd22dfba62f624f79f
https://github.com/llvm/llvm-project/commit/254951749febef42620242fd22dfba62f624f79f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/test/CodeGen/X86/apx/ctest.ll
Log Message:
-----------
[X86][APX] Remove the EFLAGS def operand rather than the last one (#131430)
The last one may be an implict use, e.g.,
`IDIV32r %4:gr32, implicit-def dead $eax, implicit-def $edx,
implicit-def dead $eflags, implicit $eax, implicit $edx`
https://godbolt.org/z/KPKzj5c8K
Commit: 94dc397c7e1a87cc1023c7f70aa444ce5fa422a1
https://github.com/llvm/llvm-project/commit/94dc397c7e1a87cc1023c7f70aa444ce5fa422a1
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependencies for fd24805c8e67c921991e82463bdc23563caf744e
Commit: 6a030b300547233dc5fb023a893737fa75bf60dc
https://github.com/llvm/llvm-project/commit/6a030b300547233dc5fb023a893737fa75bf60dc
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[VPlan] Remove unused VPlanIngredient (NFC).
VPlanIngredient is not used anymore, remove it.
Commit: 1e6ba3cd2fe96be00b6ed6ba28b3d9f9271d784d
https://github.com/llvm/llvm-project/commit/1e6ba3cd2fe96be00b6ed6ba28b3d9f9271d784d
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Remove now unused FindDebugInfoToIdentityMap (#129151)
Summary:
This function is no longer needed.
Test Plan:
ninja check-llvm-unit
Commit: 5cc2ae0b519065c39df124d46de1ba75d4b144eb
https://github.com/llvm/llvm-project/commit/5cc2ae0b519065c39df124d46de1ba75d4b144eb
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
Log Message:
-----------
[libc++][test] Skip a `is_virtual_base_of` test for apple-clang-17 (#131438)
It seems that Apple Clang 17 starts to be used for CI, while it hasn't
supported `__builtin_is_virtual_base_of` yet. And thus we need to skip
the test for `is_virtual_base_of`.
Follows up #131302.
Commit: d781ac1cf0d561b79f6ff834d786c6a999429901
https://github.com/llvm/llvm-project/commit/d781ac1cf0d561b79f6ff834d786c6a999429901
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Basic/Builtins.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/__stdarg_va_arg.h
M clang/lib/Sema/SemaChecking.cpp
M clang/test/C/C23/n2975.c
M clang/test/CodeGen/varargs.c
A clang/test/Sema/c23-varargs.c
Log Message:
-----------
[C23] Add __builtin_c23_va_start (#131166)
This builtin is supported by GCC and is a way to improve diagnostic
behavior for va_start in C23 mode. C23 no longer requires a second
argument to the va_start macro in support of variadic functions with no
leading parameters. However, we still want to diagnose passing more than
two arguments, or diagnose when passing something other than the last
parameter in the variadic function.
This also updates the freestanding <stdarg.h> header to use the new
builtin, same as how GCC works.
Fixes #124031
Commit: 65e68a30787d7ce2bf5a9e695dd03944137c5287
https://github.com/llvm/llvm-project/commit/65e68a30787d7ce2bf5a9e695dd03944137c5287
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
A lldb/test/API/commands/dwim-print/objc/Makefile
A lldb/test/API/commands/dwim-print/objc/TestDWIMPrintObjC.py
A lldb/test/API/commands/dwim-print/objc/main.m
Log Message:
-----------
[lldb] Update dwim-print to show expanded objc instances (#117500)
When printing an ObjC object, which is a pointer, lldb has handled it
the same way it treats any other pointer – printing only class name and
pointer address. The object is not expanded, its children are not shown.
This change updates `dwim-print` to print objc pointers by expanding (ie
dereferencing), with the assumption that it's what the user wants.
Note that this is currently possible using the `--ptr-depth`/`-P` flag.
With this change, when `dwim-print` prints root level objc objects, it's
the same effect as using `--ptr-depth 1`.
Commit: f83726e6add0c0e3850333a57cbb24d5071eee24
https://github.com/llvm/llvm-project/commit/f83726e6add0c0e3850333a57cbb24d5071eee24
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-no-counters.c
M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging-windows.c
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/reset-default-profile.c
M compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
M compiler-rt/test/profile/lit.cfg.py
Log Message:
-----------
[profile] Use fprofile-continuous in compiler-rt tests (#126617)
PR #124353 introduced the clang option `-fprofile-continuous` to enable
continuous mode. Use this option in all compiler-rt tests, where applicable.
Changes can be summarized as follows:
1) tests that use `-fprofile-instr-generate` (`%clang_profgen`), which
is an option that takes profile file name, are changed like so:
```
-// RUN: %clang_profgen_cont <SOME-OPTIONS> -o %t.exe %s
-// RUN: env LLVM_PROFILE_FILE="%c%t.profraw" %run %t.exe
+// RUN: %clang_profgen=%t.profraw -fprofile-continuous <SOME-OPTIONS> -o %t.exe %s
+// RUN: %run %t.exe
```
2) tests that use `-fprofile-generate` (`%clang_pgogen`), which is an
option that takes a profile directory, are on case-by-case basis. Where
the default name "default_%m.profraw" works, those tests were changed to
use `%clang_pgogen=<dir>`, and the rest (`set-filename.c` and
`get-filename.c`) continued to use the `LLVM_PROFILE_FILE` environment
variable .
3) `set-file-object.c` uses different filename for different run of the
same executable, so it continued to use the `LLVM_PROFILE_FILE`
environment variable.
4) `pid-substitution.c` add a clang_profgen variation.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 4230858a52abcd165dc52edd194f18cef436cbf3
https://github.com/llvm/llvm-project/commit/4230858a52abcd165dc52edd194f18cef436cbf3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
Log Message:
-----------
[ARM] Avoid repeated map lookups (NFC) (#131420)
Commit: 03205121d264acd0661b57a14dcf323343daa3ad
https://github.com/llvm/llvm-project/commit/03205121d264acd0661b57a14dcf323343daa3ad
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#131421)
Commit: 6a1fd24e9ac0835944eb392a3627c5c636671525
https://github.com/llvm/llvm-project/commit/6a1fd24e9ac0835944eb392a3627c5c636671525
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#131422)
Commit: d1700cdbf2740b65ccdeefe0fff4837977c8e6a6
https://github.com/llvm/llvm-project/commit/d1700cdbf2740b65ccdeefe0fff4837977c8e6a6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#131423)
Commit: 5bc8db884e3a8b9375196fce3add5b50f21cfda4
https://github.com/llvm/llvm-project/commit/5bc8db884e3a8b9375196fce3add5b50f21cfda4
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M libcxx/include/__utility/exception_guard.h
Log Message:
-----------
[libc++][NFC] fix exception_guard include guard name (#131370)
Commit: fc17114ac00d55b0e381d4e70e6f0bc2d0c5cc43
https://github.com/llvm/llvm-project/commit/fc17114ac00d55b0e381d4e70e6f0bc2d0c5cc43
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/Cloning.h
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Remove now unused CollectDebugInfoForCloning (#129152)
Summary:
This function is no longer used, let's remove it from the header and
impl.
Test Plan:
ninja check-llvm-unit
Commit: 86ae25d2be59d57b3d215de03ee685c39e509c9f
https://github.com/llvm/llvm-project/commit/86ae25d2be59d57b3d215de03ee685c39e509c9f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[CodeGen][X86] Use Register in TTI unfoldMemoryOperand interface. NFC
Commit: 7af3d3929e8523cad144ea94551328ce103f9d68
https://github.com/llvm/llvm-project/commit/7af3d3929e8523cad144ea94551328ce103f9d68
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
A llvm/test/CodeGen/SystemZ/vec-reduce-cmp.ll
Log Message:
-----------
[SystemZ] Optimize vector comparison reductions
Generate efficient code using the condition code set by the
VECTOR (FP) COMPARE family of instructions to implement
vector comparison reductions, e.g. as resulting from
__builtin_reduce_and/or of some vector comparsion.
Fixes: https://github.com/llvm/llvm-project/issues/129434
Commit: cdc786498650c028c9c8ce23dfbff81bf2780d14
https://github.com/llvm/llvm-project/commit/cdc786498650c028c9c8ce23dfbff81bf2780d14
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/test/CodeGen/SystemZ/int-mul-16.ll
A llvm/test/CodeGen/SystemZ/vec-mul-07.ll
A llvm/test/CodeGen/SystemZ/vec-mul-08.ll
A llvm/test/CodeGen/SystemZ/vec-mul-09.ll
A llvm/test/CodeGen/SystemZ/vec-mul-10.ll
A llvm/test/CodeGen/SystemZ/vec-mul-11.ll
A llvm/test/CodeGen/SystemZ/vec-mul-12.ll
A llvm/test/CodeGen/SystemZ/vec-mul-13.ll
A llvm/test/CodeGen/SystemZ/vec-mul-14.ll
Log Message:
-----------
[SystemZ] Optimize widening and high-word vector multiplication
Detect (non-intrinsic) IR patterns corresponding to the semantics
of the various widening and high-word multiplication instructions.
Specifically, this is done by:
- Recognizing even/odd widening multiplication patterns in DAGCombine
- Recognizing widening multiply-and-add on top during ISel
- Implementing the standard MULHS/MUHLU IR opcodes
- Detecting high-word multiply-and-add (which common code does not)
Depending on architecture level, this can support all integer
vector types as well as the scalar i128 type.
Fixes: https://github.com/llvm/llvm-project/issues/129705
Commit: 4a4987be360ac7e4caad65bed54de4ed1d9342ed
https://github.com/llvm/llvm-project/commit/4a4987be360ac7e4caad65bed54de4ed1d9342ed
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/vec-cmp-cmp-logic-select.ll
M llvm/test/CodeGen/SystemZ/vec-cmpsel.ll
M llvm/test/CodeGen/SystemZ/vec-move-23.ll
M llvm/test/CodeGen/SystemZ/vec-shift-07.ll
A llvm/test/CodeGen/SystemZ/vec-unpack-01.ll
A llvm/test/CodeGen/SystemZ/vec-unpack-02.ll
A llvm/test/CodeGen/SystemZ/vec-unpack-03.ll
A llvm/test/CodeGen/SystemZ/vec-unpack-04.ll
Log Message:
-----------
[SystemZ] Optimize vector zero/sign extensions
Generate more efficient code for zero or sign extensions where
the source is a subvector generated via SHUFFLE_VECTOR.
Specifically, recognize patterns corresponding to (series of)
VECTOR UNPACK instructions, or the VECTOR SIGN EXTEND TO
DOUBLEWORD instruction.
As a special case, also handle zero or sign extensions of a
vector element to i128.
Fixes: https://github.com/llvm/llvm-project/issues/129576
Fixes: https://github.com/llvm/llvm-project/issues/129899
Commit: 4155cc0fb3198b1aa4b8e6601980f418c0428cf7
https://github.com/llvm/llvm-project/commit/4155cc0fb3198b1aa4b8e6601980f418c0428cf7
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
A llvm/test/CodeGen/SystemZ/int-cmp-65.ll
A llvm/test/CodeGen/SystemZ/vec-cmp-10.ll
Log Message:
-----------
[SystemZ] Recognize carry/borrow computation
Generate code using the VECTOR ADD COMPUTE CARRY and
VECTOR SUBTRACT COMPUTE BORROW INDICATION instructions
to implement open-coded IR with those semantics.
Handles integer vector types as well as i128.
Fixes: https://github.com/llvm/llvm-project/issues/129608
Commit: f4ea1055ad574e0e17fe19662a8c8bcf17e64bfe
https://github.com/llvm/llvm-project/commit/f4ea1055ad574e0e17fe19662a8c8bcf17e64bfe
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/lib/Target/SystemZ/SystemZOperators.td
M llvm/test/CodeGen/SystemZ/rot-03.ll
M llvm/test/CodeGen/SystemZ/shift-16.ll
A llvm/test/CodeGen/SystemZ/shift-17.ll
M llvm/test/CodeGen/SystemZ/store_nonbytesized_vecs.ll
Log Message:
-----------
[SystemZ] Implement i128 funnel shifts
These can be handled via the VECTOR SHIFT LEFT/RIGHT DOUBLE
family of instructions, depending on architecture level.
Fixes: https://github.com/llvm/llvm-project/issues/129955
Commit: 911953a2e40845cc341f80dfb7689e7a375455b1
https://github.com/llvm/llvm-project/commit/911953a2e40845cc341f80dfb7689e7a375455b1
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
[Sparc] Move fixELFSymbolsInTLSFixups to getRelocType
fixELFSymbolsInTLSFixups walks the expression tree, which is complex and
unnecessary. As the expression must be relocatable, we can move the code
to getRelocType and just set SymA. The behavior is similar to GNU
assembler.
__tls_get_addr registery (https://reviews.llvm.org/D43271) is unnecessary
now. SparcMCExpr::visitUsedExpr registers the symbol.
Commit: 6c2f8476e7e7c655071c5510955c3042d71b670c
https://github.com/llvm/llvm-project/commit/6c2f8476e7e7c655071c5510955c3042d71b670c
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalizer.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: Add 1:N support to `remapInput` (#131454)
This commit adds 1:N support to `SignatureConversion::remapInputs`. This
API allows users to replace a block argument with multiple replacement
values. (And the block argument is dropped.) The API already supported
"bbarg --> multiple bbargs" mappings, but "bbarg --> multiple SSA
values" was missing.
---------
Co-authored-by: Markus Böck <markus.boeck02 at gmail.com>
Commit: 8ff27bbd8449bbb8619b1539c5edd3be203d9d31
https://github.com/llvm/llvm-project/commit/8ff27bbd8449bbb8619b1539c5edd3be203d9d31
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove unneeded select in VPWidenPointerInductionRecipe (NFC).
Commit: a1a29c3cb32a3b3e01b5b29c8d1d9ddbcee908ed
https://github.com/llvm/llvm-project/commit/a1a29c3cb32a3b3e01b5b29c8d1d9ddbcee908ed
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
[Mips] Move fixELFSymbolsInTLSFixups to getRelocType
fixELFSymbolsInTLSFixups walks the expression tree, which is complex and
unnecessary. As the expression must be relocatable, we can move the code
to getRelocType and just set SymA. The behavior is similar to GNU
assembler.
Commit: 5ae8f25dcc89dcd0238a6e38e63bffe67eeaabb8
https://github.com/llvm/llvm-project/commit/5ae8f25dcc89dcd0238a6e38e63bffe67eeaabb8
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
[RISCV] Move fixELFSymbolsInTLSFixups to getRelocType
fixELFSymbolsInTLSFixups walks the expression tree, which is complex and
unnecessary. As the expression must be relocatable, we can move the code
to getRelocType and just set SymA. The behavior is similar to GNU
assembler.
Commit: 56b05a0d6ba6d6c3dd4fa6e8d520861331a79e3f
https://github.com/llvm/llvm-project/commit/56b05a0d6ba6d6c3dd4fa6e8d520861331a79e3f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
Log Message:
-----------
[VPlan] Use VFxUF in VPWidenPointerInductionRecipe.
Use VFxUF VPValue instead of computing VF * UF explicitly.
Commit: 5f449b9a5dae35afc88c825a0703e348f47e5875
https://github.com/llvm/llvm-project/commit/5f449b9a5dae35afc88c825a0703e348f47e5875
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/test/MC/RISCV/hilo-constaddr-expr.s
Log Message:
-----------
[RISCV] Allow RISCVMCExpr folding in the absence of linker relaxaxation
In the AArch64 target, `bar: add x0, x0, :lo12:foo-bar; foo:`
can be folded.
Remove the restriction (https://reviews.llvm.org/D104473), which became
unnecessary after https://reviews.llvm.org/D155357
Commit: 37a57ca257c18ee7c3d8f4afae39aac7803e2bb7
https://github.com/llvm/llvm-project/commit/37a57ca257c18ee7c3d8f4afae39aac7803e2bb7
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/FMF.h
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[FMF] Set all bits if needed when setting individual flags. (#131321)
Currently fast() won't return true if all flags are set via setXXX,
which is surprising. Update setters to set all bits if needed to make
sure isFast() consistently returns the expected result.
PR: https://github.com/llvm/llvm-project/pull/131321
Commit: 316811060775f3d6284b5bb21cf7ea727fc2254d
https://github.com/llvm/llvm-project/commit/316811060775f3d6284b5bb21cf7ea727fc2254d
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/test/Instrumentation/AddressSanitizer/AMDGPU/asan_instrument_mem_intrinsics.ll
A llvm/test/Instrumentation/AddressSanitizer/remove-memory-effects.ll
Log Message:
-----------
[AddressSanitizer] Remove memory effects from functions (#130495)
If left as-is, subsequent optimizations might utilize the possible
memory effects and optimize-out the instrumentation. Think of the
following case:
```
store i8 4, ptr %shadow
call void @llvm.lifetime.start.p0(i64 4, ptr %local)
%28 = call void @foo(ptr %local)
store i8 -8, ptr %shadow
call void @llvm.lifetime.end.p0(i64 4, ptr %local)
```
where `foo` is an external function with `memory(argmem: write)`. A pass
such as DeadStoreElimination is allowed to remove the initial store,
which might fail sanitizer checks within `foo`.
My first attempt was to add a `memory(readwrite)` at the call-site
level, but unfortunately the current implementation of
`getMemoryEffects` doesn't exactly give it "precedence" as specified,
but rather restricts the access specified by the call-site and not the
other way around as well.
Commit: fc6fd6a2f119c4d2666e0cb499c59068f39944e2
https://github.com/llvm/llvm-project/commit/fc6fd6a2f119c4d2666e0cb499c59068f39944e2
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Clean up comments in CloneFunctionInto (#129153)
Summary:
Some comments no longer make sense nor refer to an existing code path.
Test Plan:
ninja check-llvm-unit
Commit: 8560da28c69de481f3ad147722577e87b902facb
https://github.com/llvm/llvm-project/commit/8560da28c69de481f3ad147722577e87b902facb
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
Log Message:
-----------
[PowerPC] Simplify PPCMCExpr::evaluateAsRelocatableImpl
The signedness of the @l result is dependent on the instruction operand
(gas behavior).
E.g. in `addis 3,3,65535 at l`, 65535 at l is signed. Unfortunately
we don't have the information.
bfef1dd694d4c646f79521fa3258bbb2398a990c (2014) checked `Fixup`,
which was unnecessary and mislead https://reviews.llvm.org/D115419
to make the code more complex.
In PPCMCExpr::evaluateAsRelocatableImpl we don't need to validate the
result. Just continue and rely on the validation in ELFObjectWriter.
Commit: 7c26407a20b568ff13068e3ef9108f75e53e3247
https://github.com/llvm/llvm-project/commit/7c26407a20b568ff13068e3ef9108f75e53e3247
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
M lld/test/COFF/arm64x-altnames.s
M lld/test/COFF/arm64x-incl.s
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/locally-imported-arm64x.s
Log Message:
-----------
[LLD][COFF] Clarify EC vs. native symbols in diagnostics on ARM64X (#130857)
On ARM64X, symbol names alone are ambiguous as they may refer to either
a native or an EC symbol. Append '(EC symbol)' or '(native symbol)' in
diagnostic messages to distinguish them.
Commit: 6616acd80cd91a0075e3cd481bb9a6d82fd4ea9e
https://github.com/llvm/llvm-project/commit/6616acd80cd91a0075e3cd481bb9a6d82fd4ea9e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M .github/workflows/docs.yml
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Change to step-security fork of changed actions
The tj-actions/changed-files repo has been taken down to the security
incident
(https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised).
This patch moves these jobs over step-security's fork, which has been
loosely audited and has had the malicious commits removed. This is
mainly intended as a stop-gap to get these actions running again while
we figure out the best path forward.
Commit: aadfa9f6c8722d45154b4c7f5d9f91daf78ef9fa
https://github.com/llvm/llvm-project/commit/aadfa9f6c8722d45154b4c7f5d9f91daf78ef9fa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
A llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory-gaps.ll
A llvm/test/Transforms/LoopVectorize/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[LV] Add additional tests for narrowing interleave groups.
Extend test coverage for https://github.com/llvm/llvm-project/pull/106441.
Commit: 9a1e39062b2ab445f1f4424ecdc5ffb46e8cb9e0
https://github.com/llvm/llvm-project/commit/9a1e39062b2ab445f1f4424ecdc5ffb46e8cb9e0
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/SemaCXX/ms-property.cpp
Log Message:
-----------
[Clang] Do not emit nodiscard warnings for the base expr of static member access (#131450)
For an expression `nodiscard_function().static_member(), the nodiscard
warnings added by #120223, are not useful or actionable, and are
disruptive to some library implementations; we just remove them.
Fixes #131410
Commit: 79d84a878e83990c235da8710273a98bf835c915
https://github.com/llvm/llvm-project/commit/79d84a878e83990c235da8710273a98bf835c915
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/test/MC/Mips/hilo-addressing.s
Log Message:
-----------
MipsMCExpr: remove unneeded folding and fix a crash for %hi(und-$L3)
After folding the inner expression, we might get something like
%hi(0x30124), MipsAsmBackend::applyFixup will apply the relocation
operator, so we don't need to duplicate code in MipsMCExpr
(introduced by https://reviews.llvm.org/D19716).
While we don't know the encoding at parse time (see hilo-addressing.s),
it is not an issue.
This change also removes an inappropriate use of `Fixup`
(introduced in 2014 by 752b91bd821ad8a23e004b6cd631ae4f6984ae8b ; which
will go away with my next change).
In addition, fix a crash by porting the fix from RISCV.
```
lui $4, %hi(und-$L3)
```
Commit: 6a8d5f22ffc5113de9868e2b4227d699b14d0421
https://github.com/llvm/llvm-project/commit/6a8d5f22ffc5113de9868e2b4227d699b14d0421
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/RISCV/illegal-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr48340.ll
M llvm/test/Transforms/LoopVectorize/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/preserve-dbg-loc-and-loop-metadata.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
Log Message:
-----------
[VPlan] Don't access canonical IV in VPWidenPointerInduction::execute.
This updates VPWidenPointerInductionRecipe::execute to not use the
canonical IV to determine the insert point. Instead, it relies on the
current recipe position. In cases where this is not sufficient, set the
insert point to the first non-phi instruction, to ensure phis are
created together.
Commit: 0bd8a75a0c8ce76fa36036d4de1979f777d44918
https://github.com/llvm/llvm-project/commit/0bd8a75a0c8ce76fa36036d4de1979f777d44918
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Fix formatting after 6a8d5f22f.
Commit: d6fbffa23c84e622735b3e880fd800985c1c0072
https://github.com/llvm/llvm-project/commit/d6fbffa23c84e622735b3e880fd800985c1c0072
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
[MC] evaluateAsRelocatable: remove the Fixup argument
Commit 752b91bd821ad8a23e004b6cd631ae4f6984ae8b added the argument for
PowerPC to evaluate @l/@ha as constant in 2014. However, this is not
needed and has been cleaned up by
commit 8560da28c69de481f3ad147722577e87b902facb.
Mips also had an inappropriate use, which has been fixed by
79d84a878e83990c235da8710273a98bf835c915
Commit: 5e65b40f9c0fd9fc9bc17c36dbd5ee1beec15d4f
https://github.com/llvm/llvm-project/commit/5e65b40f9c0fd9fc9bc17c36dbd5ee1beec15d4f
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
Log Message:
-----------
[clang-tidy] detect explicit casting within modernize-use-default-member-init (#129408)
This aims to fix a portion of #122480. Added some matchers to detect
explicit casting which utilize builtin types as its source expression.
these are the various forms of casting supported I thought would useful
for this check:
- C Style explicit casting
- Static explicit casting
- Functional explicit casting
Commit: ff2ed154a8a9ea52adb3667833fe6fddd27b0487
https://github.com/llvm/llvm-project/commit/ff2ed154a8a9ea52adb3667833fe6fddd27b0487
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
Log Message:
-----------
[MC] evaluateAsAbsolute requires MCValue::RefKind==0
In `.equ a, 3; .if a at plt`, a at plt does not evaluate to an absolute value
(MCExpr::evaluateAsRelocatableImpl disables evaluation when the Kind !=
0 at parse time). Similarly, when using MCTargetValue,
evaluateAsAbsolute should return false when MCValue::RefKind==0.
This allows us to remove `if (!Asm)` check from MipsMCExpr.cpp
(%hi(0xdeadbeef) is not evaluated to a constant without RefKind) and
make targets less error-prone.
Commit: 7722d7519ca2679e105e2db68c889b3727938c8d
https://github.com/llvm/llvm-project/commit/7722d7519ca2679e105e2db68c889b3727938c8d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/NVPTX/NVPTXMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
Log Message:
-----------
[MC] evaluateAsRelocatableImpl: remove the Fixup argument
Follow-up to d6fbffa23c84e622735b3e880fd800985c1c0072 . This commit
updates all call sites and removes the argument from the function.
Commit: 4286f4dccee9140eef3ef7d059619eaab73fc392
https://github.com/llvm/llvm-project/commit/4286f4dccee9140eef3ef7d059619eaab73fc392
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/aarch64-feature-gcs.s
Log Message:
-----------
[AArch64][GCS][LLD] Introduce -zgcs-report-dynamic Command Line Option (#127787)
When GCS was introduced to LLD, the gcs-report option allowed for a user
to gain information relating to if their relocatable objects supported
the feature. For an executable or shared-library to support GCS, all
relocatable objects must declare that they support GCS.
The gcs-report checks were only done on relocatable object files,
however for a program to enable GCS, the executable and all shared
libraries that it loads must enable GCS. gcs-report-dynamic enables
checks to be performed on all shared objects loaded by LLD, and in cases
where GCS is not supported, a warning or error will be emitted.
It should be noted that only shared files directly passed to LLD are
checked for GCS support. Files that are noted in the `DT_NEEDED` tags
are assumed to have had their GCS support checked when they were
created.
The behaviour of the -zgcs-dynamic-report option matches that of GNU ld.
The behaviour is as follows unless the user explicitly sets the value:
* -zgcs-report=warning or -zgcs-report=error implies
-zgcs-report-dynamic=warning.
This approach avoids inheriting an error level if the user wishes to
continue building a module without rebuilding all the shared libraries.
The same approach was taken for the GNU ld linker, so behaviour is
identical across the toolchains.
This implementation matches the error message and command line interface
used within the GNU ld Linker. See here:
https://github.com/bminor/binutils-gdb/commit/724a8341f6491283cf90038260c83a454b7268ef
To support this option being introduced, two other changes are included
as part of this PR. The first converts the -zgcs-report option to
utilise an Enum, opposed to StringRef values. This enables easier
tracking of the value the user defines when inheriting the value for the
gas-report-dynamic option. The second is to parse the Dynamic Objects
program headers to locate the GNU Attribute flag that shows GCS is
supported. This is needed so, when using the gcs-report-dynamic option,
LLD can correctly determine if a dynamic object supports GCS.
---------
Co-authored-by: Fangrui Song <i at maskray.me>
Commit: 2091547d4cc9ad59ca0c9f80193921d9a39f691a
https://github.com/llvm/llvm-project/commit/2091547d4cc9ad59ca0c9f80193921d9a39f691a
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/global-merge-aix-sections.ll
Log Message:
-----------
[PPC codegen test] NFC: Fix RUN line; fix DATA checks to match 64-bit
Commit: e30a5d657034c1cf7081be4601a39888c0c1f2a6
https://github.com/llvm/llvm-project/commit/e30a5d657034c1cf7081be4601a39888c0c1f2a6
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++][NFC] Simplify string a bit (#127135)
This PR refactors `basic_string` a bit to simplify its implementation in
the following ways:
- Instead of manually checking whether a string is short or long,
followed by calling the specific functions (e.g., `__get_short_size()`,
`__get_long_size()`), we call the general functions (`size()`) to hide
the conditional checks and make the code more concise.
- Once a string is determined to be short or long, we directly call the
specific functions instead of the general versions to get rid of
unnecessary internal conditional checks. For example, for a long string,
we would directly call `{__set, __get}_long_pointer` instead of `{__set,
__get}_pointer()`.
- Variables that are defined in both the `if` and `else` branches are
now declared in a common scope to reduce redundancy.
- When the string size is calculated multiple times using
`traits_type::length(__s)`, a variable is introduced to store its
length. While modern compilers can optimize this with constant folding,
explicitly storing the length improves code readability and makes the
logic clearer.
- Fixed synopsis with missing default arguments.
Commit: f7cab64684bc150da96d62d66c1d9ecaba9c747b
https://github.com/llvm/llvm-project/commit/f7cab64684bc150da96d62d66c1d9ecaba9c747b
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
Log Message:
-----------
[libc++][numeric][NFC] Cleanup *Saturation arithmetic* tests (#101826)
This simplifies the tests a little bit:
Fixed -> TODO(LLVM20): remove [[maybe_unused]] and `{}` scope since all
supported compilers support "Placeholder variables with no name"
*IMPORTANT: Requires Apple Clang with [P2169R4: A nice placeholder with
no name](https://wg21.link/P2169R4)*
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: f5f8f3c64929131664a4dcac04d055488a0a0466
https://github.com/llvm/llvm-project/commit/f5f8f3c64929131664a4dcac04d055488a0a0466
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml
Log Message:
-----------
[GSYM] Update gSym unit test with stable / portable path (#131204)
This patch adds `-fdebug-compilation-dir=.` to the clang invocation in
`llvm/test/tools/llvm-gsymutil/ARM_AArch64/macho-gsym-merged-callsites-dsym.yaml`
and updates the rest of the test accordingly.
Previously, without the newly added argument, the test would
significantly change every time it was regenerated due to the generation
script using a temporary directory as the compilation directory. See
discussion in https://github.com/llvm/llvm-project/pull/129562 for
additional context.
This patch ensures determinism across test update runs - if the test
hasn't been updated and we try to regenerate the contents, nothing will
change.
Commit: d0177670a0e59e9d9719386f85bb78de0929407c
https://github.com/llvm/llvm-project/commit/d0177670a0e59e9d9719386f85bb78de0929407c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/SCCIterator.h
Log Message:
-----------
[ADT] Avoid repeated hash lookups (NFC) (#131418)
Commit: 508db53d1af5b01f8f8275229f087bb6407f0033
https://github.com/llvm/llvm-project/commit/508db53d1af5b01f8f8275229f087bb6407f0033
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUPALMetadata.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#131493)
Commit: 0689d23ab3089eb9920b8f5caa92e423fe3475f8
https://github.com/llvm/llvm-project/commit/0689d23ab3089eb9920b8f5caa92e423fe3475f8
Author: Michael Park <mcypark at gmail.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/Modules/pr121245.cpp
A clang/test/Modules/pr129982.cpp
Log Message:
-----------
[C++20][Modules] Prevent premature calls to PassInterestingDeclsToConsumer() within FinishedDeserializing(). (#129982)
`ASTReader::FinishedDeserializing` uses `NumCurrentElementsDeserializing` to keep track of nested `Deserializing` RAII actions. The `FinishedDeserializing` only performs actions if it is the top-level `Deserializing` layer. This works fine in general, but there is a problematic edge case.
If a call to `redecls()` in `FinishedDeserializing` performs deserialization, we re-enter `FinishedDeserializing` while in the middle of the previous `FinishedDeserializing` call.
The known problematic part of this is that this inner `FinishedDeserializing` can go all the way to `PassInterestingDeclsToConsumer`, which operates on `PotentiallyInterestingDecls` data structure which contain decls that should be handled by the previous `FinishedDeserializing` stage.
The other shared data structures are also somewhat concerning at a high-level in that the inner `FinishedDeserializing` would be handling pending actions that are not "within its scope", but this part is not known to be problematic.
We already have a guard within `PassInterestingDeclsToConsumer` because we can end up with recursive deserialization within `PassInterestingDeclsToConsumer`. The implemented solution is to apply this guard to the portion of `FinishedDeserializing` that performs further deserialization as well. This ensures that recursive deserialization does not trigger `PassInterestingDeclsToConsumer` which may operate on entries that are not ready to be passed.
Commit: 3fe914c9faa8367ec72f44e8953de1d1ea63e011
https://github.com/llvm/llvm-project/commit/3fe914c9faa8367ec72f44e8953de1d1ea63e011
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp
M llvm/lib/Target/X86/X86CallFrameOptimization.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86DomainReassignment.cpp
M llvm/lib/Target/X86/X86DynAllocaExpander.cpp
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FixupLEAs.cpp
M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
M llvm/lib/Target/X86/X86FloatingPoint.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.h
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/lib/Target/X86/X86OptimizeLEAs.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.h
M llvm/lib/Target/X86/X86VZeroUpper.cpp
Log Message:
-----------
[X86] Use Register and MCRegister. NFC
Commit: 1e02442df6cfdcc70123a9087173ca84c518d0a1
https://github.com/llvm/llvm-project/commit/1e02442df6cfdcc70123a9087173ca84c518d0a1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M llvm/docs/CIBestPractices.rst
Log Message:
-----------
[Github][Docs] Add best practice for top level read permissions (#131470)
This patch adds a section pointing out how permissions should be done
within Github workflows. I believe all of our workflows are currently
compliant with this, but it helps to have something to point to
documenting the practice and especially the motivation.
Commit: f4043f451d0e8c30c8a9826ce87a6e76f3ace468
https://github.com/llvm/llvm-project/commit/f4043f451d0e8c30c8a9826ce87a6e76f3ace468
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-15 (Sat, 15 Mar 2025)
Changed paths:
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
M clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
Log Message:
-----------
Skip more WebKit checker tests on targets where builtin is not supported. (#131501)
Commit: de03e102d1ea4da1c62b9ad735848d8869d08b44
https://github.com/llvm/llvm-project/commit/de03e102d1ea4da1c62b9ad735848d8869d08b44
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/BufferLoad.ll
M llvm/test/CodeGen/DirectX/RawBufferLoad.ll
M llvm/test/CodeGen/DirectX/cross.ll
Log Message:
-----------
[DirectX] Change placeholders from `undef` to `poison` used in fully instantiated vector [NFC] (#130970)
Commit: 3fac23505ffdb3b7ff7a61fc8beca2aabc2cb6c8
https://github.com/llvm/llvm-project/commit/3fac23505ffdb3b7ff7a61fc8beca2aabc2cb6c8
Author: David Green <david.green at arm.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
R llvm/test/CodeGen/AArch64/arm64-vclz.ll
R llvm/test/CodeGen/AArch64/arm64-vpopcnt.ll
A llvm/test/CodeGen/AArch64/ctlz.ll
A llvm/test/CodeGen/AArch64/ctpop.ll
A llvm/test/CodeGen/AArch64/cttz.ll
R llvm/test/CodeGen/AArch64/vec_cttz.ll
Log Message:
-----------
[AArch64][GlobalISel] Add cttz, ctlz and ctpop test coverage. NFC
Commit: 90e6ba606f7a0a8c9b7b3881a7a8df2cf4cfeb70
https://github.com/llvm/llvm-project/commit/90e6ba606f7a0a8c9b7b3881a7a8df2cf4cfeb70
Author: David Green <david.green at arm.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Log Message:
-----------
[AArch64][GlobalISel] Remove min/max v2s64 clamp
We can now lower the icmp, allowing us to remove the FIXME.
Commit: 926d980017d82dedb9eb50147a82fdfb01659f16
https://github.com/llvm/llvm-project/commit/926d980017d82dedb9eb50147a82fdfb01659f16
Author: David Green <david.green at arm.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Log Message:
-----------
[AArch64][GlobalISel] Some minor reordering of types for consistency. NFC
Commit: dc9a183ac6aa2d087ceac56970255b06c4772ca3
https://github.com/llvm/llvm-project/commit/dc9a183ac6aa2d087ceac56970255b06c4772ca3
Author: Artem Pianykh <artem.pyanykh at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[NFC][Cloning] Move DebugInfoFinder decl closer to its place of usage (#129154)
Summary:
This makes it clear that DIFinder is only really necessary for llvm.dbg.cu update.
Test Plan:
ninja check-llvm-unit
Commit: 4e9894498e166ef6b207c25e780db0b6f006cc89
https://github.com/llvm/llvm-project/commit/4e9894498e166ef6b207c25e780db0b6f006cc89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
A llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
Log Message:
-----------
[VPlan] Truncate VFxUF if needed in VPWidenPointerInduction::execute.
Create truncate if needed after 56b05a0d6. Note that this preserves the
original behavior pre 56b05a0d6. If truncate would strip any set bits,
then the explicit computation in the narrower type would wrap.
Commit: d928a671b84afb9c2ad64353694537a198f04651
https://github.com/llvm/llvm-project/commit/d928a671b84afb9c2ad64353694537a198f04651
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir][Vector] Refactor VectorEmulateNarrowType.cpp (#123529)
This is PR refactors `alignedConversionPrecondition` from
VectorEmulateNarrowType.cpp and adds new helper hooks.
**Update `alignedConversionPrecondition` (1)**
This method doesn't require the vector type for the "container" argument. The
underlying element type is sufficient. The corresponding argument has been
renamed as `containerTy` - this is meant as the multi-byte container element
type (`i8`, `i16`, `i32`, etc). With this change, the updated invocations of
`alignedConversionPrecondition` (in e.g. `RewriteAlignedSubByteIntExt`) make it
clear that the container element type is assumed to be `i8`.
**Update alignedConversionPrecondition (2):**
The final check in `alignedConversionPrecondition` has been replaced with a new
helper method, `isSubByteVecFittable`. This helper hook is now also re-used in
`ConvertVectorTransferRead` (to improve code re-use).
**Other updates**
Extended + unified comments.
**Implements**: https://github.com/llvm/llvm-project/issues/123630
Commit: 215c0d2b651dc757378209a3edaff1a130338dd8
https://github.com/llvm/llvm-project/commit/215c0d2b651dc757378209a3edaff1a130338dd8
Author: David Green <david.green at arm.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
Log Message:
-----------
[AArch64][GlobalISel] Reorder getActionDefinitionsBuilders. NFC
These had grown fairly organically and the order wasn't very clear. I've tried
to move some similar nodes closer to one another.
Commit: 616d1046c3e2d7e5167ba2e6fc0c5fe06cf0a503
https://github.com/llvm/llvm-project/commit/616d1046c3e2d7e5167ba2e6fc0c5fe06cf0a503
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] fix ioctl interception for musl. (#131464)
Commit: 9829d457ae197cf8ef3ed34392b18f481f57d760
https://github.com/llvm/llvm-project/commit/9829d457ae197cf8ef3ed34392b18f481f57d760
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++][test] Adds a test for a reserved name. (#131363)
This was discovered when using this name in #130500.
Commit: 8705e489dc17eb7124aca5070201d2dd234f97c1
https://github.com/llvm/llvm-project/commit/8705e489dc17eb7124aca5070201d2dd234f97c1
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
Log Message:
-----------
[lldb] Remove use of comma operator (NFC) (#131233)
No reason for the comma operator, make this more conventional with two statements.
Commit: e2438ce9400243ce9367d74151e00d4772797ec4
https://github.com/llvm/llvm-project/commit/e2438ce9400243ce9367d74151e00d4772797ec4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/BPF/BPFAbstractMemberAccess.cpp
Log Message:
-----------
[BPF] Avoid repeated map lookups (NFC) (#131494)
Commit: 48ecec20a2048689e53007ce4b929a7d6a9a3b17
https://github.com/llvm/llvm-project/commit/48ecec20a2048689e53007ce4b929a7d6a9a3b17
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonSubtarget.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#131496)
Commit: 1bc2108c49f413052cee798906c9d57dc18e1a1e
https://github.com/llvm/llvm-project/commit/1bc2108c49f413052cee798906c9d57dc18e1a1e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#131497)
Commit: 93ce345504519ec383a19716f2d45bac93db8207
https://github.com/llvm/llvm-project/commit/93ce345504519ec383a19716f2d45bac93db8207
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#131498)
Commit: 7c98cddc5add28834330a7a8fc3c9468b7d6fca3
https://github.com/llvm/llvm-project/commit/7c98cddc5add28834330a7a8fc3c9468b7d6fca3
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M mlir/include/mlir-c/AffineExpr.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/CAPI/IR/AffineExpr.cpp
M mlir/test/python/ir/affine_expr.py
Log Message:
-----------
[mlir] Expose `AffineExpr.shift_dims/shift_symbols` through C and Python bindings (#131521)
Commit: 4e841d7d63cd6056c7fc0e5c5dc23022d7694cd7
https://github.com/llvm/llvm-project/commit/4e841d7d63cd6056c7fc0e5c5dc23022d7694cd7
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M libc/docs/getting_started.rst
M libc/docs/index.rst
A libc/docs/uefi/building.rst
A libc/docs/uefi/index.rst
A libc/docs/uefi/support.rst
A libc/docs/uefi/testing.rst
A libc/docs/uefi/using.rst
Log Message:
-----------
[libc] add uefi docs (#131426)
Adds documentation for the UEFI target since #131246 was merged.
Commit: b6485765284a40297c667386e7ac662045195366
https://github.com/llvm/llvm-project/commit/b6485765284a40297c667386e7ac662045195366
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MachineDebugify.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#131495)
Commit: ee29e16135a9a775fa7eb9f434d1c62bb9bcfbfd
https://github.com/llvm/llvm-project/commit/ee29e16135a9a775fa7eb9f434d1c62bb9bcfbfd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
A llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
R llvm/test/Transforms/LoopVectorize/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
R llvm/test/Transforms/LoopVectorize/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[LV] Reorganize tests for narrowing interleave group transform.
Make test target-dependent, as they will require access to a concrete
vector register width. Also add new tests for cost modeling, unrolling
and removing the vector loop region.
Commit: 40b703421377fbc0f72a7f028d1d56a057d8448e
https://github.com/llvm/llvm-project/commit/40b703421377fbc0f72a7f028d1d56a057d8448e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[LV] Add tests for vector backedge elimination with early-exit loops.
Commit: 3e6f618e86f5fbad2c2d5802416ec3d3366a2837
https://github.com/llvm/llvm-project/commit/3e6f618e86f5fbad2c2d5802416ec3d3366a2837
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/STLExtras.h
M llvm/unittests/ADT/STLExtrasTest.cpp
Log Message:
-----------
[llvm][ADT] Add `getSingleElement` helper (#131508)
This commit adds a new helper function: `getSingleElement`
This function asserts that the container has a single element and then
returns that element. This helper function is useful during 1:N dialect
conversions in MLIR, where certain `ValueRange`s (returned from the
adaptor) are known to have a single value.
Commit: 950bc6cd77455b1ec1679cf9f125055e2de1910f
https://github.com/llvm/llvm-project/commit/950bc6cd77455b1ec1679cf9f125055e2de1910f
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
Log Message:
-----------
[LoopFuse] Change placeholder from `undef` to `poison` (#131535)
Use `poison` instead of `undef` as a placeholder for phi entries of
unreachable predecessors.
Commit: 91328dbae986dfa93cf2acef0a93361fd5ced66d
https://github.com/llvm/llvm-project/commit/91328dbae986dfa93cf2acef0a93361fd5ced66d
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate user-defined conversion functions (#131434)
Also fix/delete existing invalid/redundant test cases.
Fix #130894
Commit: 81ba006296680c9d62aba12c5e3f083e2f7c595d
https://github.com/llvm/llvm-project/commit/81ba006296680c9d62aba12c5e3f083e2f7c595d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/test/CodeGen/X86/nocf_check.ll
Log Message:
-----------
[X86] nocf_check: disable tail call
When a function pointer is annotated with
`void (*fptr)(void) __attribute__((nocf_check));`, calling it should use
the NOTRACK prefix, as the callee may not contain an ENDBR.
https://reviews.llvm.org/D41879 implemented NOTRACK variants for
X86ISD::CALL and ISD::BRIND but not for TCRETURN. Given that there are
so many tail call variants (e.g. conditional tailcall
https://reviews.llvm.org/D29856), let's just disable tailcall.
While nocf_check has some uses within the Linux kernel, it isn't a
popular attribute.
Fix #91228
Pull Request: https://github.com/llvm/llvm-project/pull/131487
Commit: 2dc123b33d51fcccb9e1af7230bc6573f77b3ccc
https://github.com/llvm/llvm-project/commit/2dc123b33d51fcccb9e1af7230bc6573f77b3ccc
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
M clang/test/SemaOpenCL/invalid-kernel-attrs.cl
Log Message:
-----------
[clang][opencl] Allow passing all zeros to reqd_work_group_size (#131543)
Allow passing all zeros to reqd_work_group_size.
Test plan: ninja check-all
Commit: 125c4db7301875cae928406043f02ed5b1133195
https://github.com/llvm/llvm-project/commit/125c4db7301875cae928406043f02ed5b1133195
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
Log Message:
-----------
[lldb][lldb-dap] setVariable request should send the correct response (#130773)
The display value was incorrectly sent as "result" instead of "value".
Commit: 2e78abe788c55721033d38a408d8f34af20bc8cc
https://github.com/llvm/llvm-project/commit/2e78abe788c55721033d38a408d8f34af20bc8cc
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
Log Message:
-----------
[MSP430] Delete unneeded fixupNeedsRelaxationAdvanced
Commit: 4b86a7f3860a3cb0368e308494f65c103c02fa18
https://github.com/llvm/llvm-project/commit/4b86a7f3860a3cb0368e308494f65c103c02fa18
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M clang/tools/clang-format/git-clang-format
Log Message:
-----------
[clang-format] Update the minimum python version requirement
See https://llvm.org/docs/GettingStarted.html#software
Fix #131456
Commit: 4fde8c341f9166e6ec6dff6e7704be175e382f5b
https://github.com/llvm/llvm-project/commit/4fde8c341f9166e6ec6dff6e7704be175e382f5b
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/CUDA/cuda-shared.cuf
Log Message:
-----------
[flang][cuda] Lower CUDA shared variable with cuf.shared_memory op (#131399)
Use `cuf.shared_memory` operation instead of `cuf.alloc` for CUDA shared
variable. These variables do not need free operations.
Commit: e24e523150c2a4e7597dae9919da0378ee3d4255
https://github.com/llvm/llvm-project/commit/e24e523150c2a4e7597dae9919da0378ee3d4255
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
Log Message:
-----------
[LoopVectorize] Add test for follow-up metadata for loops (NFC) (#131337)
When pragma of loop transformations are encoded in LLVM IR, follow-up
metadata is used if multiple transformations are specified. They are
used to explicitly express the order of the transformations. However,
they are not properly processed on each transformation pass, so now only
the first one is attempted to be applied. This is a pre-commit to add a
test that causes the problem.
ref:
https://github.com/llvm/llvm-project/pull/127474#issuecomment-2717790398
Commit: 752aa81c4ff754945c695ac771577c1370564411
https://github.com/llvm/llvm-project/commit/752aa81c4ff754945c695ac771577c1370564411
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[clang][RISCV] Rename variable name in SemaRISCV. NFC (#131261)
Commit: 2a2d6d61b178f0d8d542333155510896c7bc75b5
https://github.com/llvm/llvm-project/commit/2a2d6d61b178f0d8d542333155510896c7bc75b5
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/half-arith-strict.ll
Log Message:
-----------
[RISCV] Remove unused check prefixes from half arith strict test. NFC
Commit: 687c9d359ee124acecbdcdd699aefa77ccd6d16a
https://github.com/llvm/llvm-project/commit/687c9d359ee124acecbdcdd699aefa77ccd6d16a
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
A llvm/include/llvm/CodeGen/FEntryInserter.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/FEntryInserter.cpp
M llvm/lib/Passes/PassBuilder.cpp
A llvm/test/CodeGen/X86/fentry.mir
Log Message:
-----------
[CodeGen][NPM] Port FEntryInserter to NPM (#129857)
Commit: de60c0e034f90b634235ce01fc19da9afd8b699c
https://github.com/llvm/llvm-project/commit/de60c0e034f90b634235ce01fc19da9afd8b699c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] .reloc: move FirstLiteralRelocationKind check to evaluateFixup
Target shouldForceRelocation checks `FirstLiteralRelocationKind` to
determine whether a relocation is forced due to the .reloc directive. We
should move the code to evaluateFixup so that many targets don't need to
override shouldForceRelocation.
Commit: baab447aadd59b34bd838584b16d11475329853f
https://github.com/llvm/llvm-project/commit/baab447aadd59b34bd838584b16d11475329853f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/tools/llc/new-pm/option-conflict.ll
M llvm/tools/llc/NewPMDriver.cpp
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[llc] Report error in lieu of warning for invalid cl option (#128846)
Commit: c5a491e9ea22014b65664b6e09134b4f055933e2
https://github.com/llvm/llvm-project/commit/c5a491e9ea22014b65664b6e09134b4f055933e2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/trip-count-unknown-stride.ll
A llvm/test/Transforms/LoopUnroll/pr131465.ll
Log Message:
-----------
[SCEV] Check whether the start is non-zero in `ScalarEvolution::howFarToZero` (#131522)
https://github.com/llvm/llvm-project/pull/94525 assumes that the loop
will be infinite when the stride is zero. However, it doesn't hold when
the start value of addrec is also zero.
Closes https://github.com/llvm/llvm-project/issues/131465.
Commit: e0fee65b87872c434ab7a60fe237573d5ce88ca9
https://github.com/llvm/llvm-project/commit/e0fee65b87872c434ab7a60fe237573d5ce88ca9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
Log Message:
-----------
[PowerPC] Use Register in FastISel. NFC
Commit: b09b9ac1081d19c8021df8e55e96cd1325f0eed0
https://github.com/llvm/llvm-project/commit/b09b9ac1081d19c8021df8e55e96cd1325f0eed0
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/Hexagon/swp-ws-live-intervals-issue128714.mir
Log Message:
-----------
[llvm][CodeGen] Fix the empty interval issue in Window Scheduler (#129204)
The interval of newly generated reg in ModuloScheduleExpander is empty.
This will cause crash at some corner case. This patch recalculate the
live intervals of these regs.
Commit: 8a1b4d0ed2bb5cf29714cef33604b53f42ae8273
https://github.com/llvm/llvm-project/commit/8a1b4d0ed2bb5cf29714cef33604b53f42ae8273
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
Log Message:
-----------
[MC] Rework AVR #121498 to not add extra argument to shouldForceRelocation
This removes the extra argument from commit 814b34f31e163e76b816194004689985f5b9fd7b.
Also remove unneeded `>= FirstLiteralRelocationKind`.
Commit: f75d75b8899aa44cfb2cd4e94fb43fa561f0f285
https://github.com/llvm/llvm-project/commit/f75d75b8899aa44cfb2cd4e94fb43fa561f0f285
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/si-fold-operands-requires-ssa.mir
Log Message:
-----------
AMDGPU: Use MFPropsModifier modifier in SIFoldOperands (#127752)
This doesn't appear to work. I do not get an error in the new PM.
---------
Co-authored-by: Akshat Oke <Akshat.Oke at amd.com>
Commit: f402953339fa5b1c206cb5d6ac3d9b15b1e81509
https://github.com/llvm/llvm-project/commit/f402953339fa5b1c206cb5d6ac3d9b15b1e81509
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h
Log Message:
-----------
[ORC] Fix code example in comment: SPS function sigs are function types. NFCI.
Commit: 6c867e27a7b597910571677abdef77b703a5a601
https://github.com/llvm/llvm-project/commit/6c867e27a7b597910571677abdef77b703a5a601
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/CommonFolders.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/GPUToSPIRV/WmmaOpsToSPIRV.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Linalg/Transforms/SubsetInsertionOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/StructuralTypeConversions.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Tools/PDLL/CodeGen/MLIRGen.cpp
M mlir/test/lib/Analysis/TestCFGLoopInfo.cpp
Log Message:
-----------
[mlir] Use `getSingleElement`/`hasSingleElement` in various places (#131460)
This is a code cleanup. Update a few places in MLIR that should use
`hasSingleElement`/`getSingleElement`.
Note: `hasSingleElement` is faster than `.getSize() == 1` when it is
used with linked lists etc.
Depends on #131508.
Commit: 009d36222cfdb59f49597e01d157ca4f65ac9295
https://github.com/llvm/llvm-project/commit/009d36222cfdb59f49597e01d157ca4f65ac9295
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
A clang/test/CodeCompletion/if-const.cpp
Log Message:
-----------
[clang][CodeComplete] Add code completion for if constexpr and consteval (#124315)
Code complete `constexpr` and `consteval` keywords after `if` in the
relevant language modes. If pattern completion is enabled, the
completions also include placeholders for the condition (in the case
of `constexpr`) and statement block.
Commit: 2c35cb6f16b21d984b298e2ddf445d20f194e142
https://github.com/llvm/llvm-project/commit/2c35cb6f16b21d984b298e2ddf445d20f194e142
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.h
M llvm/lib/Target/DirectX/MCTargetDesc/DirectXMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmBackend.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEAsmBackend.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaAsmBackend.cpp
Log Message:
-----------
[MC] Remove unneeded getNumFixupKinds
Commit: 05607a3f39f97449e75358159ce8526e5d734615
https://github.com/llvm/llvm-project/commit/05607a3f39f97449e75358159ce8526e5d734615
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#131551)
Commit: 78408fddccf34b7d79eb655fa2cb4dfacdfb8ae3
https://github.com/llvm/llvm-project/commit/78408fddccf34b7d79eb655fa2cb4dfacdfb8ae3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-16 (Sun, 16 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOAArch64.h
Log Message:
-----------
[ExecutionEngine] Avoid repeated map lookups (NFC) (#131552)
Commit: 7eb8b731784722669106267764c74997e9a63cbe
https://github.com/llvm/llvm-project/commit/7eb8b731784722669106267764c74997e9a63cbe
Author: sharang.12492 <sharang.12492 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Semantics/OpenMP/test_taskloop_lastprivate_semantic_restrictions.f90
A flang/test/Semantics/OpenMP/test_taskloop_reduction_semantic_restrictions.f90
Log Message:
-----------
[Flang][OpenMP][taskloop] Adding missing semantic checks in Taskloop (#128431)
Below semantic checks for Taskloop clause mentioned in OpenMP [5.2]
specification were missing, this patch contains the semantic checks,
corresponding error messages and test cases:
OpenMP standard [5.2]:
[12.6] Taskloop Construct
[Restrictions]
Restrictions to the taskloop construct are as follows:
• The reduction-modifier must be default.
• The conditional lastprivate-modifier must not be specified.
Authored-by: shkaushi <sharang.kaushik at amd.com>
Commit: 3b1e18c2dba850922bc259a258e65490058e523d
https://github.com/llvm/llvm-project/commit/3b1e18c2dba850922bc259a258e65490058e523d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
Log Message:
-----------
[clang-tidy] Add new check bugprone-capture-this-by-field (#130297)
Finds lambda captures that capture the ``this`` pointer and store it as
class
members without handle the copy and move constructors and the
assignments.
Capture this in a lambda and store it as a class member is dangerous
because the
lambda can outlive the object it captures. Especially when the object is
copied
or moved, the captured ``this`` pointer will be implicitly propagated to
the
new object. Most of the time, people will believe that the captured
``this``
pointer points to the new object, which will lead to bugs.
Fixes: #120863
---------
Co-authored-by: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: c3f6d2c024968d21157aa0a523ef1f1e61a07441
https://github.com/llvm/llvm-project/commit/c3f6d2c024968d21157aa0a523ef1f1e61a07441
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
Log Message:
-----------
[gn build] Port 3b1e18c2dba8
Commit: 57e36419b251f7e5a86566c86b4d61fbd605db5c
https://github.com/llvm/llvm-project/commit/57e36419b251f7e5a86566c86b4d61fbd605db5c
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/docs/analyzer/developer-docs.rst
A clang/docs/analyzer/developer-docs/Statistics.rst
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/EntryPointStats.h
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
A clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/WorkList.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/Analysis/analyzer-config.c
A clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/csv2json.py
M clang/test/lit.cfg.py
Log Message:
-----------
[analyzer] Introduce per-entry-point statistics (#131175)
So far CSA was relying on the LLVM Statistic package that allowed us to
gather some data about analysis of an entire translation unit. However,
the translation unit consists of a collection of loosely related entry
points. Aggregating data across multiple such entry points is often
counter productive.
This change introduces a new lightweight always-on facility to collect
Boolean or numerical statistics for each entry point and dump them in a
CSV format. Such format makes it easy to aggregate data across multiple
translation units and analyze it with common data-processing tools.
We break down the existing statistics that were collected on the per-TU
basis into values per entry point.
Additionally, we enable the statistics unconditionally (STATISTIC ->
ALWAYS_ENABLED_STATISTIC) to facilitate their use (you can gather the
data with a simple run-time flag rather than having to recompile the
analyzer). These statistics are very light and add virtually no
overhead.
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
CPP-6160
Commit: 9b1ce477af5603e665258362fb8b9fe4091efbde
https://github.com/llvm/llvm-project/commit/9b1ce477af5603e665258362fb8b9fe4091efbde
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/StaticAnalyzer/Core/BUILD.gn
Log Message:
-----------
[gn build] Port 57e36419b251
Commit: ccfabe8380572d99a6833bfff09a62018aca1a15
https://github.com/llvm/llvm-project/commit/ccfabe8380572d99a6833bfff09a62018aca1a15
Author: Julian Ruess <julianonline+github at posteo.de>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
[clang-tidy-diff] Add an option to treat warnings as errors (#128221)
This patch allows to treat warnings as erros using clang-tidy-diff.
Co-authored-by: Piotr Zegar <me at piotrzegar.pl>
Commit: 3af6c9fa832ac29125cad76acb397d6235c371e9
https://github.com/llvm/llvm-project/commit/3af6c9fa832ac29125cad76acb397d6235c371e9
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Transport.cpp
Log Message:
-----------
[lldb][lldb-dap][NFC] Fix swapped logging directions for DAP messages. (#131544)
The logging markers for incoming ("<--") and outgoing ("-->") messages
were incorrectly reversed. from #7790d69
Commit: 6b47bba44087caa7d4805bdb3229153a3bfba7a5
https://github.com/llvm/llvm-project/commit/6b47bba44087caa7d4805bdb3229153a3bfba7a5
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.bvh.stack.push.pop.rtn.ll
M llvm/test/MC/AMDGPU/gfx12_asm_ds.s
M llvm/test/MC/AMDGPU/gfx12_asm_ds_alias.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_ds.txt
Log Message:
-----------
[AMDGPU] Add intrinsics and MIs for ds_bvh_stack_* (#130007)
New intrinsics / instructions :
int_amdgcn_ds_bvh_stack_push4_pop1_rtn / ds_bvh_stack_push4_pop1_rtn_b32
int_amdgcn_ds_bvh_stack_push8_pop1_rtn / ds_bvh_stack_push8_pop1_rtn_b32
int_amdgcn_ds_bvh_stack_push8_pop2_rtn / ds_bvh_stack_push8_pop2_rtn_b64
Co-authored-by: Mateja Marjanovic <mateja.marjanovic at amd.com>
Commit: fd41f1b0ce1e7d4eb2d51da82418b3e41dbb59ba
https://github.com/llvm/llvm-project/commit/fd41f1b0ce1e7d4eb2d51da82418b3e41dbb59ba
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
A clang/test/Analysis/fixed-address-notes.c
Log Message:
-----------
[clang][analyzer] Add BugReporterVisitor messages for non-null fixed pointer (#129557)
Commit: a10e1e0135970861d3fd2f742e3628fe94e00af4
https://github.com/llvm/llvm-project/commit/a10e1e0135970861d3fd2f742e3628fe94e00af4
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/double-maximum-minimum.ll
Log Message:
-----------
[RISCV] Remove unused check prefixes from double maximum/minimum test. NFC
Commit: d9110858ee938db424887cd3435488525dd632cb
https://github.com/llvm/llvm-project/commit/d9110858ee938db424887cd3435488525dd632cb
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaAccess.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
Log Message:
-----------
[Clang] Fix an incorrect assumption on getTemplatedDecl() (#131559)
Since a68d20e98, we've been calling HandleDelayedAccessCheck() for
concept declarations when the declaration contains invalid member
accesses.
However, a concept declaration is TemplateDecl such that doesn't contain
any TemplatedDecl.
Fixes https://github.com/llvm/llvm-project/issues/131530
Commit: 8cc6c2e80fb007f0e0e2ee65bca070c0f7fb7010
https://github.com/llvm/llvm-project/commit/8cc6c2e80fb007f0e0e2ee65bca070c0f7fb7010
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-fold-binop-select.ll
M llvm/test/CodeGen/AMDGPU/andorbitset.ll
M llvm/test/CodeGen/AMDGPU/cndmask-no-def-vcc.ll
M llvm/test/CodeGen/AMDGPU/combine-add-zext-xor.ll
M llvm/test/CodeGen/AMDGPU/fold-fabs.ll
M llvm/test/CodeGen/AMDGPU/i1-copy-implicit-def.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-invalid-addrspace.mir
M llvm/test/CodeGen/AMDGPU/merge-load-store-vreg.mir
M llvm/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
M llvm/test/CodeGen/AMDGPU/nested-loop-conditions.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-trackers.ll
M llvm/test/CodeGen/AMDGPU/si-annotate-cf-noloop.ll
M llvm/test/CodeGen/AMDGPU/si-spill-cf.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/soft-clause-exceeds-register-budget.ll
M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
M llvm/test/CodeGen/AMDGPU/undefined-subreg-liverange.ll
M llvm/test/CodeGen/AMDGPU/uniform-cfg.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
M llvm/test/CodeGen/MIR/AMDGPU/custom-pseudo-source-values.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/mircanon-memoperands.mir
M llvm/test/CodeGen/MIR/AMDGPU/syncscopes.mir
Log Message:
-----------
AMDGPU: Migrate more tests away from undef (#131314)
andorbitset.ll is interesting since it directly depends on the
difference between poison and undef. Not sure it's useful to keep
the version using poison, I assume none of this code makes it to
codegen.
si-spill-cf.ll was also a nasty case, which I doubt has been reproducing
its original issue for a very long time. I had to reclaim an older version,
replace some of the poison uses, and run simplify-cfg. There's a very
slight change in the final CFG with this, but final the output is approximately
the same as it used to be.
Commit: 4f2ee07454b0d0b156a728ca540f584310ef4a62
https://github.com/llvm/llvm-project/commit/4f2ee07454b0d0b156a728ca540f584310ef4a62
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/AArch64/test-indirect-branch.s
Log Message:
-----------
[BOLT][AArch64] Do not crash on authenticated branch instructions (#129898)
When an indirect branch instruction is decoded, analyzeIndirectBranch
method is asked if this is a well-known code pattern. On AArch64, the
only special pattern which is detected is Jump Table, emitted as a
branch to the sum of a constant base address and a variable offset.
Therefore, `Inst.getOpcode()` being one of `AArch64::BRA*` means Inst
cannot belong to such Jump Table pattern, thus returning early.
Commit: ee8a804cbab56fdc00dea43091e2cfabd01a3b9f
https://github.com/llvm/llvm-project/commit/ee8a804cbab56fdc00dea43091e2cfabd01a3b9f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/subreg-eliminate-dead.ll
Log Message:
-----------
AMDGPU: Switch test to generated checks (#131315)
I doubt this is testing what it originally intended anymore. Also
replace an undef.
Commit: a6ae965cec96ac3a79b908afa9e2cd1ed5f3d5e1
https://github.com/llvm/llvm-project/commit/a6ae965cec96ac3a79b908afa9e2cd1ed5f3d5e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/scheduler-subrange-crash.ll
Log Message:
-----------
AMDGPU: Switch scheduler-subrange-crash.ll to generated checks (#131316)
Also remove unnecessarily requiring asserts, and replace undef
with poison.
Commit: 1f1f8200bdf568ce41259ffcf78b32dd4630e1e8
https://github.com/llvm/llvm-project/commit/1f1f8200bdf568ce41259ffcf78b32dd4630e1e8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/simplifydemandedbits-recursion.ll
Log Message:
-----------
AMDGPU: Switch simplifydemandedbits-recursion.ll to generated checks (#131317)
This just checked the s_endpgm. Generate full checks, and remove undefs.
Commit: 7dcea28bf92e49737fa285e93621cfa814323524
https://github.com/llvm/llvm-project/commit/7dcea28bf92e49737fa285e93621cfa814323524
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/addo.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.set.inactive.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/localizer.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/sext_inreg.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/subo.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/udiv.i64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/urem.i64.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/div_i128.ll
M llvm/test/CodeGen/AMDGPU/dynamic_stackalloc.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
Log Message:
-----------
[AMDGPU] Add identity_combines to RegBankCombiner (#131305)
Commit: 27099982da2f5a6c2d282d6b385e79d080669546
https://github.com/llvm/llvm-project/commit/27099982da2f5a6c2d282d6b385e79d080669546
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
Log Message:
-----------
[NFC][analyzer] Framework for multipart checkers (#130985)
In the static analyzer codebase we have a traditional pattern where a
single checker class (and its singleton instance) acts as the
implementation of several (user-facing or modeling) checkers that have
shared state and logic, but have their own names and can be enabled or
disabled separately.
Currently these multipart checker classes all reimplement the same
boilerplate logic to store the enabled/disabled state, the name and the
bug types associated with the checker parts. This commit extends
`CheckerBase`, `BugType` and the checker registration process to offer
an easy-to-use alternative to that boilerplate (which includes the ugly
lazy initialization of `mutable std::unique_ptr<BugType>`s).
In this new framework the single-part checkers are internally
represented as "multipart checkers with just one part" (because this way
I don't need to reimplement the same logic twice) but this does not
require any changes in the code of simple single-part checkers.
I do not claim that these multi-part checkers are perfect from an
architectural point of view; but they won't suddenly disappear after
many years of existence, so we might as well introduce a clear framework
for them. (Switching to e.g. 1:1 correspondence between checker classes
and checker names would be a prohibitively complex change.)
This PR ports `DivZeroChecker` to the new framework as a proof of
concept. I'm planning to do a series of follow-up commits to port the
rest of the multi-part checker.
Commit: ab1dcac6db2229387c711b7a4059e36ba09583cc
https://github.com/llvm/llvm-project/commit/ab1dcac6db2229387c711b7a4059e36ba09583cc
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/andn2.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/orn2.ll
Log Message:
-----------
[AMDGPU][RegBankInfo] Promote scalar i16 and/or/xor to i32 (#131306)
See #64591
Commit: e456579e346c0790603544dc7617edfe44953f4c
https://github.com/llvm/llvm-project/commit/e456579e346c0790603544dc7617edfe44953f4c
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/shl-ext-reduce.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU][RegBankCombiner] Add cast_of_cast and constant_fold_cast combines (#131307)
We can add a bunch of exts/truncs during RBSelect, we should be able to fold
them away afterwards.
Commit: 0878dd14b20579dd127396787ec81ba7239b3366
https://github.com/llvm/llvm-project/commit/0878dd14b20579dd127396787ec81ba7239b3366
Author: David Green <david.green at arm.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-2velem.ll
Log Message:
-----------
[AArch64][GlobalISel] Add coverage for arm64-neon-2velem.ll. NFC
Commit: 93e0df07c2b32610ff8cc9451b5b5036f9a3ed37
https://github.com/llvm/llvm-project/commit/93e0df07c2b32610ff8cc9451b5b5036f9a3ed37
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/metadirective-common.f90
Log Message:
-----------
[Flang][OpenMP] Allow zero trait score (#131473)
Commit: 5c73c5c9bf0e048737682040f22734c3eb63cbbf
https://github.com/llvm/llvm-project/commit/5c73c5c9bf0e048737682040f22734c3eb63cbbf
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrSSE.td
M llvm/test/TableGen/x86-fold-tables.inc
Log Message:
-----------
[X86][NFC] Add missing immediate qualifier to VSM3RNDS2 instruction (#131576)
Commit: 0c34d7a9e7a4b5d249dda46ff8ab754cf3f934c7
https://github.com/llvm/llvm-project/commit/0c34d7a9e7a4b5d249dda46ff8ab754cf3f934c7
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Require operand/result tensors of at least rank 1 for some operations (#131335)
This commit updates the following operations (operands/results) to be of
at least rank 1 such that it aligns with the expectations of the
specification:
- ARGMAX (input)
- REDUCE_ALL (input/output)
- REDUCE_ANY (input/output)
- REDUCE_MAX (input/output)
- REDUCE_MIN (input/output)
- REDUCE_PRODUCT (input/output)
- REDUCE_SUM (input/output)
- CONCAT (each input in input1/output)
- PAD (input1/output)
- REVERSE (input1/output)
- SLICE (input1/output)
- TILE (input1/output)
- TRANSPOSE (input1/output)
In addition to this change, PAD has been updated to allow unranked
tensors for input1/output, inline with other operations.
Commit: 846cf86b2bbec68c01f762f65e2778a32fe15daa
https://github.com/llvm/llvm-project/commit/846cf86b2bbec68c01f762f65e2778a32fe15daa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libclc/CMakeLists.txt
Log Message:
-----------
libclc: Add missing gfx950 target (#131585)
Commit: 8c939f54b4907935a877e75d09ee88bf90401cb4
https://github.com/llvm/llvm-project/commit/8c939f54b4907935a877e75d09ee88bf90401cb4
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
Log Message:
-----------
[WebAssembly] Change placeholder from `undef` to `poison` (#131536)
Use `poison` instead of `undef` as a placeholder for phi entries of
unreachable predecessors.
Commit: 6eb32a2fa0d16bea03f22dd2078f53da6d9352cd
https://github.com/llvm/llvm-project/commit/6eb32a2fa0d16bea03f22dd2078f53da6d9352cd
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGException.cpp
Log Message:
-----------
[clang] Change placeholder from `undef` to `poison` (#131533)
Return a `poison` value, instead of `undef`, if there is no available
SEH info.
Commit: e57cd100ca297cf81854e35cccbf703edddd4aad
https://github.com/llvm/llvm-project/commit/e57cd100ca297cf81854e35cccbf703edddd4aad
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Support/Compiler.h
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Define LLVM_ABI and CLANG_ABI for __EMSCRIPTEN__ builds (#131578)
While building llvm (clang, lld) against emscripten we see this
[error](https://github.com/emscripten-forge/recipes/actions/runs/13803029307/job/38608794602#step:9:1715)
```
│ │ In file included from $SRC_DIR/llvm/lib/Frontend/OpenACC/ACC.cpp:9:
│ │ $SRC_DIR/build/include/llvm/Frontend/OpenACC/ACC.h.inc:192:1: error: unknown type name 'LLVM_ABI'
│ │ 192 | LLVM_ABI Directive getOpenACCDirectiveKind(llvm::StringRef Str);
│ │ | ^
│ │ $SRC_DIR/build/include/llvm/Frontend/OpenACC/ACC.h.inc:192:19: error: expected ';' after top level declarator
│ │ 192 | LLVM_ABI Directive getOpenACCDirectiveKind(llvm::StringRef Str);
│ │ | ^
```
Now this was happening because we weren't defining LLVM_ABI correctly when building against emscripten. If you see [llvm/Support/Compiler.h](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L206-L210), the condition only checked for the platform __WASM__ . Now Emscripten targets WebAssembly but doesn't imply the platform by default so the check isn't complete to define LLVM_ABI.
The successful build after using this patch can be seen [here](https://github.com/emscripten-forge/recipes/actions/runs/13805214092/job/38614585621)
Commit: f4feab927ba33e897c4f05bf3b52226bc0a824c7
https://github.com/llvm/llvm-project/commit/f4feab927ba33e897c4f05bf3b52226bc0a824c7
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[NFC][KeyInstr] Add (LLVM_)EXPERIMENTAL_KEY_INSTRUCTIONS (cmake/)definition (#131344)
Key Instructions will start development behind a compile time flag to avoid
passing on the increased memory usage to all debug builds. We're working on
improving DILocation memory characteristics simultaneously; once that work lands
we can remove `EXPERIMENTAL_KEY_INSTRUCTIONS`.
This patch doesn't add any code, it's just so we can get the SIE buildbot
building with the new option right away.
Commit: 6085f3f6a80dc3be97d31a4c31a22fd77dbb6e83
https://github.com/llvm/llvm-project/commit/6085f3f6a80dc3be97d31a4c31a22fd77dbb6e83
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M openmp/runtime/src/kmp_sched.cpp
Log Message:
-----------
[OpenMP] Address __kmp_dist_for_static_init issue (#129902)
This patch attempts to provide a fix for an issue that appears when the
`__kmp_dist_for_static_init` function is called from a serialized team.
This is triggered by code generated by flang for `distribute parallel
do` constructs whenever an `if` clause for the `parallel` leaf construct
is present. This results in the introduction of a call to
`__kmpc_fork_call_if` in place of `__kmpc_fork_call`. When it evaluates
to `false`, it defers execution to `__kmp_serialized_parallel`, which
creates a new serial team that is picked up by
`__kmp_dist_for_static_init`, resulting in an incorrect `team` pointer
that causes the `nteams == (kmp_uint32)team->t.t_parent->t.t_nproc`
assertion to fail.
The sequence of calls replicating this issue can be summarized as:
- `__kmpc_fork_teams`
- `__kmpc_fork_call_if`
- `__kmpc_dist_for_static_init_*`
Since I am not familiar with the implementation of the OpenMP runtime,
it is possible that the above sequence of calls is incorrect, or that
the bug can be better fixed in another way, so I am open to discussing
this.
The following Fortran program can be compiled with flang to show the
issue:
```f90
! Compile and run: flang -fopenmp test.f90 -o test && ./test
! Check LLVM IR: flang -fc1 -emit-llvm -fopenmp test.f90 -o -
program main
implicit none
integer, parameter :: n = 10
integer :: i, idx(n)
!$omp teams
!$omp distribute parallel do if(.false.)
do i=1,n
idx(i) = i
end do
!$omp end teams
print *, idx
end program
```
Commit: e0223fa24aedf14895ea31beb87dac6d5a2137f0
https://github.com/llvm/llvm-project/commit/e0223fa24aedf14895ea31beb87dac6d5a2137f0
Author: Imad Aldij <os at imadij.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[Clang][NFC] Rename SecondArgIsLastNamedArgument for clarity and consistency (#131346)
Change the name of the control variable `SecondArgIsLastNamedArgument`
to `SecondArgIsLastNonVariadicArgument` for clarity and consistency.
Following feedback on earlier PR that was merged:
-
https://github.com/llvm/llvm-project/pull/131238#discussion_r1995690691_
Commit: 17b4be8f63a9a2c17290c8540d84f17a370b1915
https://github.com/llvm/llvm-project/commit/17b4be8f63a9a2c17290c8540d84f17a370b1915
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Move setting name and adding VFs after recipe creation.(NFC)
Recipe creation is the only place where the VF range is restricted. Move
setting the VFs just after initial recipe creation.
Commit: 06546e005d2f9363c51552cfdbe7e69d0bcb5f02
https://github.com/llvm/llvm-project/commit/06546e005d2f9363c51552cfdbe7e69d0bcb5f02
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
[clang][NFC] Fix typo 'initializeation' (#131594)
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: ed57ab0c2b8f359e7937f2c565239bd7cf124a9f
https://github.com/llvm/llvm-project/commit/ed57ab0c2b8f359e7937f2c565239bd7cf124a9f
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
A cmake/Modules/FindLibcCommonUtils.cmake
R llvm/cmake/modules/FindLibcCommonUtils.cmake
Log Message:
-----------
[cmake] Move FindLibcCommonUtils to shared cmake, to fix standalone builds (#131586)
Move `FindLibcCommonUtils` from LLVM's CMake module directory to the
shared top-level CMake directory, as the module is intended to be used
from within the source tree rather than the installed LLVM version. This
fixes standalone offload builds after #131205.
Commit: b79d53caaad7a36b1f20c70ea777fa283d181652
https://github.com/llvm/llvm-project/commit/b79d53caaad7a36b1f20c70ea777fa283d181652
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
A llvm/test/CodeGen/X86/pr131389.ll
Log Message:
-----------
[X86] X86MCInstLower.cpp - printConstant - don't assume the source constant data is smaller than the printed data
Bail out if the constant types aren't compatible
Fixes #131389
Commit: 1e89a76a0490b6c55a3e46ecf967da3e30c9112b
https://github.com/llvm/llvm-project/commit/1e89a76a0490b6c55a3e46ecf967da3e30c9112b
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
Log Message:
-----------
[MLIR] Refactor to create vectorization convOp precondition check (#130181)
In corner situations, the vectorization pass may face to lower a conv2d
op and assert in a completely irrelevant location in
vectorizeConvolution() subroutine.
~~This PR rejects the conv2d op early and make the asserted routine to
return failure as a defensive workaround.~~
In addressing this, the PR moved all condition check away from the
`Conv1dGenerator` into the `convOpPreconditionCheck()` function. This
makes the unsupported ops such as conv2d to be rejected early and leave
a cleaner `Conv1dGenerator` constructor.
Commit: 19adc69029ba090d9eae3b89069dee7eadb1bd26
https://github.com/llvm/llvm-project/commit/19adc69029ba090d9eae3b89069dee7eadb1bd26
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
Log Message:
-----------
[analyzer] Add [[maybe_unused]] forgotten in 57e36419b251 (#131617)
Fixes
https://github.com/llvm/llvm-project/pull/131175#discussion_r1998764727
Commit: 1c3a9a853ce68c3c539e7cab21380b9d8b18f426
https://github.com/llvm/llvm-project/commit/1c3a9a853ce68c3c539e7cab21380b9d8b18f426
Author: Pankaj Dwivedi <pankajkumar.divedi at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
A llvm/test/CodeGen/AMDGPU/issue130120-eliminate-frame-index.ll
Log Message:
-----------
[AMDGPU] frame index elimination hit assertion for scavenged nonreg (#130287)
Avoid spilling and fold the offset into `FIOp` when the scavenger fails
to find a free reg during frame index elimination.
Fixes #130120
Commit: 2ff370f45266b14c2a86e6395042a4574701f2d2
https://github.com/llvm/llvm-project/commit/2ff370f45266b14c2a86e6395042a4574701f2d2
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/unnecessary-virtual-specifier.cpp
Log Message:
-----------
Warn about virtual methods in `final` classes (#131188)
There's never any point to adding a `virtual` specifier to methods in a
`final` class, since the class can't be subclassed. This adds a warning
when we notice this happening, as suggested in #131108.
We don't currently implement the second part of the suggestion, to warn
on `virtual` methods which are never overridden anywhere. Although it's
feasible to do this for things with internal linkage (so we can check at
the end of the TU), it's more complicated to implement and it's not
clear it's worth the effort.
I tested the warning by compiling chromium and clang itself. Chromium
resulted in [277 warnings across 109
files](https://github.com/user-attachments/files/19234889/warnings-chromium.txt),
while clang had [38 warnings across 29
files](https://github.com/user-attachments/files/19234888/warnings-clang.txt).
I inspected a subset of the warning sites manually, and they all seemed
legitimate.
This warning is very easy to fix (just remove the `virtual` specifier)
and I haven't seen any false positives, so it's suitable for
on-by-default. However, I've currently made it off-by-default because it
fires at several places in the repo. I plan to submit a followup PR
fixing those places and enabling the warning by default.
Commit: 8bc0f879a05228c58235ded510360da2220f0afd
https://github.com/llvm/llvm-project/commit/8bc0f879a05228c58235ded510360da2220f0afd
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/test/CodeGen/AMDGPU/atomic_load_local.ll
M llvm/test/CodeGen/AMDGPU/atomic_store_local.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] D16 LDS load/store pseudo instructions in true16 (#131427)
Implement new pseudos with the suffix _t16 which have VGPR_16 as the
store src or load dst. This affects LDS 8 and 16-bit loads and stores.
Lower the pseudos to the existing real Hi/Lo instructions in MC inst
layer with VGPR_32 src or dst
---------
Co-authored-by: Abhinav <abhinav.garg at amd.com>
Commit: b8317df8d8f6dc110edfbf86d8269c912cb2a2a9
https://github.com/llvm/llvm-project/commit/b8317df8d8f6dc110edfbf86d8269c912cb2a2a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/FileCheck/FileCheck.cpp
Log Message:
-----------
[FileCheck] Avoid repeated hash lookups (NFC) (#131553)
Commit: 8789c0083de178fd044e5fb94b3a36c2eec49e0a
https://github.com/llvm/llvm-project/commit/8789c0083de178fd044e5fb94b3a36c2eec49e0a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#131554)
Commit: e71686ed1539abe8ec68a4efa010f5ede13e9888
https://github.com/llvm/llvm-project/commit/e71686ed1539abe8ec68a4efa010f5ede13e9888
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[TargetParser] Avoid repeated hash lookups (NFC) (#131555)
Commit: 9455df969ef34681d08b2118a2ca2e8b0bd0155b
https://github.com/llvm/llvm-project/commit/9455df969ef34681d08b2118a2ca2e8b0bd0155b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#131556)
Commit: 83356f3b62e95b980ca48083aafa4a1b4040d4c9
https://github.com/llvm/llvm-project/commit/83356f3b62e95b980ca48083aafa4a1b4040d4c9
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
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
Log Message:
-----------
[clang][bytecode] Compile functions lazily (#131596)
Create the Function* handles for all functions we see, but delay the
actual compilation until we really call the function. This speeds up
compile times with the new interpreter a bit.
Commit: 1b237198dc9d308c6d589e01637ec7496b48b3e0
https://github.com/llvm/llvm-project/commit/1b237198dc9d308c6d589e01637ec7496b48b3e0
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanBase.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
A lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
A lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanBase.cpp
A lldb/test/API/functionalities/reverse-execution/Makefile
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
A lldb/test/API/functionalities/reverse-execution/main.c
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
Log Message:
-----------
Reapply "[lldb] Implement basic support for reverse-continue (#125242)" (again) (#128156)
This reverts commit
https://github.com/llvm/llvm-project/commit/87b7f63a117c340a6d9ca47959335fd7ef6c7ad2,
reapplying
https://github.com/llvm/llvm-project/commit/7e66cf74fb4e6a103f923e34700a7b6f20ac2a9b
with a small (and probably temporary)
change to generate more debug info to help with diagnosing buildbot
issues.
Commit: 37c3fbfa5ae9c124fffa4d53df708c688d8584c6
https://github.com/llvm/llvm-project/commit/37c3fbfa5ae9c124fffa4d53df708c688d8584c6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] Add test showing failure to merge concatenatable VPERMV3 nodes
Commit: 269c40fafc80576ab4efcd7fba954fd5588ea118
https://github.com/llvm/llvm-project/commit/269c40fafc80576ab4efcd7fba954fd5588ea118
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] Add tests for concatenation of VPERMV nodes
Commit: 52e7ca9279b4cbe30cacca67548347ef5f96b120
https://github.com/llvm/llvm-project/commit/52e7ca9279b4cbe30cacca67548347ef5f96b120
Author: Pradeep Kumar <pradeepku at nvidia.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/wmma-ptx86-sm100a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx86-sm101a.py
A llvm/test/CodeGen/NVPTX/wmma-ptx86-sm120a.py
M llvm/test/CodeGen/NVPTX/wmma.py
Log Message:
-----------
[LLVM][NVPTX] Add support for ldmatrix extensions introduced in PTX 8.6 (#124899)
This commit adds support for the following ldmatrix extensions
introduced in PTX 8.6
- Support for m16n16 with b8 type with mandatory transpose
- Support for m16n16 with m8n16 with source and desitination formats
The above extensions are only supported on sm_100a, sm_101a, sm_120a
Please refer the PTX ISA for more information:
https://docs.nvidia.com/cuda/parallel-thread-execution/#warp-level-matrix-instructions-ldmatrix
Commit: 3959bbc1345b9eb99b208e816a86e6a39103c345
https://github.com/llvm/llvm-project/commit/3959bbc1345b9eb99b208e816a86e6a39103c345
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[NFC] Remove trailing white spaces from `llvm/docs/LangRef.rst`
Commit: a4510aa7cb6073ccec63edce3aaed3e6f92563a5
https://github.com/llvm/llvm-project/commit/a4510aa7cb6073ccec63edce3aaed3e6f92563a5
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M flang-rt/cmake/modules/GetToolchainDirs.cmake
Log Message:
-----------
[flang-rt] replace the triple dir to 'aix' for flang-rt to be consistent with clang on AIX. (#130875)
This change is to put `libflang_rt.runtime.a` into
`build/lib/clang/21/lib/aix/libflang_rt.runtime.a`, which is consistent
with clang on AIX.
Commit: 7054655c52e03a2a0d3bca679cb883241679a14e
https://github.com/llvm/llvm-project/commit/7054655c52e03a2a0d3bca679cb883241679a14e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
[llvm-exegesis] Add myself as an llvm-exegesis maintainer (#131580)
More people have been interested in exegesis recently, so having a point
of contact would probably be good. Exegesis also never had proper code
owners in the previous system, so adding them now is a decent step
forward.
I'm nominating myself as I'm interested in pushing the project further,
and have a decent amount of experience with the code base. Two of the
original authors, Clement and Guillaume, now have different priorities
at work and are thus not as invested into maintaining exegesis anymore.
Commit: e2c43ba981620cf71ce3ccf004db7c0db4caf8a7
https://github.com/llvm/llvm-project/commit/e2c43ba981620cf71ce3ccf004db7c0db4caf8a7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for `llvm/test/CodeGen/AMDGPU/packed-fp32.ll` (#131629)
Commit: eef5ea0c42fc07ef2c948be59b57d0df8ec801ca
https://github.com/llvm/llvm-project/commit/eef5ea0c42fc07ef2c948be59b57d0df8ec801ca
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
Log Message:
-----------
[VPlan] Account for dead FOR splice simplification in cost model (#131486)
Fixes #131359
After #129645, a first-order recurrence will no longer have it's splice
costed if the VPInstruction::FirstOrderRecurrenceSplice has no users and
is dead.
The legacy cost model didn't account for this, so this accounts for it
in planContainsAdditionalSimplifications to avoid the "VPlan cost model
and legacy cost model disagreed" assertion.
Commit: b00ad366323cee324b0294f6395c33ae4b047e2c
https://github.com/llvm/llvm-project/commit/b00ad366323cee324b0294f6395c33ae4b047e2c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/RISCV/Target.cpp
Log Message:
-----------
[RISCV] Use hasFeature instead of checkFeature in llvm-exegesis. NFC (#131401)
Until recently checkFeature was quite slow. #130936
I was curious where we use checkFeature and noticed these. I thought we
could use hasFeature instead of going through strings.
Commit: 54cb4059da2751758b3ab6dc5630e40b228bcda5
https://github.com/llvm/llvm-project/commit/54cb4059da2751758b3ab6dc5630e40b228bcda5
Author: Vineet Kumar <173554+vntkmr at users.noreply.github.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/combine-fma-negate.ll
Log Message:
-----------
[X86][ISel][FMA] Get a handle on operand nodes when negating FMA (#130176)
When negating an FMA opcode, a new node created for a negated FMA
operand may be deleted while recursively negating another FMA operand.
This causes the following assertion to fail:
```
llc: /root/llvm-project/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7686: llvm::SDValue llvm::SelectionDAG::getNode(unsigned int, const llvm::SDLoc&, llvm::EVT, llvm::SDValue, llvm::SDValue, llvm::SDValue, llvm::SDNodeFlags): Assertion `N1.getOpcode() != ISD::DELETED_NODE && N2.getOpcode() != ISD::DELETED_NODE && N3.getOpcode() != ISD::DELETED_NODE && "Operand is DELETED_NODE!"' failed.
```
This patch adds a temporary handle on the new negated nodes to prevent
them from being deleted.
For eg. see https://godbolt.org/z/Tq4PvnKM4 .
Co-authored-by: Vineet Kumar <vineetk at hpe.com>
Commit: 67f1c033b8ff07c2713b3cb1209a574129274cbf
https://github.com/llvm/llvm-project/commit/67f1c033b8ff07c2713b3cb1209a574129274cbf
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Remove createReduction. NFCI (#131336)
This is split off from #131300.
A VPReductionRecipe will never have a AnyOf or FindLastIV recurrence, so
when it calls createReduction it always calls createSimpleReduction.
If we replace the call then it leaves createReduction with one user in
VPInstruction::ComputeReductionResult, which we can inline and then
remove.
Commit: 800593a014791e3aa26f04357f580d2dcc87320a
https://github.com/llvm/llvm-project/commit/800593a014791e3aa26f04357f580d2dcc87320a
Author: Christian Ulmann <christianulmann at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/DebugTranslation.cpp
M mlir/lib/Target/LLVMIR/DebugTranslation.h
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Avoid duplicated module flags in the export (#131627)
This commit resolves an issue in the LLVMIR export that caused the
duplication of the "Debug Info Version" module flag, when it was already
in MLIR.
Commit: 561f1d0b7cbbe6f40dca40830ccb4b956bf9ecef
https://github.com/llvm/llvm-project/commit/561f1d0b7cbbe6f40dca40830ccb4b956bf9ecef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
Log Message:
-----------
[X86] add test coverage for concatenation to 512-bit VPERMILPD nodes
Commit: 9a92fe0f8d34ba0b06b3f831c269d381f3944304
https://github.com/llvm/llvm-project/commit/9a92fe0f8d34ba0b06b3f831c269d381f3944304
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] Add additional test coverage for #109272
Commit: b3c5031b07396959c5d4e7f62d516d63de015358
https://github.com/llvm/llvm-project/commit/b3c5031b07396959c5d4e7f62d516d63de015358
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M llvm/include/llvm/Frontend/HLSL/HLSLResource.h
Log Message:
-----------
[HLSL] Remove HLSLResource attribute (#130342)
Fixes #104862
Commit: 47f7daab06e4e83f64a1b268da7ada4f50d50349
https://github.com/llvm/llvm-project/commit/47f7daab06e4e83f64a1b268da7ada4f50d50349
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/glob.yaml
Log Message:
-----------
[libc][docs] Add glob implementation status doc and include in CMakeLists (#126923)
These changes tracks `glob.h` for the implementation status of functions
and macros, with respect to the issue ( #122006 ) .
cc @nickdesaulniers
Commit: fbb8929c9d15fdc0001205ee4a7b42a78edc5213
https://github.com/llvm/llvm-project/commit/fbb8929c9d15fdc0001205ee4a7b42a78edc5213
Author: John Harrison <harjohn at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
R lldb/tools/lldb-dap/Protocol.cpp
R lldb/tools/lldb-dap/Protocol.h
A lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolBase.h
A lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
A lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Updating RequestHandler to encode/decode arguments and response. (#130090)
This is a work in progress refactor to add explicit types instead of
generic 'llvm::json::Value' types to the DAP protocol.
This updates RequestHandler to have take the type of the arguments and
response body for serialization for requests.
The 'source' and 'disconnect' request is updated to show how the new
flow
works and includes serialization handling for optional arguments and
'void'
responses.
This is built on top of #130026
---------
Co-authored-by: Adrian Vogelsgesang <adrian.vogelsgesang at tum.de>
Commit: 681b24132c5d8ce8eafee191a967799dd2a23960
https://github.com/llvm/llvm-project/commit/681b24132c5d8ce8eafee191a967799dd2a23960
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port fbb8929c9d15
Commit: 046041842022f12ab04403e255ceeec25d6ce11c
https://github.com/llvm/llvm-project/commit/046041842022f12ab04403e255ceeec25d6ce11c
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
Log Message:
-----------
[clang][driver][NFC] Remove else after return (#131182)
Commit: c53caae1d0baaf21d63e5f7152171699bcab0750
https://github.com/llvm/llvm-project/commit/c53caae1d0baaf21d63e5f7152171699bcab0750
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++][NFC] Remove dead link in comment
Commit: ca1bde0b91a6129e7bacee0fa67e4331b06dd683
https://github.com/llvm/llvm-project/commit/ca1bde0b91a6129e7bacee0fa67e4331b06dd683
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Check dtor instance pointers for active-ness (#128732)
And diagnose if we're trying to destroy an inactive member of a union.
Commit: cfa07ccdfcf03cbd48086fe9988f97e3a776b02c
https://github.com/llvm/llvm-project/commit/cfa07ccdfcf03cbd48086fe9988f97e3a776b02c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Fix builtin_memchr with non-0 start index (#131633)
Commit: ead9d6a56d764190aa916c5259ab50986f803128
https://github.com/llvm/llvm-project/commit/ead9d6a56d764190aa916c5259ab50986f803128
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/empty-vectorizable-tree.ll
Log Message:
-----------
[SLP]Check VectorizableTree is not empty before accessing elements
Need to check VectorizableTree is not empty before accessing elements.
Fixes #131635
Commit: f6a7306beaf5ba8f62450ab91b7c89a54f6b745f
https://github.com/llvm/llvm-project/commit/f6a7306beaf5ba8f62450ab91b7c89a54f6b745f
Author: darkbuck <michael.hliao at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/FrontendTool/CMakeLists.txt
Log Message:
-----------
[clang][CIR] Add missing dependency on MLIR headers (#131057)
Commit: 279e82fca7f2fd565c8b8e99bc29e696a910b681
https://github.com/llvm/llvm-project/commit/279e82fca7f2fd565c8b8e99bc29e696a910b681
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
Revert f9146ccbe940d8b8eb15e7686a511a28eb0abc6b (#131656)
This reverts commit f9146ccbe940d8b8eb15e7686a511a28eb0abc6b
([libc][bazel] explicitly use system-provided errno in Bazel builds.
(#130663))
This change causes problems in Bazel builds where system errno is set to
non-zero before the tests even begin to run - see PR #131650 for the
disucssion on how to address this.
Commit: af5abd9a682d3a7d993f1b4fcae92efe318b835c
https://github.com/llvm/llvm-project/commit/af5abd9a682d3a7d993f1b4fcae92efe318b835c
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/hlsl.h
A clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
A clang/test/SemaHLSL/BuiltIns/clamp-errors-16bit.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
Log Message:
-----------
[HLSL] add extra scalar vector overloads for clamp (#129939)
Add additional vector scalar overloads for clamp using templates
Add Tests
fixup tests which have changed.
Closes #128230
Commit: 2443fe537f8bf7620c26586034b12a977d14e366
https://github.com/llvm/llvm-project/commit/2443fe537f8bf7620c26586034b12a977d14e366
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
Log Message:
-----------
[gn build] Port af5abd9a682d
Commit: 911b200ce339ace2d55cd2827bb10ed6a494faae
https://github.com/llvm/llvm-project/commit/911b200ce339ace2d55cd2827bb10ed6a494faae
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
A clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/Parser/asm.cpp
A clang/test/SemaCXX/gnu-asm-constexpr.cpp
Log Message:
-----------
[Clang] Constant Expressions inside of GCC' asm strings (#131003)
Implements GCC's constexpr string ASM extension
https://gcc.gnu.org/onlinedocs/gcc/Asm-constexprs.html
Commit: 24e88b0e6bc04f16d7353ad9ef07398836adf244
https://github.com/llvm/llvm-project/commit/24e88b0e6bc04f16d7353ad9ef07398836adf244
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libcxx/include/module.modulemap
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/fill_n.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/generate.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/generate_n.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/move.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/move_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/remove.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/remove_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/replace.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/reverse.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/reverse_copy.bench.cpp
M libcxx/test/benchmarks/algorithms/modifying/rotate.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/rotate_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/sample.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/shift_left.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/shift_right.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/shuffle.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/swap_ranges.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/transform.binary.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/transform.unary.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
R libcxx/test/benchmarks/algorithms/move.bench.cpp
R libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
R libcxx/test/benchmarks/algorithms/reverse.bench.cpp
Log Message:
-----------
[libc++] Add remaining benchmarks from [alg.modifying.operations] (#127354)
This patch adds benchmarks for all the remaining algorithms in
[alg.modifying.operations] that we didn't already have a benchmark for.
Commit: 20cdffbd2761b2cb33e0968a78de9a427d0ef555
https://github.com/llvm/llvm-project/commit/20cdffbd2761b2cb33e0968a78de9a427d0ef555
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - extend VPERMILPD handling to support 512-bit types
Commit: bbaf743c461e5e38a72f12f2b6ee6b91674a2a4d
https://github.com/llvm/llvm-project/commit/bbaf743c461e5e38a72f12f2b6ee6b91674a2a4d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] Cleanup test coverage for #109272
We need to add commutated variants (to match the original bug report), some of which are still failing....
Commit: 9eb6b37e397eba7b286777f5502a08876e74d905
https://github.com/llvm/llvm-project/commit/9eb6b37e397eba7b286777f5502a08876e74d905
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Put CV_ELW back in XCV DecoderNamespace.
I messed this up in #130800.
Commit: d2e1e3034801da85c495adfffadf1de87f8b4734
https://github.com/llvm/llvm-project/commit/d2e1e3034801da85c495adfffadf1de87f8b4734
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
Log Message:
-----------
[RISCV] Rename some DecoderNamespaces and cleanup debug messages. NFC (#131409)
Rename RISCV32GPRPair and RISCV32Only_ to RV32Only. This gives a more
natural home for the P extension RV32 conflicts.
While I was there I made some improvements to the debug messages.
Commit: 6f659b0060d615435ceec53de407a8084656bc98
https://github.com/llvm/llvm-project/commit/6f659b0060d615435ceec53de407a8084656bc98
Author: Jan Voung <jvoung at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
Log Message:
-----------
[clang][dataflow] For bugprone-unchecked-optional-access report range (#131055)
Report the range in diagnostics, in addition to the location
in case the range helps disambiguate a little in chained `->`
expressions.
```
b->a->f->x = 1;
^~~~~~~
```
instead of just:
```
b->a->f->x = 1;
^
```
As a followup we should probably also report the location/range
of an `->` if that operator is used. Like:
```
b->a->f->x = 1;
^~
```
Commit: e3ef5f2928f4077c48aebbddd288442d6ff76b62
https://github.com/llvm/llvm-project/commit/e3ef5f2928f4077c48aebbddd288442d6ff76b62
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
Log Message:
-----------
[HLSL] Add bounds checks for the HLSL `fmod` vector arguments and return types (#131035)
Fixes #131024.
- Fixes template for scalar and vector `fmod` intrinsic overloads
- Fixes `fmod` Sema test
Commit: 4ce1d1f1d90d19fb7094f2dcca3b46fef81c1e27
https://github.com/llvm/llvm-project/commit/4ce1d1f1d90d19fb7094f2dcca3b46fef81c1e27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseSet.h
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[ADT] Add DenseSet::insert_range (#131567)
This pach adds DenseSet::insert_range, named after
std::map::insert_range from C++23. The intent is to allow a heavy
operation as the argument like:
Set.insert_range(Map[Key]);
Without insert_range, we would have to do:
Set.insert(Map[Key].begin(), Map[Key].end());
or:
auto &M = Map[Key];
Set.insert(M.begin(), M.end());
Neither is elegant.
Commit: 2e6402ca2c6c33ccf41d74383a8e3afb82489410
https://github.com/llvm/llvm-project/commit/2e6402ca2c6c33ccf41d74383a8e3afb82489410
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
Log Message:
-----------
[NFC] Add explicit initializer to PGOCtxProfReader's RootEntryCount
I found that on Clang versions before 11 we suppress the defaulted
constructor because RootEntryCount would not be initialized. This patch
adds an explicit initializer which should suppress this error.
Commit: 6dbe82f061bf494bc91ed458726c8080269f64f6
https://github.com/llvm/llvm-project/commit/6dbe82f061bf494bc91ed458726c8080269f64f6
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/BTF/BTFContext.h
M llvm/include/llvm/DebugInfo/DIContext.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
M llvm/include/llvm/DebugInfo/PDB/PDBContext.h
M llvm/lib/DebugInfo/BTF/BTFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
M llvm/lib/DebugInfo/PDB/PDBContext.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
M llvm/lib/ExecutionEngine/Orc/Debugging/VTuneSupportPlugin.cpp
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
M llvm/tools/llvm-objdump/MachODump.cpp
M llvm/unittests/DebugInfo/BTF/BTFParserTest.cpp
Log Message:
-----------
[NFC][DebugInfo] Wrap DILineInfo return type with std::optional to handle missing debug info. (#129792)
Currently, `DIContext::getLineInfoForAddress` and
`DIContext::getLineInfoForDataAddress` returns empty DILineInfo when the
debug info is missing for the given address. This is not differentiable
with the case when debug info is found for the given address but the
debug info is default value (filename:linenum is <invalid>:0).
This change wraps the return types of `DIContext::getLineInfoForAddress`
and `DIContext::getLineInfoForDataAddress` with `std::optional`.
Commit: 4336e5edbcc243a246c3cbcefef555f1d63db4cc
https://github.com/llvm/llvm-project/commit/4336e5edbcc243a246c3cbcefef555f1d63db4cc
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/extract-ordering.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/phi-result-use-order.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/revec.ll
Log Message:
-----------
[SLP] Sort PHIs by ExtractElements when relevant (#131229)
Considering the PHIs in order of element extracted can lead to better shuffles.
Commit: 0191307bb2583c95d6ee703588c3be1686101061
https://github.com/llvm/llvm-project/commit/0191307bb2583c95d6ee703588c3be1686101061
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Attributes.td
M llvm/test/CodeGen/NVPTX/param-overalign.ll
Log Message:
-----------
[IR] Allow alignstack attribute on return values (#130439)
The PTX target allows an alignment to be specified on both return values
and parameters to allow for more efficient vectorized stores. Currently
we represent these parameter alignments via the "alignstack" attribute,
but must fall back to metadata for the return value. This PR allows
"alignstack" on return values as well.
Commit: 74d4fc0a3ef0082145735eb727eeb67c768b8fb0
https://github.com/llvm/llvm-project/commit/74d4fc0a3ef0082145735eb727eeb67c768b8fb0
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
M flang/test/Fir/CUDA/cuda-shared-to-llvm.mlir
Log Message:
-----------
[flang][cuda][NFC] Use ssa value for offset in shared memory op (#131661)
Switch from attribute to a value as we need to support dynamic offset
when multiple variables are used with dynamic shared memory.
Commit: 128f381650aa7f920495334acfb5f5270d34b978
https://github.com/llvm/llvm-project/commit/128f381650aa7f920495334acfb5f5270d34b978
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-constant-array.ll
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-constant-composite.ll
Log Message:
-----------
[SPIR-V] Add `OpConstantCompositeContinuedINTEL` instruction (#129086)
Specification:
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_long_composites.html
Commit: 887cf1f8cea240cd50fb80bc9487b22f67d74263
https://github.com/llvm/llvm-project/commit/887cf1f8cea240cd50fb80bc9487b22f67d74263
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
A llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-and.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-fadd.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-fmax.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-fmaximum.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-fmin.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-fminimum.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-fmul.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-or.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-umax.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-umin.ll
A llvm/test/CodeGen/AMDGPU/vector-reduce-xor.ll
Log Message:
-----------
[AMDGPU][GlobalISel] Enable vector reductions (#131413)
- Enable llvm vector reductions for AMDGPU.
fixes https://github.com/llvm/llvm-project/issues/114816
Commit: 166937b49dac0919fae362c0deecb723b03be764
https://github.com/llvm/llvm-project/commit/166937b49dac0919fae362c0deecb723b03be764
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
Log Message:
-----------
[LV] Cleanup after expanding SCEV predicate to constant.
In some cases, SCEV isn't able to prove that no wrap checks are needed,
while constant folding in SCEVExpander can. In those cases, we may leave
around IR for computing the trip count, which is unused at this point
but may be re-used later, triggering an assertion when trying to clean
up SCEVExp after vectorization.
Directly run the cleaner after expanding to a constant predicate to
prevent any generated code from being re-used.
Fixes https://github.com/llvm/llvm-project/issues/131281.
Commit: 6d2b8285b3f5f4d8f2ce184aeb14e791400a726d
https://github.com/llvm/llvm-project/commit/6d2b8285b3f5f4d8f2ce184aeb14e791400a726d
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/functionalities/alias/TestBtAliasRepeat.py
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
M lldb/test/API/functionalities/data-formatter/root-reference-children/TestRootReferenceChildren.py
M lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/source-manager/TestSourceManager.py
Log Message:
-----------
[lldb] Support ordered patterns in lldbtest.expect (#131475)
Change `lldbtest.expect` to require the regexes in `patterns` be found in order – when the
`ordered` parameter is true. This matches the behavior of `substrs`.
The `ordered` parameter is true by default, so this change also fixes tests by either
tweaking the patterns to work in order, or by setting `ordered=False`.
I have often wanted to test with `patterns` and also verify the order. This change
allows that.
Commit: c3f750250a9bec9b37198fb5d344d742e648e32d
https://github.com/llvm/llvm-project/commit/c3f750250a9bec9b37198fb5d344d742e648e32d
Author: Johannes de Fine Licht <johannes.definelicht at nextsilicon.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/test/Dialect/LLVMIR/mem2reg-intrinsics.mlir
Log Message:
-----------
[MLIR][LLVM] Handle floats in Mem2Reg of memset intrinsics (#131621)
This was lacking a bitcast from the shifted integer type into a float.
Other non-struct types than integers and floats will still not be
Mem2Reg'ed.
Also adds special handling for constants to be emitted as a constant
directly rather than relying on followup canonicalization patterns
(`memset` of zero is a case that can appear in the wild).
Commit: 5b9006550d7766f07dd1129e0f369ed28f0a8edb
https://github.com/llvm/llvm-project/commit/5b9006550d7766f07dd1129e0f369ed28f0a8edb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libcxx/test/std/containers/sequences/vector/vector.modifiers/destroy_elements.pass.cpp
M libcxx/test/std/numerics/c.math/hermite.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
Log Message:
-----------
[libc++][NFC] Fix incorrect main() signatures
Commit: ccf21094713e7a080a38f30144ea77b7cacf3064
https://github.com/llvm/llvm-project/commit/ccf21094713e7a080a38f30144ea77b7cacf3064
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
M clang/test/CodeGenOpenCL/kernel-attributes.cl
Log Message:
-----------
[Metadata] Change placeholder from `undef` to `poison` (#131469)
Replace `undef` constant metadata uses with `poison`.
Commit: 1b31646757777c8ef68932ac61084b4bd7af2bc1
https://github.com/llvm/llvm-project/commit/1b31646757777c8ef68932ac61084b4bd7af2bc1
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
Log Message:
-----------
[DFSan] Change placeholders from `undef` to `poison` (#131534)
Use `poison` to create dummy phi nodes instead of `undef`.
Commit: 5f866666a6fb8a1a976a286d2f845809a7108f05
https://github.com/llvm/llvm-project/commit/5f866666a6fb8a1a976a286d2f845809a7108f05
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.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/CIRGenValue.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/unary-expr-or-type-trait.cpp
A clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Upstream initial support for unary op (#131369)
This adds support for the cir.unary plus, minus, inc, dec, and not operations for integer, floating point, and boolean types.
Commit: 5bf3f08cc9676ad2ec9b56013f5b3627ce43da7d
https://github.com/llvm/llvm-project/commit/5bf3f08cc9676ad2ec9b56013f5b3627ce43da7d
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP400.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP600.td
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP400/vlxe-vsxe.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vle-vse-vlm.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vlse-vsse.s
A llvm/test/tools/llvm-mca/RISCV/SiFiveP600/vlxe-vsxe.s
Log Message:
-----------
[RISCV] Update some of the RVV memory ops in SiFive P400 & P600 sched models (#129575)
This patch updates the latencies as well as occupancies of unit stride,
strided, and indexed load/store instructions in SiFive P400 & P600
scheduling models.
Commit: 584f8cc30554c89fdd27cc9e527416a6e4e2cc45
https://github.com/llvm/llvm-project/commit/584f8cc30554c89fdd27cc9e527416a6e4e2cc45
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
A clang/test/ClangScanDeps/modules-in-stable-dirs.c
A clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][DependencyScanning] Track modules that resolve from "stable" locations (#130634)
That patch tracks whether all the file & module dependencies of a module
resolve to a stable location. This information will later be queried by
build systems for determining where to store the accompanying pcms.
Commit: 541b8f2e14d495e250a0eefaac4b09ce0e27348f
https://github.com/llvm/llvm-project/commit/541b8f2e14d495e250a0eefaac4b09ce0e27348f
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/test/Driver/riscv-features.c
Log Message:
-----------
[clang][driver] Use rva22u64_v as the default march for Fuchsia targets (#131183)
Fuchsia supports RVA22 + Vector as outlined in https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0234_riscv_abi_rva22+v?hl=en
Commit: c1fabd681fed3e024879f64f2e122e667778b9be
https://github.com/llvm/llvm-project/commit/c1fabd681fed3e024879f64f2e122e667778b9be
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/MC/AMDGPU/hsa-gfx12-v4.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx10.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx11.s
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/kd-gfx12.s
Log Message:
-----------
[llvm][AMDGPU] Enable FWD_PROGRESS bit for GFX10+ (#128367)
>From GFX10 onwards it is possible to employ benevolent scheduling of
waves. This patch unconditionally enables, for the `amdhsa` OS, the bit
which controls that capability, as it is beneficial for algorithms that
rely on more complex concurrent coordination and it is generally
performance neutral otherwise.
Commit: ad8f0e27606e337d08501a3085390817d8223c0e
https://github.com/llvm/llvm-project/commit/ad8f0e27606e337d08501a3085390817d8223c0e
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][DepScan] Pass references to ModuleDeps instead of ModuleID in lookupModuleOutput callbacks, NFCI (#131688)
This allows clients to reference more read-only attributes, like IsInStableDirectories.
Commit: e5ec7bb21b3043022f0e69808b28b863570a6aad
https://github.com/llvm/llvm-project/commit/e5ec7bb21b3043022f0e69808b28b863570a6aad
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
Log Message:
-----------
[flang][cuda] Set correct offsets for multiple variables in dynamic shared memory (#131674)
Commit: 94426df66a8d7c2321f9e197e5ef9636b0d5ce70
https://github.com/llvm/llvm-project/commit/94426df66a8d7c2321f9e197e5ef9636b0d5ce70
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M compiler-rt/test/profile/instrprof-darwin-exports.c
Log Message:
-----------
[compiler-rt][Darwin][x86] Fix instrprof-darwin-exports test (#131425)
ld64 issues a warning about section alignment which was counted as an
unexpected exported symbol and the test failed.
Fixed by disabling all linker warnings using -Wl,-w.
Commit: 092e25571c09d377d2dde835cf38c5698decadad
https://github.com/llvm/llvm-project/commit/092e25571c09d377d2dde835cf38c5698decadad
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/si-fold-operands-requires-ssa.mir
Log Message:
-----------
AMDGPU: Add REQUIRES: asserts to machine pass violation test
We should promote this to a proper error and not llvm_unreachable
Commit: a2fbc9a8e3d3822cea6f14299285ff0a440d1bf3
https://github.com/llvm/llvm-project/commit/a2fbc9a8e3d3822cea6f14299285ff0a440d1bf3
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/CMakeLists.txt
A llvm/lib/Target/DirectX/DXILLegalizePass.cpp
A llvm/lib/Target/DirectX/DXILLegalizePass.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/ResourceGlobalElimination.ll
A llvm/test/CodeGen/DirectX/legalize-i64-extract-insert-elements.ll
A llvm/test/CodeGen/DirectX/legalize-i8.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalarize-two-calls.ll
Log Message:
-----------
[DirectX] Start the creation of a DXIL Instruction legalizer (#131221)
- Legalize i8 truncation back to original types
- remove sext and truncs
- Legalize i64 indicies for insert\extract elements to i32 indicies
- fixes https://github.com/llvm/llvm-project/issues/126323
- fixes https://github.com/llvm/llvm-project/issues/129757
Commit: cb1d640b037b068b42bcf851cdb4b2b85e378746
https://github.com/llvm/llvm-project/commit/cb1d640b037b068b42bcf851cdb4b2b85e378746
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
Log Message:
-----------
[clang][DepScan] resolve dangling reference to lambda that goes out of
scope.
Fixes buildbots.
Commit: 50f8adb5c018d993a4d8de69970a0b627b7f2258
https://github.com/llvm/llvm-project/commit/50f8adb5c018d993a4d8de69970a0b627b7f2258
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/test/MC/RISCV/rvv/aliases.s
Log Message:
-----------
[RISCV] Accept '0(reg)' in addition to '(reg)' ifor vl1r.v/vl2r.v/vl4r.v/vl8r.v
This matches vl1re8.v, vl2re8.v, vl4re8.v, vl8re8.v.
Commit: d1156fcb56891fb1a426c3e8331a51d47f98a1b8
https://github.com/llvm/llvm-project/commit/d1156fcb56891fb1a426c3e8331a51d47f98a1b8
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/locale
M libcxx/include/module.modulemap
R libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
Log Message:
-----------
Revert "[libc++] Optimize num_put integral functions" (#131613)
Reverts llvm/llvm-project#120859
This change breaks formatting of `0` with `std::showbase` + `std::hex`
or `std::oct`, as well as `+0` with `std::showpos`. I believe the new
behavior is violating the standard. See
https://github.com/llvm/llvm-project/pull/120859#issuecomment-2723970242
and later comments for details and explanation.
Commit: d9c65af62654edfdc1e4ff5589428916e4759302
https://github.com/llvm/llvm-project/commit/d9c65af62654edfdc1e4ff5589428916e4759302
Author: William Moses <gh at wsmoses.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][GPUToNVVM] Support 32-bit isfinite (#131699)
Co-authored-by: Ivan Radanov Ivanov <ivanov.i.aa at m.titech.ac.jp>
Commit: 745e16753fc154ac1601ebaf0ebbcdbfd380b948
https://github.com/llvm/llvm-project/commit/745e16753fc154ac1601ebaf0ebbcdbfd380b948
Author: Nikolay Panchenko <nicholas.panchenko at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/JSON.h
M llvm/lib/Support/JSON.cpp
Log Message:
-----------
[JSON][NFC] Move print method out of NDEBUG || DUMP (#131639)
Commit: 4cb1430c1cc6c6c3ecfb092d3228dd1420332a33
https://github.com/llvm/llvm-project/commit/4cb1430c1cc6c6c3ecfb092d3228dd1420332a33
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.cpp
M mlir/test/Dialect/SPIRV/Transforms/canonicalize.mlir
Log Message:
-----------
[mlir][spirv] Fix a crash in `spirv::ISubOp::fold` (#131570)
This PR fixes a crash if `spirv.ISub` is not integer type. Fixes
#131283.
Commit: a5107be0317af73a978431e9448f846974c51fca
https://github.com/llvm/llvm-project/commit/a5107be0317af73a978431e9448f846974c51fca
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
Log Message:
-----------
[NFC][AMDGPU][GlobalISel] Make LLTs constexpr (#131673)
- static const -> constexpr
Commit: 00cad3ed228005fa059c23c55bd35f042b624bf1
https://github.com/llvm/llvm-project/commit/00cad3ed228005fa059c23c55bd35f042b624bf1
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
Log Message:
-----------
[SDAG] Handle extract_subvector in isKnownNeverNaN (#131581)
Propagate nnan across extract_subvector.
Commit: ed19620b8c93f27f322b2f40136e5bd428827e00
https://github.com/llvm/llvm-project/commit/ed19620b8c93f27f322b2f40136e5bd428827e00
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Make VPReductionRecipe a VPRecipeWithIRFlags. NFC (#130881)
This patch change the parent of the VPReductionRecipe from
VPSingleDefRecipe to VPRecipeWithIRFlags and also print/get/drop/control
flags by the VPRecipeWithIRFlags. This will remove the dependency of the
underlying instruction.
This patch also add a new function `setFastMathFlags()` to the
VPRecipeWithIRFlags because the entire reduction chain may contains
multiple instructions. And the underlying instruction may not contains
the corresponding flags for this reduction.
Split from #113903.
Commit: 297f6d9f6b215bd7f58cf500b979b94dedbba7bb
https://github.com/llvm/llvm-project/commit/297f6d9f6b215bd7f58cf500b979b94dedbba7bb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libcxx/utils/libcxx/test/features.py
Log Message:
-----------
[libc++] Fix check for _LIBCPP_HAS_NO_WIDE_CHARACTERS in features.py (#131675)
The patch that added the new locale Lit features was created before we
switched to a 0-1 macro for _LIBCPP_HAS_WIDE_CHARACTERS, leading to that
patch referring to the obsolete _LIBCPP_HAS_NO_WIDE_CHARACTERS macro
that is never defined nowadays.
Commit: 3c4b9317916ccd2e18c30b1540589518a4c7c88a
https://github.com/llvm/llvm-project/commit/3c4b9317916ccd2e18c30b1540589518a4c7c88a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.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:
-----------
Rename RISCVMCExpr::VK_RISCV_ to VK_. NFC
They implement relocation operators and are named VK_RISCV_ probably to
avoid confusion with `MCSymbolRefExpr::VariantKind`.
`MCSymbolRefExpr::VariantKind` is discouraged
(https://discourse.llvm.org/t/error-expected-relocatable-expression-with-mctargetexpr/84926/2)
and targets are migrating away from `MCSymbolRefExpr::VariantKind`.
Therefore, there is no need to make the name long in the presence of the
clear `RISCVMCExpr::` prefix.
Pull Request: https://github.com/llvm/llvm-project/pull/131489
Commit: e758237352f70fad028f3947e6f0404e50fec024
https://github.com/llvm/llvm-project/commit/e758237352f70fad028f3947e6f0404e50fec024
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[docs] Mention --discard-locals/--discard-all change for llvm-strip
PR #130704 updated llvm-strip as well.
Suggested by @nga888
Pull Request: https://github.com/llvm/llvm-project/pull/131491
Commit: c72f7958b04c07afbd0d56b2e4772c741f88de67
https://github.com/llvm/llvm-project/commit/c72f7958b04c07afbd0d56b2e4772c741f88de67
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Fix the build
This is a follow-up for:
commit 3c4b9317916ccd2e18c30b1540589518a4c7c88a
Author: Fangrui Song <i at maskray.me>
Date: Mon Mar 17 20:05:28 2025 -0700
Commit: b9d27ac252265839354fffeacaa8f39377ed7424
https://github.com/llvm/llvm-project/commit/b9d27ac252265839354fffeacaa8f39377ed7424
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
[MC] Fix formatting of a comment
Commit: 0813c5cf5f5297a479bdd83df23d59622f8573b0
https://github.com/llvm/llvm-project/commit/0813c5cf5f5297a479bdd83df23d59622f8573b0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
M llvm/test/MC/RISCV/rvv/aliases.s
Log Message:
-----------
[RISCV] Accept '0(reg)' in addition to '(reg)' for vle1.v/vse1.v
Commit: bdb63208b4130aa3811c6f8b6b8b82c5b069eca9
https://github.com/llvm/llvm-project/commit/bdb63208b4130aa3811c6f8b6b8b82c5b069eca9
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/spill-sgpr-to-virtual-vgpr.mir
Log Message:
-----------
[AMDGPU][CodeGen] Using MBB's liveIn check in tandem with MCRegAliasIterator in SILowerSGPRSpills (#129848)
This patch replaces use of MachineRegisterInfo's liveIn check with the
machine basicBlock's liveIn. As the MRI's liveIn is inconsistent with
the entry MBB liveIns, when it comes to the machine verifier checks.
PS: Its an alternative solution with respect to #126926.
Commit: 0f34eba48a6b28a20dc09cbb531c1142f7e3549b
https://github.com/llvm/llvm-project/commit/0f34eba48a6b28a20dc09cbb531c1142f7e3549b
Author: Sushant Gokhale <sgokhale at nvidia.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
Log Message:
-----------
[NFC][AArch64] test for fixed-width vector signed division with pow2-divisor and SVE enabled (#130252)
With SVE enabled, this should generate asrd instruction. Subsequent
patch will address this.
Commit: 6be6400848eeec027d0cca0662c105683bcc896b
https://github.com/llvm/llvm-project/commit/6be6400848eeec027d0cca0662c105683bcc896b
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.h
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/CodeGen/LiveDebugValues/LiveDebugValues.h
M llvm/lib/CodeGen/LiveDebugValues/VarLocBasedImpl.cpp
Log Message:
-----------
[LiveDebugValues][NFC] Remove TargetPassConfig from LDVImpl (#131562)
TPC is only used to access the option `ShouldEmitDebugEntryValues`.
Commit: 2f808dd0702ba3c364eb4373714a1fb09078909d
https://github.com/llvm/llvm-project/commit/2f808dd0702ba3c364eb4373714a1fb09078909d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Compile most recent function decl (#131730)
We used to always do this because all calls went through the code path
that calls getMostRecentDecl(). Do it now, too.
Commit: 478194116083d4b0be790a7511955447165ed38c
https://github.com/llvm/llvm-project/commit/478194116083d4b0be790a7511955447165ed38c
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
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/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] os_log functions should be treated as safe. (#131500)
…os_log functions should be treated as safe in call arguments checkers.
Also treat __builtin_* functions and __libcpp_verbose_abort functions as
"trivial" for the purpose in call argument checkers.
Commit: 1fbfef9b8ac684483619811d9e90cf8e1f84c6ee
https://github.com/llvm/llvm-project/commit/1fbfef9b8ac684483619811d9e90cf8e1f84c6ee
Author: Petr Hosek <phosek at google.com>
Date: 2025-03-17 (Mon, 17 Mar 2025)
Changed paths:
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/converter.cpp
M libc/src/stdio/scanf_core/converter.h
M libc/src/stdio/scanf_core/current_pos_converter.h
R libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/float_converter.h
R libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/int_converter.h
R libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.h
M libc/src/stdio/scanf_core/reader.h
R libc/src/stdio/scanf_core/scanf_main.cpp
M libc/src/stdio/scanf_core/scanf_main.h
R libc/src/stdio/scanf_core/string_converter.cpp
M libc/src/stdio/scanf_core/string_converter.h
A libc/src/stdio/scanf_core/string_reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/stdio/sscanf.cpp
M libc/src/stdio/vsscanf.cpp
M libc/test/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/converter_test.cpp
M libc/test/src/stdio/scanf_core/reader_test.cpp
Log Message:
-----------
[libc] Templatize the scanf Reader interface (#131037)
This allows specializing the implementation for different targets
without including unnecessary logic and is similar to #111559 which did
the same for printf Writer interface.
Commit: fc38982e93d12e0a77cdd8d9068bafdc79a75ce7
https://github.com/llvm/llvm-project/commit/fc38982e93d12e0a77cdd8d9068bafdc79a75ce7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/SetVector.h
M llvm/unittests/ADT/SetVectorTest.cpp
Log Message:
-----------
[ADT] Add SetVector::insert_range (#131715)
This patch adds SetVector::insert_range for consistency with
DenseSet::insert_range and std::set::insert_range from C++23.
Commit: 2df02548289faa34629814fd851667d45db0bb1b
https://github.com/llvm/llvm-project/commit/2df02548289faa34629814fd851667d45db0bb1b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallSet.h
M llvm/unittests/ADT/SmallSetTest.cpp
Log Message:
-----------
[ADT] Add SmallSet::insert_range (#131717)
This patch adds SmallSet::insert_range for consistency with
DenseSet::insert_range and std::set::insert_range from C++23.
Commit: f6ad65a8248d8fdc03b602891aabbdf715e589b0
https://github.com/llvm/llvm-project/commit/f6ad65a8248d8fdc03b602891aabbdf715e589b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/unittests/ADT/SmallPtrSetTest.cpp
Log Message:
-----------
[ADT] Add SmallPtrSet::insert_range (#131716)
This pach adds SmallPtrSet::insert_range for consistency with
DenseSet::insert_range and std::set::insert_range from C++23.
Commit: 62204482c02e896d7c86b2483952169968ad1ae5
https://github.com/llvm/llvm-project/commit/62204482c02e896d7c86b2483952169968ad1ae5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#131722)
Commit: 58dd3eda4e3d0e8a4dd3a5f1267ee259cdb5442c
https://github.com/llvm/llvm-project/commit/58dd3eda4e3d0e8a4dd3a5f1267ee259cdb5442c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#131723)
Commit: 57dc71352c75f88e6819314b2b0e81a62bf285e9
https://github.com/llvm/llvm-project/commit/57dc71352c75f88e6819314b2b0e81a62bf285e9
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
Log Message:
-----------
[MLIR][Bufferization] Retire `enforce-aliasing-invariants` (#130929)
Why? This option can lead to incorrect IR if used in isolation, for
example, consider the IR below:
```mlir
func.func @loop_with_aliasing(%arg0: tensor<5xf32>, %arg1: index, %arg2: index) -> tensor<5xf32> {
%c1 = arith.constant 1 : index
%cst = arith.constant 1.000000e+00 : f32
%0 = tensor.empty() : tensor<5xf32>
%1 = linalg.fill ins(%cst : f32) outs(%0 : tensor<5xf32>) -> tensor<5xf32>
// The BufferizableOpInterface says that %2 alias with %arg0 or be a newly
// allocated buffer
%2 = scf.for %arg3 = %arg1 to %arg2 step %c1 iter_args(%arg4 = %arg0) -> (tensor<5xf32>) {
scf.yield %1 : tensor<5xf32>
}
%cst_0 = arith.constant 1.000000e+00 : f32
%inserted = tensor.insert %cst_0 into %1[%c1] : tensor<5xf32>
return %2 : tensor<5xf32>
}
```
If we bufferize with: enforce-aliasing-invariants=false, we get:
```
func.func @loop_with_aliasing(%arg0: memref<5xf32, strided<[?], offset: ?>>, %arg1: index, %arg2: index) -> memref<5xf32, strided<[?], offset: ?>> {
%c1 = arith.constant 1 : index
%cst = arith.constant 1.000000e+00 : f32
%alloc = memref.alloc() {alignment = 64 : i64} : memref<5xf32>
linalg.fill ins(%cst : f32) outs(%alloc : memref<5xf32>)
%0 = scf.for %arg3 = %arg1 to %arg2 step %c1 iter_args(%arg4 = %arg0) -> (memref<5xf32, strided<[?], offset: ?>>) {
%cast = memref.cast %alloc : memref<5xf32> to memref<5xf32, strided<[?], offset: ?>>
scf.yield %cast : memref<5xf32, strided<[?], offset: ?>>
}
%cst_0 = arith.constant 1.000000e+00 : f32
memref.store %cst_0, %alloc[%c1] : memref<5xf32>
return %0 : memref<5xf32, strided<[?], offset: ?>>
}
```
Which is not correct IR since the loop yields the allocation.
I am using this option. What do I need to do now?
If you are using this option in isolation, you are possibly generating
incorrect IR, so you need to revisit your bufferization strategy. If you
are using it together with `copyBeforeWrite,` you simply need to retire
the `enforceAliasingInvariants` option.
Co-authored-by: Matthias Springer <mspringer at nvidia.com>
Commit: 489d1e764e973fc0d46bad93e46ca156ded5b406
https://github.com/llvm/llvm-project/commit/489d1e764e973fc0d46bad93e46ca156ded5b406
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
Log Message:
-----------
[LV][NFC] Pre-commit test for supporting strided accesses. (#130563)
Duplicate riscv-vector-reverse.ll as riscv-vector-reverse-output.ll to
verify all generated IR, not just debug output.
Pre-commit for #128718.
Commit: e614e840bc6419ecde584605f2b813dcda7582e7
https://github.com/llvm/llvm-project/commit/e614e840bc6419ecde584605f2b813dcda7582e7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Transforms/GenerateRuntimeVerification.cpp
M mlir/test/Integration/Dialect/MemRef/cast-runtime-verification.mlir
A mlir/test/Integration/Dialect/MemRef/dim-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/load-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/reinterpret-cast-runtime-verification.mlir
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Add runtime verification for `memref.dim` (#130410)
Add runtime verification for `memref.dim`: check that the index is in
bounds.
Also simplify the pass pipeline for all memref runtime verification
checks.
Commit: bd1be8a242384d98ef2087f4571b464e01501f5a
https://github.com/llvm/llvm-project/commit/bd1be8a242384d98ef2087f4571b464e01501f5a
Author: David Green <david.green at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/SPIRV/SPIRVISelLowering.h
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
Log Message:
-----------
[CodeGen][GlobalISel] Add a getVectorIdxWidth and getVectorIdxLLT. (#131526)
>From #106446, this adds a variant of getVectorIdxTy that returns an LLT.
Many uses only look at the width, so a getVectorIdxWidth was added as
the common base.
Commit: 44e4b27aec8639823030dd90eb04afa6545c8352
https://github.com/llvm/llvm-project/commit/44e4b27aec8639823030dd90eb04afa6545c8352
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/test/Driver/apple-arm64-arch.c
M clang/test/Driver/compilation_database_multiarch.c
M clang/test/Driver/darwin-ld-platform-version-macos-requires-darwin.c
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/xros-driver-requires-darwin-host.c
M clang/test/Index/pch-from-libclang.c
Log Message:
-----------
[clang] Fix darwin-related tests' REQUIRES annotation (#130138)
The tests updated by this commit were designed to check features in the
clang's driver and index that require clang to be targgeting a darwin
platform while running on a darwin host. For that, their execution is
currently gated by the `REQUIRES: system-darwin` annotation.
This approach becomes a problem when trying to run such tests on a
cross-compiling build of clang on a darwin platform. When the default
target is not darwin (e.g. via `LLVM_DEFAULT_TARGET_TRIPLE `), the
tests will still run on a darwin host and fail spuriously because of the
mismatch with the target detection.
To fix this issue, this patch introduces an extra condition to the
tests' REQUIRES annotation, `target={{.*}}-{{darwin|macos}}{{.*}}`,
ensuring they only run when the relevant target is present.
Commit: 49b8d8472f9852883677d0a2b192ce1ddd877d0a
https://github.com/llvm/llvm-project/commit/49b8d8472f9852883677d0a2b192ce1ddd877d0a
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-distribute-private.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[OpenMP][MLIR] Support LLVM translation for `distribute` with delayed privatization (#131564)
Adds support for tranlating delayed privatization (`private` and
`firstprivate`) for `omp.distribute` ops.
Commit: c42952a782a65d7988e3cb81e920662cc97c1b1e
https://github.com/llvm/llvm-project/commit/c42952a782a65d7988e3cb81e920662cc97c1b1e
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[MLIR][NVVM] Add support for match.sync Op (#130718)
This change adds the `match.sync` Op to the MLIR NVVM dialect to
generate the `match.sync` PTX instruction.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-match-sync
Commit: 194eceff4327912e6f9167478262961d50516750
https://github.com/llvm/llvm-project/commit/194eceff4327912e6f9167478262961d50516750
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
A clang/test/utils/update_cc_test_checks/Inputs/filter_out_after.c
A clang/test/utils/update_cc_test_checks/Inputs/filter_out_after.c.expected
A clang/test/utils/update_cc_test_checks/filter_out_after.test
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after.ll.expected2
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after2.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after2.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after3.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/filter-out-after3.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/filter_out_after.test
M llvm/utils/UpdateTestChecks/common.py
Log Message:
-----------
update_test_checks: add new --filter-out-after option (#129739)
Whilst trying to clean up some loop vectoriser IR tests (see
test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
for example) a reviewer on PR #129047 suggested it would be
nice to have an option to stop generating CHECK lines after a
certain point. Typically when performing a transformation with
the loop vectoriser we don't usually care about any CHECK lines
generated for the scalar tail of the loop, since the scalar
loop is kept intact. Previously if you wanted to eliminate such
unwanted CHECK lines you had to run the update script, then
manually delete all the lines corresponding to the scalar loop.
This can be very time consuming if the tests ever need changing.
What I've tried to do here is add a new --filter-out-after
option alongside the existing --filter* options that provides
support for stopping the generation of any CHECK lines beyond
the line that matches the filter. With the existing filter
options we never generate CHECK-NEXT lines, but we still care
about ordering with --filter-out-after so I've amended the
code to ensure we treat this filter differently.
Commit: 036c6cb37c5647017f98291b3ecd6fb5a2ee2cf4
https://github.com/llvm/llvm-project/commit/036c6cb37c5647017f98291b3ecd6fb5a2ee2cf4
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcibi-invalid.s
A llvm/test/MC/RISCV/xqcibi-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcibi (Branch Immediate) extension (#130779)
This extension adds twelve conditional branch instructions that use an
immediate operand for the source.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: 1094ffcafbc909cf4caecaf331e97ef16250e42d
https://github.com/llvm/llvm-project/commit/1094ffcafbc909cf4caecaf331e97ef16250e42d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
A flang/test/Fir/do_concurrent.fir
M flang/test/Fir/invalid.fir
Log Message:
-----------
[flang][fir] Add MLIR op for `do concurrent` (#130893)
Adds new MLIR ops to model `do concurrent`. In order to make `do
concurrent` representation self-contained, a loop is modeled using 2
ops, one wrapper and one that contains the actual body of the loop. For
example, a 2D `do concurrent` loop is modeled as follows:
```mlir
fir.do_concurrent {
%i = fir.alloca i32
%j = fir.alloca i32
fir.do_concurrent.loop
(%i_iv, %j_iv) = (%i_lb, %j_lb) to (%i_ub, %j_ub) step (%i_st, %j_st) {
%0 = fir.convert %i_iv : (index) -> i32
fir.store %0 to %i : !fir.ref<i32>
%1 = fir.convert %j_iv : (index) -> i32
fir.store %1 to %j : !fir.ref<i32>
}
}
```
The `fir.do_concurrent` wrapper op encapsulates both the actual loop and
the allocations required for the iteration variables. The
`fir.do_concurrent.loop` op is a multi-dimensional op that contains the
loop control and body. See the ops' docs for more info.
Commit: 4ad0aa73b7d1ee36c1b1e06ac585798992075102
https://github.com/llvm/llvm-project/commit/4ad0aa73b7d1ee36c1b1e06ac585798992075102
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
Log Message:
-----------
[SSAUpdaterBulk] Add expectedly failing loop tests. (#131761)
These tests demonstrate the issue in SSAUpdaterBulk when it calculates
incoming values from loop back edges.
The failures are marked with `EXPECT_NONFATAL_FAILURE`, which is the way
to designate an "expected fail" in the Google Test suite.
Commit: f406b28f8ba0fa660e8a7b6cafc6986675abfcbf
https://github.com/llvm/llvm-project/commit/f406b28f8ba0fa660e8a7b6cafc6986675abfcbf
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
A llvm/test/CodeGen/AArch64/aarch64-sve-ldst-one.ll
M llvm/test/CodeGen/AArch64/add.ll
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/ctlz.ll
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/cttz.ll
M llvm/test/CodeGen/AArch64/mul.ll
M llvm/test/CodeGen/AArch64/neon-rshrn.ll
M llvm/test/CodeGen/AArch64/neon-truncstore.ll
M llvm/test/CodeGen/AArch64/sadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/shufflevector.ll
M llvm/test/CodeGen/AArch64/ssub_sat_vec.ll
M llvm/test/CodeGen/AArch64/store.ll
M llvm/test/CodeGen/AArch64/sub.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-masked-gather-scatter.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-stores.ll
M llvm/test/CodeGen/AArch64/uadd_sat_vec.ll
M llvm/test/CodeGen/AArch64/usub_sat_vec.ll
Log Message:
-----------
[AArch64][SVE] Fold integer lane extract and store to FPR store (#129756)
This helps avoid pointless fmovs to GPRs, which may be slow, especially
in streaming mode.
Commit: f7716047c6b1379722e4523d3f3a5177fa50d323
https://github.com/llvm/llvm-project/commit/f7716047c6b1379722e4523d3f3a5177fa50d323
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/lib/AST/ItaniumMangle.cpp
Log Message:
-----------
[Clang][NFC] Cleanup UnaryExprOrTypeTraitExpr itanium mangling code (#131764)
Just removing some code duplication.
Extracted from #131515
Commit: c5fe075eaf92edf31f7b73d38fc59bf56bf4f3bb
https://github.com/llvm/llvm-project/commit/c5fe075eaf92edf31f7b73d38fc59bf56bf4f3bb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-budget-exhausted.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-loadstores.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-max-regs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-memset.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-non-constant-index.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-pointer-array.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-subvecs.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-vector-to-vector.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-vgpr-ratio.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-limits.ll
Log Message:
-----------
AMDGPU: Use freeze poison instead of undef in alloca promotion (#131285)
Previously the value created to represent the uninitialized memory
of the alloca was undef. Use freeze poison instead. Enables some
optimization improvements (which need defeating in the limit tests),
but also a few regressions. Seems to leave behind dead code in some
cases too.
Commit: 8392573469b4a111c033ee0887f8115b21e2dcd2
https://github.com/llvm/llvm-project/commit/8392573469b4a111c033ee0887f8115b21e2dcd2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Replace unused export inputs with poison instead of undef (#131286)
Commit: 052eca9ff74eaa6df8e15b6af6161ec2801e61b5
https://github.com/llvm/llvm-project/commit/052eca9ff74eaa6df8e15b6af6161ec2801e61b5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Replace unused update.dpp inputs with poison instead of undef (#131287)
Commit: c180fc80dc1d151e740ae477bfa327aba94704dc
https://github.com/llvm/llvm-project/commit/c180fc80dc1d151e740ae477bfa327aba94704dc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Replace unused permlane inputs with poison instead of undef (#131288)
Commit: 586580742123a8e3c1032369e8a2750c2c49685f
https://github.com/llvm/llvm-project/commit/586580742123a8e3c1032369e8a2750c2c49685f
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
Log Message:
-----------
Reapply "[analyzer] Delay the checker constructions after parsing" (#128369)
Reapply "[analyzer] Delay the checker constructions after parsing"
(#128350)
This reverts commit db836edf47f36ed04cab919a7a2c4414f4d0d7e6, as-is.
Depends on #128368
Commit: 0a21ef9536e0f591d334b230bd388bcb503e27ec
https://github.com/llvm/llvm-project/commit/0a21ef9536e0f591d334b230bd388bcb503e27ec
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
Log Message:
-----------
[AMDGPU] Add SubtargetFeature for dynamic VGPR mode (#130030)
This represents a hardware mode supported only for wave32 compute
shaders. When enabled, we set the `.dynamic_vgpr_en` field of
`.compute_registers` to true in the PAL metadata.
This will be changed to use an attribute after downstream consumers
have been migrated.
Commit: 5d53a88416dbf9e5771ff66ec744f96e59ebabb4
https://github.com/llvm/llvm-project/commit/5d53a88416dbf9e5771ff66ec744f96e59ebabb4
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Change RISCVMCExpr::VK_RISCV_None to RISCVMCExpr::VK_None (#131774)
Fix RISCVMCExpr::VK_RISCV_None which were added in #130779
Commit: 31e98c70370c7498891d4fb075a6b2b81885b0dd
https://github.com/llvm/llvm-project/commit/31e98c70370c7498891d4fb075a6b2b81885b0dd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/abs-codesize.ll
R llvm/test/Analysis/CostModel/X86/abs-latency.ll
R llvm/test/Analysis/CostModel/X86/abs-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/abs.ll
Log Message:
-----------
[CostModel][X86] merge abs costs tests using -cost-kind=all (#131619)
Now that we have #130490 - merge the cost test files to avoid bitrot
Lots more set of files to do - but this is give an example
Commit: 9cf46fb2303627fd2c74ed88dcd9f3f8cbfe0c93
https://github.com/llvm/llvm-project/commit/9cf46fb2303627fd2c74ed88dcd9f3f8cbfe0c93
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Lex/Lexer.h
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
A clang/test/C/C2y/n3353.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Add octal prefixes, deprecate unprefixed octals (#131626)
WG14 N3353 added support for 0o and 0O as octal literal prefixes. It
also deprecates use of octal literals without a prefix, except for the
literal 0.
This feature is being exposed as an extension in older C language modes
as well as in all C++ language modes.
Commit: 332f0603635d06986d6d3c8c9ba4fee04c7cab18
https://github.com/llvm/llvm-project/commit/332f0603635d06986d6d3c8c9ba4fee04c7cab18
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/constant-address-space-32bit.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
A llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/preserve-inbounds.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn-addrspace-addressing-modes.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep-and-gvn.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/split-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep-and-gvn.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/split-gep.ll
M llvm/test/Transforms/SeparateConstOffsetFromGEP/RISCV/split-gep.ll
M llvm/test/Transforms/StraightLineStrengthReduce/AMDGPU/reassociate-geps-and-slsr-addrspace.ll
M llvm/test/Transforms/StraightLineStrengthReduce/NVPTX/reassociate-geps-and-slsr.ll
Log Message:
-----------
[SeparateConstOffsetFromGEP] Don't set unsound inbounds flag (#130616)
The language reference says about inbounds geps that "if the
getelementptr has any non-zero indices[...] [t]he base pointer has an in
bounds address of the allocated object that it is based on [and]
[d]uring the successive addition of offsets to the address, the
resulting pointer must remain in bounds of the allocated object at each
step."
If (gep inbounds p, (a + 5)) is translated to (gep [inbounds] (gep p,
a), 5) with p pointing to the beginning of an object and a=-4, as the
example in the comments suggests, that's the case for neither of the
resulting geps. Therefore, we need to clear the inbounds flag for both
geps.
We might want to use ValueTracking to check if a is known to be
non-negative to preserve the inbounds flags.
For the AMDGPU tests with scratch instructions, removing the unsound
inbounds flag means that AMDGPUDAGToDAGISel::isFlatScratchBaseLegal sees
no NUW flag at the pointer add, which prevents generation of scratch
instructions with immediate offsets.
For SWDEV-516125.
Commit: aea3ad8bd3a35adc021cf80b97fad073ece8737b
https://github.com/llvm/llvm-project/commit/aea3ad8bd3a35adc021cf80b97fad073ece8737b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] canCreateUndefOrPoisonForTargetNode - add handling for VPERMV3 intrinsic opcodes (#131768)
We already handle the X86ISD::VPERMV3 node type, but if we can handle equivalent cases before intrinsic lowering we can simplify the code further - e.g. #109272 before constant BUILD_VECTOR nodes gets lowered to constant pool loads.
Commit: 2586e7fcd8ea8485867a2af11daf8a4f42ece704
https://github.com/llvm/llvm-project/commit/2586e7fcd8ea8485867a2af11daf8a4f42ece704
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
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-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
Log Message:
-----------
[LV][NFC] Tidy up partial reduction tests with filter-out-after option (#129047)
A few test files seemed to have been edited after using the
update_test_checks.py script, which can make life hard for
developers when trying to update these tests in future
patches. Also, the tests still had this comment at the top
; NOTE: Assertions have been autogenerated by ...
which could potentially be confusing, since they've not
strictly been auto-generated.
I've attempted to keep the spirit of the original tests by
excluding all CHECK lines after the scalar.ph IR block,
however I've done this by using a new option called
--filter-out-after to the update_test_checks.py script.
Commit: 3d631914677b58a5479b310f480ac76e27d41e7e
https://github.com/llvm/llvm-project/commit/3d631914677b58a5479b310f480ac76e27d41e7e
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-trunc-nowrap.ll
Log Message:
-----------
[X86] Ignore NSW when DstSVT is i32 (#131755)
We don't have PACKSS for i64->i32.
Fixes: https://godbolt.org/z/qb8nxnPbK, which was introduced by ddd2f57b
Commit: 23743f5bf974ed1171fd8123f8d2af0f43be3596
https://github.com/llvm/llvm-project/commit/23743f5bf974ed1171fd8123f8d2af0f43be3596
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/ELFAttrParserExtended.h
A llvm/test/MC/AArch64/build-attributes-asm-arch-specific-empty.s
A llvm/test/MC/AArch64/build-attributes-asm-arch-specific.s
Log Message:
-----------
[readobj][ELFExtendedAttrParser] Add destructor with error handling (#131783)
ELFExtendedAttrParser lacked a destructor that properly handled errors,
causing `llvm-readobj --arch-specific` to crash when the AArch64 Build
Attributes section was empty.
This commit adds error handling in the destructor and introduces test
files for `--arch-specific` to cover both an empty AArch64 Build
Attributes section and a populated one.
Fixes:
https://github.com/sivan-shani/llvm-project/commit/b1ebfac1859c4fd1db3620098f6af4fd98e6174d
Commit: 428b320bf31329559ee9f8dd888be4f86cfa68e8
https://github.com/llvm/llvm-project/commit/428b320bf31329559ee9f8dd888be4f86cfa68e8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_at_least.pass.cpp
Log Message:
-----------
[libc++] Fix allocate_at_least test that assumes the size_type of the allocator (#131682)
If the size_type of the allocator is not the same as std::size_t, this
test would fail.
Commit: 84e44ae6b7319b7f02156d8ca12548f225299e91
https://github.com/llvm/llvm-project/commit/84e44ae6b7319b7f02156d8ca12548f225299e91
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCInstrAnalysis.h
M llvm/include/llvm/Object/ELFObjectFile.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/tools/llvm-cfi-verify/lib/FileAnalysis.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump] Pass MCSubtargetInfo to findPltEntries (NFC) (#131773)
It allows access to subtarget features, collected in llvm-objdump.cpp,
from findPltEntries, which will be used in
https://github.com/llvm/llvm-project/pull/130764.
Commit: 83658ddb1b58fa10cf5f8ac8dfbe794b7a3701bc
https://github.com/llvm/llvm-project/commit/83658ddb1b58fa10cf5f8ac8dfbe794b7a3701bc
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/distribute.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Transforms/stack-arrays-hlfir.f90
Log Message:
-----------
[flang][OpenMP] Enable delayed privatization by default for `omp.distribute` (#131574)
Switches delayed privatization for `omp.distribute` to be on by default:
controlled by the `-openmp-enable-delayed-privatization` instead of by
`-openmp-enable-delayed-privatization-staging`.
### GFortran & Fujitsu test suite results:
#### gfotran test-suite (this PR):
```
Testing Time: 34.51s
Passed: 6569
```
#### Fujitsu without changes (commit: 0813c5cf5f52):
```
Testing Time: 155.39s
Passed : 88325
Failed : 156
Executable Missing: 408
```
#### Fujitsu with changes (this PR):
```
Testing Time: 158.54s
Passed : 88325
Failed : 156
Executable Missing: 408
```
Commit: cbc5c11feca0a65a7731de8d6eb14fddf2f233aa
https://github.com/llvm/llvm-project/commit/cbc5c11feca0a65a7731de8d6eb14fddf2f233aa
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/declare-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for implicitly linking to default declare mappers (#131006)
Commit: 4f5eed0a37cfeac9de0964ce1a9ecb72b804f1ed
https://github.com/llvm/llvm-project/commit/4f5eed0a37cfeac9de0964ce1a9ecb72b804f1ed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/bswap-codesize.ll
R llvm/test/Analysis/CostModel/X86/bswap-latency.ll
R llvm/test/Analysis/CostModel/X86/bswap-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/bswap.ll
Log Message:
-----------
[CostModel][X86] merge bswap costs tests using -cost-kind=all (#131784)
Commit: a2d7451a13ad25a9c6bb96d0910ee700d863e030
https://github.com/llvm/llvm-project/commit/a2d7451a13ad25a9c6bb96d0910ee700d863e030
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/bitreverse-codesize.ll
R llvm/test/Analysis/CostModel/X86/bitreverse-latency.ll
R llvm/test/Analysis/CostModel/X86/bitreverse-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/bitreverse.ll
Log Message:
-----------
[CostModel][X86] merge bitreverse costs tests using -cost-kind=all (#131791)
Commit: 22c6674f1d9cfbbf485f2da4f8dfbd80d666d02f
https://github.com/llvm/llvm-project/commit/22c6674f1d9cfbbf485f2da4f8dfbd80d666d02f
Author: Maryam Moghadas <maryammo at ca.ibm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
A llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
Log Message:
-----------
[PowerPC] Add Dense Math binary integer outer-Product accumulate to DMR Instructions (#130791)
This commit adds the following Dense Math Facility integer calculation
instructions: dmxvi8gerx4, dmxvi8gerx4pp, dmxvi8gerx4spp, pmdmxvi8gerx4,
pmdmxvi8gerx4pp, and pmdmxvi8gerx4spp, along with their corresponding
intrinsics and tests.
Commit: 2fbfbf499eabb84024541060c61f0d88e882c167
https://github.com/llvm/llvm-project/commit/2fbfbf499eabb84024541060c61f0d88e882c167
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M cmake/Modules/FindPrefixFromConfig.cmake
Log Message:
-----------
[cmake] Resolve symlink when finding install prefix (#124743)
When determining the install prefix in LLVMConfig.cmake etc resolve
symlinks in CMAKE_CURRENT_LIST_FILE first. The motivation for this is to
support symlinks like `/usr/lib64/cmake/llvm` to
`/usr/lib64/llvm19/lib/cmake/llvm`. This only works correctly if the
paths are relative to the resolved symlink.
It's worth noting that this *mostly* already works out of the box,
because cmake automatically does the symlink resolution when the library
is found via CMAKE_PREFIX_PATH. It just doesn't happen when it's found
via the default prefix path.
Commit: 1bb8b656a9dcdae3863508b8f33bd713e953636d
https://github.com/llvm/llvm-project/commit/1bb8b656a9dcdae3863508b8f33bd713e953636d
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/AddTest.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/SubTest.h
A libc/test/src/math/add_same_type_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/add_same_type_test.cpp
A libc/test/src/math/smoke/sub_same_type_test.cpp
A libc/test/src/math/sub_same_type_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc][math] Fix incorrect logic in fputil::generic::add_or_sub (#116129)
Fixes incorrect logic that went unnoticed until the function was tested
with output and input types that have the same underlying floating-point
format.
Commit: 8f66fb784291c897a965a9ee4c280e314dc8cee4
https://github.com/llvm/llvm-project/commit/8f66fb784291c897a965a9ee4c280e314dc8cee4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalMerge.h
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
A llvm/test/Transforms/GlobalMerge/constants.ll
Log Message:
-----------
[GlobalMerge] Fix handling of const options
For the NewPM, the merge-const option was assigned to an unused
option field. Assign it to the correct one. The merge-const-aggressive
option was not supported -- and invalid options were silently ignored.
Accept it and error on invalid options.
For the LegacyPM, the corresponding cl::opt options were ignored when
called via opt rather than llc.
Commit: ca87823438e312f4fc7f13bda6ced448e4216cf6
https://github.com/llvm/llvm-project/commit/ca87823438e312f4fc7f13bda6ced448e4216cf6
Author: Vy Nguyen <vyng at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[LLDB][NFC]Refactor common test setup into SetUp method (#131203)
Commit: d85a81b4e4cfc0fdc7c259d64f847e7bbeee56d2
https://github.com/llvm/llvm-project/commit/d85a81b4e4cfc0fdc7c259d64f847e7bbeee56d2
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/docs/ClangOffloadBundler.rst
M clang/include/clang/Driver/OffloadBundler.h
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/hip-link-bc-to-bc.hip
M clang/test/Driver/hip-link-bundle-archive.hip
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[OffloadBundler] Rework the ctor of `OffloadTargetInfo` to support AMDGPU's generic target (#122629)
The current parsing logic for the target string assumes it follows the
format `<kind>-<triple>-<target id>:<feature>`, such as
`hipv4-amdgcn-amd-amdhsa-gfx1030:+xnack`.
Specifically, it assumes that `<target id>` does not contain any `-`,
relying on `rsplit` for parsing.
However, this assumption breaks for AMDGPU's generic targets, which may
contain one or more `-`, such as `gfx10-3-generic` or `gfx12-generic`.
As a result, the existing approach using `rstrip` is no longer reliable.
This patch reworks the parsing logic to handle target strings more
robustly, including support for generic targets.
The bundler now strictly requires a 4-field target triple.
Additionally, a new Python helper function has been added to `config.py`
to normalize the target triple into the 4-field format when it is not,
ensuring tests pass reliably.
Commit: aab4ce4d5e480c440f3ec2506068164fafa9aa55
https://github.com/llvm/llvm-project/commit/aab4ce4d5e480c440f3ec2506068164fafa9aa55
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/shrink-wrap-frame-pointer.ll
Log Message:
-----------
[NFC][shrinkwrap] Add test point to capture the prologue and epilogue insertion by shrinkwrap pass for powerpc. (#131192)
This is NFC patch to capture the insertion of prologue and epilogue by
`shrinkwrap` pass for Powerpc target for functions that contain llvm
`__builtin_frame_address`.
---------
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 034dd4c26f736a36aa87de69b8fd7b5460d3752a
https://github.com/llvm/llvm-project/commit/034dd4c26f736a36aa87de69b8fd7b5460d3752a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/ctlz-codesize.ll
R llvm/test/Analysis/CostModel/X86/ctlz-latency.ll
R llvm/test/Analysis/CostModel/X86/ctlz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/ctlz.ll
Log Message:
-----------
[CostModel][X86] merge ctlz costs tests using -cost-kind=all (#131797)
Commit: 3ea89e0611b103e73c9d11028ebf24ffae61e248
https://github.com/llvm/llvm-project/commit/3ea89e0611b103e73c9d11028ebf24ffae61e248
Author: Joel Wee <joelwee at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix Bazel after 1fbfef9
Commit: f6b1b91a3d1ac403c6f53c70e9871bd22f805a9f
https://github.com/llvm/llvm-project/commit/f6b1b91a3d1ac403c6f53c70e9871bd22f805a9f
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
Log Message:
-----------
[LV][NFC] Regenerate CHECK lines in some tests (#131799)
Regenerates CHECK lines in tests that are affected by
PR #130565 to aid reviews.
Commit: f179daf77b180467edd1e0eb208b5b8988b28850
https://github.com/llvm/llvm-project/commit/f179daf77b180467edd1e0eb208b5b8988b28850
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp:121:3:
error: default label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: 075324461d4179f85d2b94397b11b9dfb788e0f5
https://github.com/llvm/llvm-project/commit/075324461d4179f85d2b94397b11b9dfb788e0f5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/unittests/ADT/SmallPtrSetTest.cpp
Log Message:
-----------
[ADT] Use separate variables in a unit test for SmallPtrSet (NFC) (#131748)
Commit: 2c56383de5ef665b7380225e777e716ee7a9b1be
https://github.com/llvm/llvm-project/commit/2c56383de5ef665b7380225e777e716ee7a9b1be
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#131719)
Commit: 695a007310c7552f74488c5b498470708661e705
https://github.com/llvm/llvm-project/commit/695a007310c7552f74488c5b498470708661e705
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86PadShortFunction.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#131725)
Commit: 127eb39a8ca9625c2ff078bcb05d2a53ee995423
https://github.com/llvm/llvm-project/commit/127eb39a8ca9625c2ff078bcb05d2a53ee995423
Author: Aleksandr Korepanov <alexander.korepanov at jetbrains.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
M llvm/unittests/DebugInfo/PDB/CMakeLists.txt
A llvm/unittests/DebugInfo/PDB/PDBVariantTest.cpp
Log Message:
-----------
[LLVM][PDB] Use IsUnsigned flag for APInt correctly (#131598)
This patch fixes an assertion that occurs in `APInt`.
The assertion can be reproduced with LLDB test
`python_api/thread/TestThreadAPI.py` (it fails).
Commit: 02b4522358f29dbe13f628647f99b28a0307a56b
https://github.com/llvm/llvm-project/commit/02b4522358f29dbe13f628647f99b28a0307a56b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/descriptor.h
Log Message:
-----------
[NFC][flang] Added deduction guide for StaticDescriptor class. (#131690)
I keep getting these warnings when building with clang-17:
`warning: 'StaticDescriptor' may not intend to support class template
argument deduction [-Wctad-maybe-unsupported]`
This change should help avoiding them.
Commit: e0bcf3aa0b641a9f72160491f68a34b7be14adc7
https://github.com/llvm/llvm-project/commit/e0bcf3aa0b641a9f72160491f68a34b7be14adc7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/test/Fir/fir-ops.fir
Log Message:
-----------
[flang] Allow no type parameters for fir.pack_array. (#131662)
Arrays with assumed-length types are represented with a box
without explicit length parameters. This patch fixes the verification
to allow it for `fir.pack_array`.
Commit: 351bcd9fe229121fac58e051f9a83dce2d3066ae
https://github.com/llvm/llvm-project/commit/351bcd9fe229121fac58e051f9a83dce2d3066ae
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
Log Message:
-----------
[libc++][NFC] Add a comment that an include is a workaround
Commit: 64cf6f9721c48667c65aab91b94d1ba4c2452978
https://github.com/llvm/llvm-project/commit/64cf6f9721c48667c65aab91b94d1ba4c2452978
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/DebugInfo/PDB/BUILD.gn
Log Message:
-----------
[gn build] Port 127eb39a8ca9
Commit: ea107d5c63e09347b01b250a6211974d7ed57efe
https://github.com/llvm/llvm-project/commit/ea107d5c63e09347b01b250a6211974d7ed57efe
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/unittests/StaticAnalyzer/AnalyzerOptionsTest.cpp
Log Message:
-----------
[NFC][analyzer] Use `CheckerBase::getName` in checker option handling (#131612)
The virtual method `ProgramPointTag::getTagDescription` had two very
distinct use cases:
- It is printed in the DOT graph visualization of the exploded graph
(that is, a debug printout).
- The checker option handling code used it to query the name of a
checker, which relied on the coincidence that in `CheckerBase` this
method is defined to be equivalent with `getName()`.
This commit switches to using `getName` in the second use case, because
this way we will be able to properly support checkers that have multiple
(separately named) parts.
The method `reportInvalidCheckerOptionName` is extended with an
additional overload that allows specifying the `CheckerPartIdx`. The
methods `getChecker*Option` could be extended analogously in the future,
but they are just convenience wrappers around the variants that directly
take `StringRef CheckerName`, so I'll only do this extension if it's
needed.
Commit: c33ef4f2d42bce2f41bff9844dfaa785a3a74b68
https://github.com/llvm/llvm-project/commit/c33ef4f2d42bce2f41bff9844dfaa785a3a74b68
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Reorder RISCVInstrInfoXCV.td to separate Operands, SDNodeXForms, formats, and instructions into separate sections. NFC (#131411)
This is more consistent with some of our other InstrInfo.td file.
Commit: 05dbabe329441541ae4896c8bf5c85f8446ba4ba
https://github.com/llvm/llvm-project/commit/05dbabe329441541ae4896c8bf5c85f8446ba4ba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/ctpop-codesize.ll
R llvm/test/Analysis/CostModel/X86/ctpop-latency.ll
R llvm/test/Analysis/CostModel/X86/ctpop-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/ctpop.ll
Log Message:
-----------
[CostModel][X86] merge ctpop costs tests using -cost-kind=all (#131802)
Commit: 6ada38b248ef80a224fd2f48841b22ae3bbf5a7b
https://github.com/llvm/llvm-project/commit/6ada38b248ef80a224fd2f48841b22ae3bbf5a7b
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
Log Message:
-----------
[RISCV][test] Add tests for sinking NOT to be fold into ANDN/ORN/XNOR/VANDN
Commit: 2175c6cb38e7bb7701219a5081f22e7877ab0380
https://github.com/llvm/llvm-project/commit/2175c6cb38e7bb7701219a5081f22e7877ab0380
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/redundant-copy-from-tail-duplicate.ll
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/common-shuffle-patterns.ll
M llvm/test/CodeGen/RISCV/rvv/compressstore.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-exttrunc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-inttoptr-ptrtoint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sad.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-scalarized.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfptoi-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmacc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrol.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub-mask.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fptosi-sat.ll
M llvm/test/CodeGen/RISCV/rvv/fptoui-sat.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/interleave-crash.ll
M llvm/test/CodeGen/RISCV/rvv/intrinsic-vector-match.ll
M llvm/test/CodeGen/RISCV/rvv/llrint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/llrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/lrint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/narrow-shift-extend.ll
M llvm/test/CodeGen/RISCV/rvv/pr61561.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/vcpop-shl-zext-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vexts-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfnmsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vfwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-x.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-f-xu.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-rtz-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-x-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvt-xu-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwcvtbf16-f-f.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmacc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwnmsac-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vfwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vitofp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vloxei.ll
M llvm/test/CodeGen/RISCV/rvv/vloxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vloxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vluxei.ll
M llvm/test/CodeGen/RISCV/rvv/vluxseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vluxseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vp-inttoptr-ptrtoint.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrol-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vror-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vsext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsext.ll
M llvm/test/CodeGen/RISCV/rvv/vsitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vuitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd.w.ll
M llvm/test/CodeGen/RISCV/rvv/vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/vwaddu.w.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwsll.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub.w.ll
M llvm/test/CodeGen/RISCV/rvv/vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/vwsubu.w.ll
M llvm/test/CodeGen/RISCV/rvv/vzext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vzext.ll
M llvm/test/CodeGen/RISCV/rvv/zvbb-demanded-bits.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Set AllocationPriority in line with LMUL (#131176)
This mechanism causes the greedy register allocator to prefer allocating
register classes with higher priority first. This helps to ensure that
high LMUL registers obtain a register without having to go through the
eviction mechanism. In practice, it seems to cause a bunch of code
churn, and some minor improvement around widening and narrowing
operations.
In a few of the widening tests, we have what look like code size
regressions because we end up with two smaller register class copies
instead of one larger one after the instruction. However, in any larger
code sequence, these are likely to be folded into the producing
instructions. (But so were the wider copies after the operation.)
Two observations:
1) We're not setting the greedy-regclass-priority-trumps-globalness flag
on the register class, so this doesn't help long mask ranges. I
thought about doing that, but the benefit is non-obvious, so I
decided it was worth a separate change at minimum.
2) We could arguably set the priority higher for the register classes
that exclude v0. I tried that, and it caused a whole bunch of
further churn. I may return to it in a separate patch.
Commit: df544b73e4206b4fd683d2c37012b4f78e8084ac
https://github.com/llvm/llvm-project/commit/df544b73e4206b4fd683d2c37012b4f78e8084ac
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/vshift-ashr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
R llvm/test/Analysis/CostModel/X86/vshift-ashr-latency.ll
R llvm/test/Analysis/CostModel/X86/vshift-ashr-sizelatency.ll
R llvm/test/Analysis/CostModel/X86/vshift-lshr-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
R llvm/test/Analysis/CostModel/X86/vshift-lshr-latency.ll
R llvm/test/Analysis/CostModel/X86/vshift-lshr-sizelatency.ll
R llvm/test/Analysis/CostModel/X86/vshift-shl-codesize.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
R llvm/test/Analysis/CostModel/X86/vshift-shl-latency.ll
R llvm/test/Analysis/CostModel/X86/vshift-shl-sizelatency.ll
Log Message:
-----------
[CostModel][X86] merge vector shifts costs tests using -cost-kind=all (#131806)
Commit: e8f79eb8980094d62a85c4a6da95e0de36c505a8
https://github.com/llvm/llvm-project/commit/e8f79eb8980094d62a85c4a6da95e0de36c505a8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
R llvm/test/Analysis/CostModel/X86/cttz-latency.ll
R llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/cttz.ll
Log Message:
-----------
[CostModel][X86] merge cttz costs tests using -cost-kind=all (#131810)
Commit: e4d910e80dc294ac3416ee0e2dfbef914d559b90
https://github.com/llvm/llvm-project/commit/e4d910e80dc294ac3416ee0e2dfbef914d559b90
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx2c-enum-compare.cpp
Log Message:
-----------
[Clang] Demote mixed enumeration arithmetic error to a warning (#131811)
In C++, defaulted to an error.
C++ removed these features but the removal negatively impacts users.
Fixes #92340
Commit: 4f7dc99a8a3e34e925ef66e7069b01b811e837ba
https://github.com/llvm/llvm-project/commit/4f7dc99a8a3e34e925ef66e7069b01b811e837ba
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV] Use MnemonicAlias instead of InstAlias for some vector instructions. NFC (#131732)
To make this work we have to apply mnemonic aliases before looking up
custom operand parsing.
Commit: 467e5a1d41d63fd1c80fee14a8d99d32515c26d6
https://github.com/llvm/llvm-project/commit/467e5a1d41d63fd1c80fee14a8d99d32515c26d6
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.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/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcisim-invalid.s
A llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcisim (Simulation Hint) extension (#128833)
This extension adds 10 instructions that provide hints to the interface
simulation environment.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/
This patch adds assembler only support.
Commit: b391e80f52f4248e4e2b766c25f83d5e62ef2d56
https://github.com/llvm/llvm-project/commit/b391e80f52f4248e4e2b766c25f83d5e62ef2d56
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/include/bitset
Log Message:
-----------
[libc++] Remove redundant assignments in bitset string-like constructors (#121424)
The following three string-like constructors for `std::bitset`
- `bitset(const CharT* str, std::size_t n, CharT zero, CharT one)`;
- `bitset(const std::basic_string<CharT, Traits, Alloc>& str, typename
std::basic_string<CharT, Traits, Alloc>::size_type pos, CharT zero,
CharT one)`;
- `bitset(std::basic_string_view<CharT, Traits> str, std::size_t pos,
std::size_t n, CharT zero, CharT one)`
already initialize the underlying storage array to all zeroes via
default-constructor of the base class `__bitset`. Therefore,
re-assigning the storage array to zeroes via `std::fill_n` in the
string-like constructors is truly redundant.
Commit: a4dc02c0e75f1880c2ce1641212830c2b8616aad
https://github.com/llvm/llvm-project/commit/a4dc02c0e75f1880c2ce1641212830c2b8616aad
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Rename VPReverseVectorPointerRecipe to VPVectorEndPointerRecipe. NFC (#131086)
After #128718 lands there will be two ways of performing a reversed
widened memory access, either by performing a consecutive unit-stride
access and a reverse, or a strided access with a negative stride.
Even though both produce a reversed vector, only the former needs
VPReverseVectorPointerRecipe which computes a pointer to the last
element of each part. A strided reverse still needs a pointer to the
first element of each part so it will use VPVectorPointerRecipe.
This renames VPReverseVectorPointerRecipe to VPVectorEndPointerRecipe to
clarify that a reversed access may not necessarily need a pointer to the
last element.
Commit: 3d083777efd1649d156a8e6da77022f801cc70f5
https://github.com/llvm/llvm-project/commit/3d083777efd1649d156a8e6da77022f801cc70f5
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libc/utils/MPFRWrapper/MPFRUtils.cpp
Log Message:
-----------
[libc] Fix compile error in MPFRWrapper when float128 is long double (#131821)
See https://lab.llvm.org/buildbot/#/builders/104/builds/18422.
Commit: 70357a21373c73fa137c7dff9c6030af75301b21
https://github.com/llvm/llvm-project/commit/70357a21373c73fa137c7dff9c6030af75301b21
Author: Christian von Elm <christian.von_elm at tu-dresden.de>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
Log Message:
-----------
[OpenMP] [OMPD] gdb plugin: remove 'imp' import (#112331)
The 'imp' library was removed in Python 3.12.
As the code never uses the imp library, the import is simply removed.
Commit: 33e5d013b7f7a6ae136a058f842b30c87623ecfb
https://github.com/llvm/llvm-project/commit/33e5d013b7f7a6ae136a058f842b30c87623ecfb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/shuffle-broadcast-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16.ll
R llvm/test/Analysis/CostModel/X86/shuffle-broadcast-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-broadcast-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
R llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-concat_subvector.ll
R llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
R llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-insert_subvector.ll
R llvm/test/Analysis/CostModel/X86/shuffle-load-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-load-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-load-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-load.ll
R llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-non-pow-2.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i1-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i1.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i16.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i32-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i32-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i32-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i32.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i64-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i64-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i64-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i64.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-replication-i8-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-replication-i8.ll
R llvm/test/Analysis/CostModel/X86/shuffle-reverse-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16.ll
R llvm/test/Analysis/CostModel/X86/shuffle-reverse-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-reverse-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse.ll
R llvm/test/Analysis/CostModel/X86/shuffle-select-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-select-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-select-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-select.ll
R llvm/test/Analysis/CostModel/X86/shuffle-single-src-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-single-src-fp16-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-single-src-fp16-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-single-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-fp16.ll
R llvm/test/Analysis/CostModel/X86/shuffle-single-src-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-single-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
R llvm/test/Analysis/CostModel/X86/shuffle-splat-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-splat-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-splat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
R llvm/test/Analysis/CostModel/X86/shuffle-splice-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-splice-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-splice-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splice.ll
R llvm/test/Analysis/CostModel/X86/shuffle-transpose-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-transpose-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-transpose-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-transpose.ll
R llvm/test/Analysis/CostModel/X86/shuffle-two-src-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-codesize.ll
R llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src-fp16.ll
R llvm/test/Analysis/CostModel/X86/shuffle-two-src-latency.ll
R llvm/test/Analysis/CostModel/X86/shuffle-two-src-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
Log Message:
-----------
[CostModel][X86] merge vector shuffle costs tests using -cost-kind=all (#131819)
Commit: 6542cf1973208a83b2f883f2143464c4fdbac9eb
https://github.com/llvm/llvm-project/commit/6542cf1973208a83b2f883f2143464c4fdbac9eb
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/unittests/Platform/CMakeLists.txt
A lldb/unittests/Platform/gdb-server/CMakeLists.txt
A lldb/unittests/Platform/gdb-server/PlatformRemoteGDBServerTest.cpp
Log Message:
-----------
[lldb/platform-gdb] Do not assume a persistent connection (#131736)
After https://reviews.llvm.org/D116539, when `m_gdb_client_up` in
`PlatformRemoteGDBServer` is not null, the connection to a server is
expected to exist. However,
`PlatformRemoteGDBServer::DisconnectRemote()` is not the only way to
close the connection;
`GDBRemoteCommunication::WaitForPacketNoLock()` can disconnect if the
server stops responding, and in this case `m_gdb_client_up` is not
cleared. The patch removes this assumption and checks the connection
status directly.
Commit: dea5aa73fa1984eddde14308803bdfca56f2bc14
https://github.com/llvm/llvm-project/commit/dea5aa73fa1984eddde14308803bdfca56f2bc14
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-idiv.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
M llvm/test/CodeGen/AMDGPU/ctlz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646-issue130119.ll
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-phi-regression-issue130646.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/frem.ll
M llvm/test/CodeGen/AMDGPU/ftrunc.f64.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
M llvm/test/CodeGen/AMDGPU/insert_waitcnt_for_precise_memory.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/multilevel-break.ll
M llvm/test/CodeGen/AMDGPU/opt-sgpr-to-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.ll
M llvm/test/CodeGen/AMDGPU/sdiv.ll
M llvm/test/CodeGen/AMDGPU/sdiv64.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole.ll
M llvm/test/CodeGen/AMDGPU/sminmax.v2i16.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srem.ll
M llvm/test/CodeGen/AMDGPU/srem64.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/udiv64.ll
M llvm/test/CodeGen/AMDGPU/udivrem.ll
M llvm/test/CodeGen/AMDGPU/urem64.ll
M llvm/test/CodeGen/AMDGPU/wave32.ll
Log Message:
-----------
AMDGPU: Move insertion into V2SCopies map (#130776)
Insert the start instruction directly into the map before the uses. This
prevents improperly re-visting sgpr->vgpr phi inputs multiple times
which
would trigger a use after free.
I don't particularly trust the iteration scheme here. This is also
unnecessarily revisting transitive users of a phi or reg_sequence for
every
input operand, but I will address that separately.
Fixes #130646. I also believe it fixes #130119, although that test fails
less consistently for me.
Commit: 27d8bd3dcab9819e1d28270be634f62bbec925cb
https://github.com/llvm/llvm-project/commit/27d8bd3dcab9819e1d28270be634f62bbec925cb
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/IR/cast.cir
A clang/test/CIR/Lowering/cast.cir
Log Message:
-----------
[CIR] Upstream CastOp and scalar conversions (#130690)
This patch upstreams ClangIR's CastOp with the following exceptions:
- No Fixed/FP conversions
- No casts between value categories
- No complex casts
- No array_to_ptrdecay
- No address_space
- No casts involving record types (member pointers, base/derived casts)
- No casts specific to ObjC or OpenCL
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 93df3e81665427e4eb3f1be60848d6d27a311897
https://github.com/llvm/llvm-project/commit/93df3e81665427e4eb3f1be60848d6d27a311897
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
A llvm/test/Analysis/BasicAA/call.ll
Log Message:
-----------
[BasicAA] Add additional test for call AA (NFC)
Commit: 7b3455e24ab5aa090e5b2b9ce50c249843c45754
https://github.com/llvm/llvm-project/commit/7b3455e24ab5aa090e5b2b9ce50c249843c45754
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/unittests/API/SBCommandInterpreterTest.cpp
Log Message:
-----------
[lldb] Fix double free in CommandPluginInterfaceImplementation (#131658)
The class was taking ownership of the SBCommandPluginInterface pointer
it was passed in, by wrapping it in a shared pointer. This causes a
double free in the unit test when the object is destroyed and the same
pointer gets freed once when the SBCommandPluginInterface goes away and
then again when the shared pointer hits a zero refcount.
Commit: 1ae307a709f81e57356cd135f6a30c3c6174cd70
https://github.com/llvm/llvm-project/commit/1ae307a709f81e57356cd135f6a30c3c6174cd70
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
A clang/test/CIR/Tools/cir-translate-triple.cir
A clang/test/CIR/Tools/has-triple-and-data-layout.cir
A clang/test/CIR/Tools/has-triple-no-data-layout.cir
A clang/test/CIR/Tools/invalid-translate-triple.cir
A clang/test/CIR/Tools/no-triple-has-data-layout.cir
A clang/test/CIR/Tools/no-triple-no-data-layout.cir
A clang/test/CIR/Tools/warn-default-triple.cir
M clang/tools/CMakeLists.txt
A clang/tools/cir-lsp-server/CMakeLists.txt
A clang/tools/cir-lsp-server/cir-lsp-server.cpp
A clang/tools/cir-translate/CMakeLists.txt
A clang/tools/cir-translate/cir-translate.cpp
Log Message:
-----------
[CIR] Add cir-translate and cir-lsp-server tools (#131181)
Adds two new clang tools to the tree.
* cir-translate: Translates CIR to LLVM, similar to mlir-translate
* cir-lsp-server: Implementation of the Language Server Protocol for
ClangIR, similar to fir-lsp-server
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Commit: 24fbf9dd428dc0a571ccd28e730f0411ef6c5ff8
https://github.com/llvm/llvm-project/commit/24fbf9dd428dc0a571ccd28e730f0411ef6c5ff8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/arith-ssat-codesize.ll
R llvm/test/Analysis/CostModel/X86/arith-ssat-latency.ll
R llvm/test/Analysis/CostModel/X86/arith-ssat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-ssat.ll
R llvm/test/Analysis/CostModel/X86/arith-usat-codesize.ll
R llvm/test/Analysis/CostModel/X86/arith-usat-latency.ll
R llvm/test/Analysis/CostModel/X86/arith-usat-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-usat.ll
Log Message:
-----------
[CostModel][X86] merge saturated arithmetic costs tests using -cost-kind=all (#131828)
Commit: d43b4ede6649e4ecf650a4660f62840e95043898
https://github.com/llvm/llvm-project/commit/d43b4ede6649e4ecf650a4660f62840e95043898
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-linkage-intrinsic-global-variables.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Do not remove appending linkage from intrinsic globals (#131713)
Commit: 6d38dbf6eb56fd2b3399565af455de96a99ffa0f
https://github.com/llvm/llvm-project/commit/6d38dbf6eb56fd2b3399565af455de96a99ffa0f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Skip reverse continue tests on macos<15.0
They're failing for unknown reasons.
Commit: 84909d797782a0dcf240f79a8e5e863d8165c03f
https://github.com/llvm/llvm-project/commit/84909d797782a0dcf240f79a8e5e863d8165c03f
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/sema-v-unsched-bundle.ll
Log Message:
-----------
[AMDGCN] Allow unscheduling of bundled insns
This is a patch arising from AMD's fuzzing project.
In the test case, the scheduling algorithm decides to undo an attempted
schedule, but is unprepared to handle bundled instructions at that
point -- and those can arise via the expansion of intrinsics earlier
in compilation. The fix is to use the splice method instead of
remove/insert, since that can handle bundles properly.
Commit: 45090b3059562b32723cd25679db75d1574ab04e
https://github.com/llvm/llvm-project/commit/45090b3059562b32723cd25679db75d1574ab04e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/same-last-instruction-different-parents.ll
Log Message:
-----------
[SLP]Check the whole def-use chain in the tree to find proper dominance, if the last instruction is the same
If the insertion point (last instruction) of the user nodes is the same,
need to check the whole def-use chain in the tree to find proper
dominance to prevent a compiler crash.
Fixes #131818
Commit: 6c7c660afe0ccddcd1bac0c153280d105d04590f
https://github.com/llvm/llvm-project/commit/6c7c660afe0ccddcd1bac0c153280d105d04590f
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/Clauses.cpp
Log Message:
-----------
[flang] Use C-style casts to silence message (NFC) (#131796)
Commit: b271b44158804256a982fe8b2c5edbdba3a0bf15
https://github.com/llvm/llvm-project/commit/b271b44158804256a982fe8b2c5edbdba3a0bf15
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/include/__mutex/once_flag.h
M libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp
M libcxx/test/support/operator_hijacker.h
Log Message:
-----------
[libc++] Guard call_once against operator hijacking. (#128054)
Commit: 76a9d792d93990bb24a6e2e17a204000f3a0d572
https://github.com/llvm/llvm-project/commit/76a9d792d93990bb24a6e2e17a204000f3a0d572
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/include/__functional/function.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/locale
Log Message:
-----------
[NFC][libc++] Guard against operator& hijacking. (#129453)
Commit: 168177a0bd009269bec4d752b8096c63c492af76
https://github.com/llvm/llvm-project/commit/168177a0bd009269bec4d752b8096c63c492af76
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/arith-sminmax-codesize.ll
R llvm/test/Analysis/CostModel/X86/arith-sminmax-latency.ll
R llvm/test/Analysis/CostModel/X86/arith-sminmax-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-sminmax.ll
R llvm/test/Analysis/CostModel/X86/arith-uminmax-codesize.ll
R llvm/test/Analysis/CostModel/X86/arith-uminmax-latency.ll
R llvm/test/Analysis/CostModel/X86/arith-uminmax-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-uminmax.ll
Log Message:
-----------
[CostModel][X86] merge arithmetic integer min/max costs tests using -cost-kind=all (#131834)
Commit: 04ab8a5fba71f7ec65634cc118dc13798a9037fc
https://github.com/llvm/llvm-project/commit/04ab8a5fba71f7ec65634cc118dc13798a9037fc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libc/src/stdio/scanf_core/vfscanf_internal.h
Log Message:
-----------
[libc] Fix the GPU build after scanf rework
Summary:
Needs these to be included.
Commit: 1a9521565019edc8589f234c95477ab0a6b164d5
https://github.com/llvm/llvm-project/commit/1a9521565019edc8589f234c95477ab0a6b164d5
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/test/CodeGen/DirectX/ShaderFlags/double-extensions.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/int64ops.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/propagate-function-flags-test.ll
Log Message:
-----------
[DirectX] Set function-level flag Int64Ops in DXIL Shader Flags Analysis (#129089)
Fixes #114562
Commit: d3bcbd6b32bfee6e924397e704fcf2a94659af6b
https://github.com/llvm/llvm-project/commit/d3bcbd6b32bfee6e924397e704fcf2a94659af6b
Author: john-stuart2 <john.stuart.science at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
Log Message:
-----------
[Docs] Fix concat vectors (#131860)
GenericOpcodes.td states that the number of operands are variadic.
let InOperandList = (ins type1:$src0, variable_ops);
X86 supports up to 4 inputs. The example uses 512-bit aka AVX-512 to
make it look real and show the effect of the ~many operands.
Test plan: ninja docs-llvm-html
Commit: 40c6f8984126407569b9b86f11050046950a4b3e
https://github.com/llvm/llvm-project/commit/40c6f8984126407569b9b86f11050046950a4b3e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/arith-fp-codesize.ll
R llvm/test/Analysis/CostModel/X86/arith-fp-latency.ll
R llvm/test/Analysis/CostModel/X86/arith-fp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-fp.ll
Log Message:
-----------
[CostModel][X86] merge fp arithmetic costs tests using -cost-kind=all (#131839)
Commit: a5a9b2b92ff02d9b95e43af9f4fcf4c3823333b2
https://github.com/llvm/llvm-project/commit/a5a9b2b92ff02d9b95e43af9f4fcf4c3823333b2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/arith-int-codesize.ll
R llvm/test/Analysis/CostModel/X86/arith-int-latency.ll
R llvm/test/Analysis/CostModel/X86/arith-int-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/arith-int.ll
Log Message:
-----------
[CostModel][X86] merge integer arithmetic costs tests using -cost-kind=all (#131840)
Commit: 9feac2cbd0d80927ce9a8b4c3e810d2b81802d55
https://github.com/llvm/llvm-project/commit/9feac2cbd0d80927ce9a8b4c3e810d2b81802d55
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp
Log Message:
-----------
[libc++] Improve deprecated diagnostic guards.
Recent Clang-21 builds improved the deprecated diagnotics. This
uncovered missing guards in libc++ internally.
Note: This patch should be a separate commit and not merged.
For testing purposes they are combined.
Reviewed as part of #130497.
Commit: dbc7665b24eca1568902808bfb05db4b752cad19
https://github.com/llvm/llvm-project/commit/dbc7665b24eca1568902808bfb05db4b752cad19
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/test/CodeGen/PowerPC/bfloat16-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/mma-acc-copy-hints.ll
M llvm/test/CodeGen/PowerPC/mma-acc-memops.ll
M llvm/test/CodeGen/PowerPC/mma-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mma-integer-based-outer-product.ll
M llvm/test/CodeGen/PowerPC/mma-intrinsics.ll
M llvm/test/CodeGen/PowerPC/mma-outer-product.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/paired-vector-intrinsics.ll
M llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc-bugfix.ll
M llvm/test/CodeGen/PowerPC/ppc64-acc-regalloc.ll
Log Message:
-----------
PowerPC: Use REG_SEQUENCE instead of INSERT_SUBREG (#129941)
Update to use REG_SEQUENCE when possible.
This patch only update td pattern to utilize REG_SEQUENCE for
INSERT_SUBREG for cases where it does not produce
a nesting of REG_SEQUENCE. This seem to show some improvement in code
gen for `llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll`.
Fixes part of https://github.com/llvm/llvm-project/issues/125502
Commit: b326cb6792b3951881d63d5a02ea163921da18d9
https://github.com/llvm/llvm-project/commit/b326cb6792b3951881d63d5a02ea163921da18d9
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Support trunc to i1 in foldSelectICmpAnd (#127905)
proof: https://alive2.llvm.org/ce/z/Ey6BoT
Commit: 19970535f92c0f2dcda01b7fc60f95945166e424
https://github.com/llvm/llvm-project/commit/19970535f92c0f2dcda01b7fc60f95945166e424
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#131724)
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: e6c3d94915f55cf01b0a29266f0ea9881b4676f7
https://github.com/llvm/llvm-project/commit/e6c3d94915f55cf01b0a29266f0ea9881b4676f7
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Add test for foldSelectICmpAndBinOp with range attribute. (NFC)
Commit: 8cc9a485792240314ad723dcf6661490850d2c98
https://github.com/llvm/llvm-project/commit/8cc9a485792240314ad723dcf6661490850d2c98
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/Sema/aarch64-sve-vector-exp-ops.c
M clang/test/Sema/aarch64-sve-vector-log-ops.c
M clang/test/Sema/aarch64-sve-vector-pow-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-reduction-math.c
M clang/test/Sema/count-builtins.c
M clang/test/Sema/riscv-rvv-vector-exp-ops.c
M clang/test/Sema/riscv-rvv-vector-log-ops.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/riscv-sve-vector-pow-ops.c
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
Log Message:
-----------
[clang] Improve diagnostics for vector builtins (#125673)
This commit improves the diagnostics for vector (elementwise) builtins
in a couple of ways.
It primarily provides more precise type-checking diagnostics for
builtins with specific type requirements. Previously many builtins were
receiving a catch-all diagnostic suggesting types which aren't valid.
It also makes consistent the type-checking behaviour between various
binary and ternary builtins. The binary builtins would check for
mismatched argument types before specific type requirements, whereas
ternary builtins would perform the checks in the reverse order. The
binary builtins now behave as the ternary ones do.
Commit: 14c95e0c8b25f6deba47cd279c5dcdeef3870159
https://github.com/llvm/llvm-project/commit/14c95e0c8b25f6deba47cd279c5dcdeef3870159
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPort.h
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
M compiler-rt/test/profile/Posix/instrprof-fork.c
A compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
Log Message:
-----------
[profile] Implement a non-mmap path when reading profile files from a non-local filesystem (#131177)
On AIX, when accessing mmap'ed memory associated to a file on NFS, a
SIGBUS might be raised at random.
The problem is still in open state with the OS team.
This PR teaches the profile runtime, under certain conditions, to avoid
the mmap when reading the profile file during online merging.
This PR has no effect on any platform other than AIX because I'm not
aware of this problem on other platforms.
Other platforms can easily opt-in to this functionality in the future.
The logic in function `is_local_filesystem` was copied from
[llvm/lib/Support/Unix/Path.inc](https://github.com/llvm/llvm-project/blob/f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d/llvm/lib/Support/Unix/Path.inc#L515)
(https://reviews.llvm.org/D58801), because it seems that the
compiler-rt/profile cannot reuse code from llvm except through
`InstrProfData.inc`.
Thanks to @hubert-reinterpretcast for substantial feedback downstream.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
Commit: 123c0040d4e6565091f20c4d6483ae76f1d8f57c
https://github.com/llvm/llvm-project/commit/123c0040d4e6565091f20c4d6483ae76f1d8f57c
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-03-18 (Tue, 18 Mar 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/hdr/types/CMakeLists.txt
A libc/hdr/types/struct_dl_phdr_info.h
M libc/include/CMakeLists.txt
R libc/include/link.h.def
M libc/include/link.yaml
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
A libc/include/llvm-libc-types/struct_dl_phdr_info.h
M libc/src/CMakeLists.txt
A libc/src/link/CMakeLists.txt
A libc/src/link/dl_iterate_phdr.cpp
A libc/src/link/dl_iterate_phdr.h
M libc/utils/hdrgen/hdrgen/header.py
Log Message:
-----------
[libc] Define (stub) dl_iterate_phdr (#131436)
This fleshes out the <link.h> a little more, including the
`struct dl_phdr_info` type and declaring the dl_iterate_phdr
function. There is only a no-op implementation without tests, as
for the existing dlfcn functions.
Commit: b42f8ec26d5098128b32cc12b5daf342d26fd42e
https://github.com/llvm/llvm-project/commit/b42f8ec26d5098128b32cc12b5daf342d26fd42e
Author: David Green <david.green at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/aggregates.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/div_cte.ll
M llvm/test/Analysis/CostModel/AArch64/fp-conversions-odd-vector-types.ll
M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
M llvm/test/Analysis/CostModel/AArch64/load-to-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/logicalop.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-extract.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-store.ll
M llvm/test/Analysis/CostModel/AArch64/store-ptr.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reduce.ll
Log Message:
-----------
[AArch64] Update a number of costmodel tests with -cost-kind=all. NFC
Commit: 6313550aced5a611213ac2a551e3a900e8740506
https://github.com/llvm/llvm-project/commit/6313550aced5a611213ac2a551e3a900e8740506
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#131720)
Commit: 460b9cda8109b6978a274e1ea9d762f888b044f6
https://github.com/llvm/llvm-project/commit/460b9cda8109b6978a274e1ea9d762f888b044f6
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-03-18 (Tue, 18 Mar 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
Log Message:
-----------
[libc] Disable dl_iterate_phdr entrypoint for linux fullbuild (#131893)
There are some issues with typedef conflicts between libc headers
and Linux kernel headers arising. Disable building the new code
for Linux for now.
Commit: d039af33096c0a83b03475a240d5e281e2271c44
https://github.com/llvm/llvm-project/commit/d039af33096c0a83b03475a240d5e281e2271c44
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libc/test/UnitTest/CMakeLists.txt
A libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/unlink_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel
Log Message:
-----------
[libc] Create ErrnoCheckingTest harness to simplify errno tests. (#131703)
See the discussion in PR
https://github.com/llvm/llvm-project/pull/131650 on why we need to clear
the errno at the beginning of some tests, and outlining the various solutions.
Introduce ErrnoCheckingTest base class and use it for unlink_test as an example.
Commit: fbbb33f4001d24445f0a103f0a5464f129679a76
https://github.com/llvm/llvm-project/commit/fbbb33f4001d24445f0a103f0a5464f129679a76
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Utils/IndexingUtils.cpp
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
Log Message:
-----------
[mlir] Fix crash when verifying linalg.transpose (#131733)
Adds checks in `isPermutationVector` for indices that are outside of the
bounds and removes the assert.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 0619892cab8a5cc24e25f7eddcff7316757a1ff0
https://github.com/llvm/llvm-project/commit/0619892cab8a5cc24e25f7eddcff7316757a1ff0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Bump max workflow to process count in metrics
This patch bumps the maximum number of metrics to look through when
collecting metrics data. We are currently running into issues where we
are losing data due to the most recent 1000 workflows not containing the
workflows that we actually need to query. Just double it for now.
I plan on monitoring this reasonably closely to ensure we do not run
into issues, mainly API rate limits.
Commit: bc8b19c7575f3882b7655e129d4fc3b74c7fbba3
https://github.com/llvm/llvm-project/commit/bc8b19c7575f3882b7655e129d4fc3b74c7fbba3
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/mangle.cpp
A clang/test/SemaCXX/builtin-structured-binding-size.cpp
Log Message:
-----------
[Clang] Introduce a trait to determine the structure binding size (#131515)
Introduce a trait to determine the number of bindings that would be
produced by
```cpp
auto [...p] = expr;
```
This is necessary to implement P2300
(https://eel.is/c++draft/exec#snd.concepts-5), but can also be used to
implement a general get<N> function that supports aggregates
`__builtin_structured_binding_size` is a unary type trait that evaluates
to the number of bindings in a decomposition
If the argument cannot be decomposed, a sfinae-friendly error is
produced.
A type is considered a valid tuple if `std::tuple_size_v<T>` is a valid
expression, even if there is no valid `std::tuple_element`
specialization or suitable `get` function for that type.
Fixes #46049
Commit: 4ab011a9502218fc08a609348054307b4a651d83
https://github.com/llvm/llvm-project/commit/4ab011a9502218fc08a609348054307b4a651d83
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Precommit store merge tests for pr130430
Commit: 7d7b58bc5d2bacc3d76463d2ee06a13d2a08b084
https://github.com/llvm/llvm-project/commit/7d7b58bc5d2bacc3d76463d2ee06a13d2a08b084
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Runtime/Transformational.cpp
M flang/docs/ArrayRepacking.md
M flang/include/flang/Optimizer/Builder/Runtime/Transformational.h
M flang/include/flang/Runtime/transformational.h
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
Log Message:
-----------
[flang-rt] Added ShallowCopy API. (#131702)
This API will be used for copying non-contiguous arrays
into contiguous temporaries to support `-frepack-arrays`.
The builder factory API will be used in the following commits.
Commit: 71f391040969c0dbdf4398a78a742b1a730e2e38
https://github.com/llvm/llvm-project/commit/71f391040969c0dbdf4398a78a742b1a730e2e38
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/test/lit.cfg.py
Log Message:
-----------
[clang][lit] mkdir before mkstemp in is_filesystem_case_insensitive() (#131036)
In the CMake build test_exec_root already exists here, but not in the gn
build, which causes this to fail.
Commit: 592a3ba125e9ff6fccc71084e325c02119523869
https://github.com/llvm/llvm-project/commit/592a3ba125e9ff6fccc71084e325c02119523869
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/sys/utsname.yaml
Log Message:
-----------
[libc][docs] Add sys/utsname header and documentation for uname function (#131817)
These changes tracks `utsname.h` for the implementation status of
functions and macros, with respect to the issue (
https://github.com/llvm/llvm-project/issues/122006 ).
Commit: d51bc835115f707f95acf37396f387b039e6bbc5
https://github.com/llvm/llvm-project/commit/d51bc835115f707f95acf37396f387b039e6bbc5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Only skip live-ins with constants in materializeBroadccast (NFC)
Currently this should be NFC, but will be needed in future patches.
Commit: 00c5edae173e85067a5db6f49ed6c4778787be55
https://github.com/llvm/llvm-project/commit/00c5edae173e85067a5db6f49ed6c4778787be55
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Fix typo in test added in 4ab011a95
Let's not talk about how much code I traced through before realizing
the bug was in the test, not the code...
Commit: 1442fe0c897a3a59515c3bf3c8bfe6b4d763b4a8
https://github.com/llvm/llvm-project/commit/1442fe0c897a3a59515c3bf3c8bfe6b4d763b4a8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[LV] Update test to use dereferenceable attribute instead of assumption.
Use dereferenceable attribute instead of assumption to make the tests
independent of https://github.com/llvm/llvm-project/pull/128061.
Commit: c02b935a9be888bbdf9f8cb0bf980bd411ae5893
https://github.com/llvm/llvm-project/commit/c02b935a9be888bbdf9f8cb0bf980bd411ae5893
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/State.cpp
Log Message:
-----------
[openmp][nfc] Refactor shared/lds smartstack for spirv (#131905)
Spirv doesn't have implicit conversions between address spaces (at least
at present, we might need to change that) and address space qualified
*this pointers are not handled well by clang. This commit changes the
single instance of the smartstack to be explicitly a singleton, for
fractionally simpler IR generation (no this pointer) and to sidestep the
work in progress spirv64-- openmp target not being able to compile the
original version.
Commit: 206f78dfec71b86d4f58ef6bf23cc12151f5b54d
https://github.com/llvm/llvm-project/commit/206f78dfec71b86d4f58ef6bf23cc12151f5b54d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M offload/DeviceRTL/include/Mapping.h
M offload/DeviceRTL/src/Mapping.cpp
Log Message:
-----------
[OpenMP] Use 'gpuintrin.h' definitions for simple block identifiers (#131631)
Summary:
This patch ports the runtime to use `gpuintrin.h` instead of calling the
builtins for most things. The `lanemask_gt` stuff was left for now with
a fallback.
AMD version for Ron
https://gist.github.com/jhuber6/42014d635b9a8158727640876bf47226.
Commit: 395bdebebd23962613e05c296ab608d2b669c649
https://github.com/llvm/llvm-project/commit/395bdebebd23962613e05c296ab608d2b669c649
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/State.cpp
Log Message:
-----------
Revert "[openmp][nfc] Refactor shared/lds smartstack for spirv (#131905)"
This reverts commit c02b935a9be888bbdf9f8cb0bf980bd411ae5893.
Failed a check-offload test under CI
Commit: a65cbc4213ebf263f9e838969fca34f0c72c3f1c
https://github.com/llvm/llvm-project/commit/a65cbc4213ebf263f9e838969fca34f0c72c3f1c
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
Log Message:
-----------
Revert "[Darwin][ASan][Test] Create a noinlined wrapper function for reliable suppression in test. (#131247)"
This reverts commit 78f74f686bfe21262f8b171e21450186edd081ab.
Breaks the test on x86-64 mac, e.g. https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/3852/.
Commit: 056264b838df94b689d3213424d78f8b9452041b
https://github.com/llvm/llvm-project/commit/056264b838df94b689d3213424d78f8b9452041b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
A clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
[clang][deps] Implement efficient in-process `ModuleCache` (#129751)
The dependency scanner uses implicitly-built Clang modules under the
hood. This system was originally designed to handle multiple concurrent
processes working on the same module cache, and mutual exclusion was
implemented using file locks. The scanner, however, runs within single
process, making file locks unnecessary. This patch virtualizes the
interface for module cache locking and provides an implementation based
on `std::shared_mutex`. This reduces `clang-scan-deps` runtime by ~17%
on my benchmark.
Note that even when multiple processes run a scan on the same module
cache (and therefore don't coordinate efficiently), this should still be
correct due to the strict context hash, the write-through
`InMemoryModuleCache` and the logic for rebuilding out-of-date or
incompatible modules.
Commit: d32c6dd9be6c243a2891cd9b5149f71da465aed0
https://github.com/llvm/llvm-project/commit/d32c6dd9be6c243a2891cd9b5149f71da465aed0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
Log Message:
-----------
[RISCV] Use MnemonicAlias for 'fssr' and 'frsr'. NFC (#131877)
Commit: bc646f4b302339717e363efa3e57ec3468d190aa
https://github.com/llvm/llvm-project/commit/bc646f4b302339717e363efa3e57ec3468d190aa
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Tooling/DependencyScanning/BUILD.gn
Log Message:
-----------
[gn build] Port 056264b838df
Commit: 70bf5e514b21b34b01fb572428f8fbdf267d5c3b
https://github.com/llvm/llvm-project/commit/70bf5e514b21b34b01fb572428f8fbdf267d5c3b
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
A bolt/test/AArch64/got-load-symbolization.s
Log Message:
-----------
[BOLT][AArch64] Symbolize ADRP after relaxation (#131414)
When the linker relaxes a GOT load, it changes ADRP+LDR instruction pair
into ADRP+ADD. It is relatively straightforward to detect and symbolize
the second instruction in the disassembler. However, it is not always
possible to properly symbolize the ADRP instruction without looking at
the second instruction. Hence, we have the FixRelaxationPass that adjust
the operand of ADRP by looking at the corresponding ADD.
This PR tries to properly symbolize ADRP earlier in the pipeline, i.e.
in AArch64MCSymbolizer. This change makes it easier to adjust the
instruction once we add AArch64 support in `scanExternalRefs()`.
Additionally, we get a benefit of looking at proper operands while
observing the function state prior to running FixRelaxationPass.
To disambiguate the operand of ADRP that has a GOT relocation against
it, we look at the contents/value of the operand. If it contains an
address of a page that is valid for GOT, we assume that the operand
wasn't modified by the linker and leave it up to FixRelaxationPass to do
a proper adjustment. If the page referenced by ADRP cannot point to GOT,
then it's an indication that the linker has modified the operand and we
substitute the operand with a non-GOT reference to the symbol.
Commit: deb0f3c09b77cebe01976539e2d5f07964e2dc2a
https://github.com/llvm/llvm-project/commit/deb0f3c09b77cebe01976539e2d5f07964e2dc2a
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/State.cpp
M offload/include/Shared/Utils.h
Log Message:
-----------
[openmp][nfc] Use builtin align in the devicertl (#131918)
Noticed while extracting the smartstack as a test case
Commit: 934ef305227ad4bd3d95c92e0f9cf1ad605ced9d
https://github.com/llvm/llvm-project/commit/934ef305227ad4bd3d95c92e0f9cf1ad605ced9d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
[clang] Fix warnings
This patch fixes:
clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp:38:5:
error: 'shared_lock' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp:68:7:
error: 'lock_guard' may not intend to support class template
argument deduction [-Werror,-Wctad-maybe-unsupported]
Commit: e6896f80da0d094518fce54b0fe1238f0f2c9a41
https://github.com/llvm/llvm-project/commit/e6896f80da0d094518fce54b0fe1238f0f2c9a41
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/MC/RISCV/rvzfh-aliases-valid.s
Log Message:
-----------
[RISCV] Remove unnecessary alias tests from rvzfh-aliases-valid.s. NFC
These are testing fmv.x.h and fmv.h.x which aren't aliases. This
appears to have been incorrectly copied from rvf-aliases-valid.s
where fmv.x.s and fmv.s.x are aliases for fmv.x.w and fmv.w.x.
Commit: 187277474a789b9dd1ef7aeeeb90d315a60c6e8b
https://github.com/llvm/llvm-project/commit/187277474a789b9dd1ef7aeeeb90d315a60c6e8b
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
Log Message:
-----------
[clang][deps] Fix build after #129751
Some compilers don't like having a member variable name that shadows the type name.
Commit: 2203caf860418b9ecbed8b0b205c5265ae7b4743
https://github.com/llvm/llvm-project/commit/2203caf860418b9ecbed8b0b205c5265ae7b4743
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update C++ DR status page (#131812)
CWG472 is one of the CWG issues that were assigned to Mike Miller with
`drafting` status, but recently got back to `open`, because Mike is no
longer active in CWG. Nothing to be done here, except for changing the
status.
CWG1432 was recently reopened after a CWG reflector discussion. I
changed the status to claim that we test for the previous resolution.
Commit: a6c09d40ed7fe076358429c0978838904c9cceae
https://github.com/llvm/llvm-project/commit/a6c09d40ed7fe076358429c0978838904c9cceae
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/div-codesize.ll
R llvm/test/Analysis/CostModel/X86/div-latency.ll
R llvm/test/Analysis/CostModel/X86/div-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/div.ll
R llvm/test/Analysis/CostModel/X86/rem-codesize.ll
R llvm/test/Analysis/CostModel/X86/rem-latency.ll
R llvm/test/Analysis/CostModel/X86/rem-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/rem.ll
Log Message:
-----------
[CostModel][X86] merge integer div/rem costs tests using -cost-kind=all (#131873)
Commit: a21dd255ad79442a847581e3f06900ba0a534a49
https://github.com/llvm/llvm-project/commit/a21dd255ad79442a847581e3f06900ba0a534a49
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Enforce UTF-8 in `make_cxx_dr_status` (#131816)
Otherwise Windows users have troubles with lexer tests that use emojis.
Commit: 7d4332a8f96483c02f853c353d475b2e445d0f79
https://github.com/llvm/llvm-project/commit/7d4332a8f96483c02f853c353d475b2e445d0f79
Author: thetruestblue <bblueconway at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M compiler-rt/test/asan/lit.cfg.py
Log Message:
-----------
[Darwin][Test][leaks] Disable leak detection for asan tests on non-Intel Darwin devices (#131676)
`detect_leaks` option for asan does not work well on Apple Silicon
(arm64) MacOS devices and results in hundreds of ASan test failures when
run with this option set for all tests.
We should not add this option for tests unless we are targeting an
x86_64 device for Darwin, where this seems to be tested and working
well.
rdar://147069153
Commit: 2b7c729e34b1522a737f718c492bf18cdbcd5f60
https://github.com/llvm/llvm-project/commit/2b7c729e34b1522a737f718c492bf18cdbcd5f60
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
R llvm/test/CodeGen/RISCV/rvv/common-shuffle-patterns.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave2.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp-interleave.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
R llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
Log Message:
-----------
[RISCV] Normalize test naming and layout for shuffle tests [NFC]
Commit: 93b8ef463a071d6057bc826fd244e94e8361518e
https://github.com/llvm/llvm-project/commit/93b8ef463a071d6057bc826fd244e94e8361518e
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Split and expand test coverage for zipeven/zipodd shuffles [NFC]
Commit: 8a91f6bcda4536a866e2e0b596687ecd19ceeef5
https://github.com/llvm/llvm-project/commit/8a91f6bcda4536a866e2e0b596687ecd19ceeef5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Use CurrentParentLoop instead of looking up via CFG (NFC).
There is no need to look up the current parent loop via LoopInfo and the
vector preheader; we can simply use CurrentParentLoop.
Commit: 870f753f1f5e67aebccb46b158083a6c45bebce6
https://github.com/llvm/llvm-project/commit/870f753f1f5e67aebccb46b158083a6c45bebce6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.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-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-reduction.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-interleaved-accesses-masked-group.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[VPlan] Also materialize broadcasts for backedge-taken-counts (NFC).
Also include VPlan's BTC in the set of VPValues to materialize
broadcasts for, if it is used.
Commit: 98943c4bd84e61ecb2bf79983baa7138e8db7fed
https://github.com/llvm/llvm-project/commit/98943c4bd84e61ecb2bf79983baa7138e8db7fed
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
Log Message:
-----------
[ARM,MVE] Change placeholder from `undef` to `poison` (#131689)
Call `insertelement` on a `poison` value instead of `undef`.
Commit: b7ed5c8e06221d66ee69036e24a079ee3f528a99
https://github.com/llvm/llvm-project/commit/b7ed5c8e06221d66ee69036e24a079ee3f528a99
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/lib/Support/Fortran.cpp
M flang/test/Semantics/cuf13.cuf
Log Message:
-----------
[flang][cuda] Check for ignore_tkr(d) when resolving generic call (#131923)
Commit: bb0cc6948725b8030069c07aeff1fe6abd8fa027
https://github.com/llvm/llvm-project/commit/bb0cc6948725b8030069c07aeff1fe6abd8fa027
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
Log Message:
-----------
[webkit.NoUncountedMemberChecker] Fix a regression that every class is treated as if it's ref countable. (#131249)
This PR fixes a regression that webkit.NoUncountedMemberChecker and
alpha.webkit.NoUncheckedMemberChecker emits warnings for every class as
if they supported ref counting and checked ptr because we were
erroneously coercing the return value of isRefCountable and
isCheckedPtrCapable, which is std::optional<bool>, to boolean values.
Commit: 43c21f96a7626364054109af5aa4e84bf537c1c5
https://github.com/llvm/llvm-project/commit/43c21f96a7626364054109af5aa4e84bf537c1c5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .ci/monolithic-linux.sh
M flang-rt/README.md
Log Message:
-----------
Revert "[Premerge] Add flang-rt (#128678)" (#131915)
This reverts commit 95d28fe503cc3d2bc0bb980442d3defaf199ea5a.
I did not fully realize the implications of this change when reviewing.
With how it is set up currently, it causes clang and all of the runtimes
to be built and tested everytime a change to MLIR is made. This is a
large regression in build/test time, which seems to have been causing
large queueing delays.
Reverting for now. Once we rework the runtimes build for premerge (which
I hope to do soon, ideally in the next week), I will make sure flang-rt
gets added in.
Commit: b251c29af45d3440374f53bb4c1645e5968593f7
https://github.com/llvm/llvm-project/commit/b251c29af45d3440374f53bb4c1645e5968593f7
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Update PadOp examples in the dialect description (#131919)
* pad_const is now required for tosa.pad op after
PR[@129336](https://github.com/llvm/llvm-project/pull/129336)
* updated the examples in the dialect description section to reflect
this change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 0e4116a6b999058a96710d598d2384075185f2c9
https://github.com/llvm/llvm-project/commit/0e4116a6b999058a96710d598d2384075185f2c9
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-multidim.ll
Log Message:
-----------
[AMDGPU] Fix typing error in multi dimensional promote alloca (#131763)
Fix type error when GEP uses i64 index introduced in #127973.
Commit: 7a9473b1b0b8bdfd5f3fcae578ddcca5b49d8803
https://github.com/llvm/llvm-project/commit/7a9473b1b0b8bdfd5f3fcae578ddcca5b49d8803
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/transformational.cpp
Log Message:
-----------
[flang-rt] Fixed build issue in flang-runtime-cuda-clang.
Commit: 854a4f2bbb06ba11fc45b6423ba470d07f247b20
https://github.com/llvm/llvm-project/commit/854a4f2bbb06ba11fc45b6423ba470d07f247b20
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/algorithm
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
A libcxx/test/support/constexpr_random.h
M libcxx/test/support/counting_predicates.h
Log Message:
-----------
[libc++] Implement part of P2562R1: constexpr `std::inplace_merge` (#129008)
Drive-by:
- Adds `constexpr_random.h` for pseudo-randomizing or shuffling in tests
for constant evaluation.
Commit: 9ed772cecc23f5f5b060720399b010275bbb7457
https://github.com/llvm/llvm-project/commit/9ed772cecc23f5f5b060720399b010275bbb7457
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
A flang/test/Transforms/debug-dummy-argument.fir
Log Message:
-----------
[flang] Fixed computation of position of function's arg in AddDebugInfo. (#131672)
I am working on `-frepack-array` feature (#127147), which produces
non-trivial manipulations with arguments of `fir.declare`.
In this case, we end up with CFG computation of the `fir.declare`
argument, and AddDebugInfo pass incorrectly mapped two dummy arguments
to the same arg index in the debug attributes.
This patch makes sure that we assign the arg index only if we can prove
that we've traced the block argument to the function's entry block.
I believe this problem is not specific to `-frepack-arrays`, e.g.
it may appear due to MLIR inlining as well.
Commit: af7c8c475ab97382a466bce8ad2fd091e0e09c1e
https://github.com/llvm/llvm-project/commit/af7c8c475ab97382a466bce8ad2fd091e0e09c1e
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-19 (Wed, 19 Mar 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/search.yaml
M libc/src/search/CMakeLists.txt
M libc/src/search/lfind.cpp
A libc/src/search/lsearch.cpp
A libc/src/search/lsearch.h
M libc/test/src/search/CMakeLists.txt
A libc/test/src/search/lsearch_test.cpp
Log Message:
-----------
[libc] Implement `search/lsearch` (#131431)
ref:
- https://man7.org/linux/man-pages/man3/lsearch.3.html
- https://pubs.opengroup.org/onlinepubs/009696699/functions/lsearch.html
Commit: d2c41fb85d960e094a16686fb0ff67d9a2f01d8d
https://github.com/llvm/llvm-project/commit/d2c41fb85d960e094a16686fb0ff67d9a2f01d8d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
M llvm/test/MC/RISCV/rv32i-invalid.s
A llvm/test/MC/RISCV/rvzfbfmin-aliases-valid.s
M llvm/test/MC/RISCV/rvzfh-pseudos.s
A llvm/test/MC/RISCV/rvzfhmin-aliases-valid.s
Log Message:
-----------
[RISCV] Correct the predicates for the flh/fsh InstAlias and assembler pseudos to include Zfbfmin. (#131920)
Commit: fbc1038f0cfe4038d412914cfd8b2ee4a48bba45
https://github.com/llvm/llvm-project/commit/fbc1038f0cfe4038d412914cfd8b2ee4a48bba45
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
Log Message:
-----------
[mlir][TosaToLinalg] Only support ranked tensor for `reduce` and `gather` (#131805)
This PR adds checks for ranked tensors in converter of reduce and gather
to prevent crash. Fixes #131087.
Commit: ecae8d0f77e94504c186086720fd40a8549ba138
https://github.com/llvm/llvm-project/commit/ecae8d0f77e94504c186086720fd40a8549ba138
Author: john-stuart2 <john.stuart.science at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/GlobalISel/GenericOpcode.rst
Log Message:
-----------
[Docs] Add more vector examples (#131887)
The order of parameters is derived from GenericOpcodes.td. I wanted to
keep the examples separate from the fix.
Commit: 6f44be97d035c7c050e5ee4081154a8441a2a137
https://github.com/llvm/llvm-project/commit/6f44be97d035c7c050e5ee4081154a8441a2a137
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/test/CodeGen/fake-use-determinism.c
M llvm/include/llvm/IR/Intrinsics.td
M llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
Log Message:
-----------
IR: Make llvm.fake.use a DefaultAttrsIntrinsic (#131743)
This shouldn't be special and is just an ordinary sideeffect.
Commit: 2e39533e5055bc82bf5a1b2a888e5d65a33e72f9
https://github.com/llvm/llvm-project/commit/2e39533e5055bc82bf5a1b2a888e5d65a33e72f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v4.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
Log Message:
-----------
AMDGPU: Fix broken check prefix and degraded cov4 test coverage (#131757)
Commit: a274ea1e3a3e1a824e876732074e4638e197b076
https://github.com/llvm/llvm-project/commit/a274ea1e3a3e1a824e876732074e4638e197b076
Author: ming <99472920+yanming123456 at users.noreply.github.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
Log Message:
-----------
[RISCV] Call SimplifyDemandedBits on the scalar input of vmv_s_x_vl (#131711)
The vmv.s.x instruction copies the scalar integer register to element 0
of the destination vector register. If SEW < XLEN, the least-significant
bits are copied and the upper XLEN-SEW bits are ignored.
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 04e39ce3fddaaec41d9c7babcca55133d7e49969
https://github.com/llvm/llvm-project/commit/04e39ce3fddaaec41d9c7babcca55133d7e49969
Author: Vy Nguyen <vyng at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
[LLDB][Telemetry]Define TargetInfo for collecting data about a target (#127834)
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 40885572783b1b1d3fe5dc7bce119f08728dc11f
https://github.com/llvm/llvm-project/commit/40885572783b1b1d3fe5dc7bce119f08728dc11f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
[lldb-dap] Move request capabilities into request handlers (NFC) (#131943)
This distributes the registration of request related capabilities to the
corresponding request handler. Global and unsupported capabilities are
registered at the DAP level.
Commit: 1028ea9e2641341436555347fb65d6f2eafcfbdd
https://github.com/llvm/llvm-project/commit/1028ea9e2641341436555347fb65d6f2eafcfbdd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/RequestHandler.h
Log Message:
-----------
[lldb-dap] RequestHandler::getCommand -> RequestHandler::GetCommand (NFC)
Chang the capitalization of getCommand to comply with LLDB's code style.
Commit: 193866bc243ec466a6354a6c5d8ad8193157fe90
https://github.com/llvm/llvm-project/commit/193866bc243ec466a6354a6c5d8ad8193157fe90
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/TableGen/Record.cpp
A llvm/test/TableGen/isa-non-primary.td
Log Message:
-----------
[tblgen] Fix behavior of !isa to prevent premature folding (#130442)
The test included with this commit shows a case where, even though a
record's true type was !isa<> some unrelated class, the isa<> operator
wolud use the declared type of the argument it was examining in order to
conclude that the !isa<> expression had to be be false.
The issues is fixed by checking to make sure that the argument to the
!isa operator is fully concrete before declaring its result to be false.
Commit: 428e3a27c35935197bb7b832dacb8fa468b4bc59
https://github.com/llvm/llvm-project/commit/428e3a27c35935197bb7b832dacb8fa468b4bc59
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v4.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-queue-ptr-v5.ll
M llvm/test/CodeGen/AMDGPU/implicit-kernarg-backend-usage.ll
Log Message:
-----------
AMDGPU: Fix attributor not handling all trap intrinsics (#131758)
Commit: 5ac680c5bffdc216d131fd260d2b1c9435b15571
https://github.com/llvm/llvm-project/commit/5ac680c5bffdc216d131fd260d2b1c9435b15571
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/freeze.ll
Log Message:
-----------
AMDGPU: Add more freeze codegen tests (#131843)
Commit: 6cc23faaac28cc2b8aa0f6e64bfb92cceeaf4958
https://github.com/llvm/llvm-project/commit/6cc23faaac28cc2b8aa0f6e64bfb92cceeaf4958
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUMarkLastScratchLoad.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.mir
Log Message:
-----------
[AMDGPU][NPM] Port AMDGPUMarkLastScratchLoad to NPM (#131738)
This finishes all passes for the optimized regalloc path.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 3c8c2914e067e132af951f70d2b3577fe049e19a
https://github.com/llvm/llvm-project/commit/3c8c2914e067e132af951f70d2b3577fe049e19a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 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/test/CodeGen/NVPTX/rotate.ll
M llvm/test/CodeGen/NVPTX/rotate_64.ll
Log Message:
-----------
[NVPTX] Improve 64bit FSH/ROT lowering when shift amount is constant (#131371)
When the sift amount of a 64-bit funnel-shift or rotate is constant, it
may be decomposed into two 32-bit funnel-sifts. This ensures that we
recover any possible performance losses associated with the correctness
fix in a131fbf1.
In order to efficiently represent the expansion with Selection DAG
nodes, NVPTXISD::BUILD_VECTOR and NVPTXISD::UNPACK_VECTOR are added
which allow the vector output/input to be represented as a scalar. In
the future, if we add support for the v2i32 type to the NVPTX backend
these nodes may be removed.
Commit: b3a4bf9d8f04018bfa81b7e97ec36b247e15b378
https://github.com/llvm/llvm-project/commit/b3a4bf9d8f04018bfa81b7e97ec36b247e15b378
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/module.modulemap
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/count.bench.cpp
R libcxx/test/benchmarks/algorithms/equal.bench.cpp
R libcxx/test/benchmarks/algorithms/find.bench.cpp
R libcxx/test/benchmarks/algorithms/for_each.bench.cpp
R libcxx/test/benchmarks/algorithms/mismatch.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/contains.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/contains_subrange.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/ends_with.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find_last.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/starts_with.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_ends_with.bench.cpp
Log Message:
-----------
[libc++] Refactor and add benchmarks from [alg.nonmodifying] (#128206)
Commit: fd0e20a64bde212c20c269e7c1349d703e8159d5
https://github.com/llvm/llvm-project/commit/fd0e20a64bde212c20c269e7c1349d703e8159d5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/repack-arrays.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Generate fir.pack/unpack_array in Lowering. (#131704)
Basic generation of array repacking operations in Lowering.
Commit: 1757a235e386be908d5df01bb736085270d31686
https://github.com/llvm/llvm-project/commit/1757a235e386be908d5df01bb736085270d31686
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
M llvm/test/Transforms/PGOProfile/ctx-instrumentation.ll
Log Message:
-----------
[ctxprof] Make ContextRoot an implementation detail (#131416)
`ContextRoot` `FunctionData` are currently known by the llvm side, which has to instantiate and zero-initialize them.
This patch makes `FunctionData` the only global value that needs to be known and instantiated by the compiler. On the compiler-rt side, `ContextRoot`s are hung off `FunctionData`, when applicable.
This is for two reasons. First, it is a step towards root autodetection (in a subsequent patch). An autodetection mechanism would instantiate the `ContextRoot` for the detected roots, and then `__llvm_ctx_profile_get_context` would detect that and route to `__llvm_ctx_profile_start_context`.
The second reason is that we will hang off `ContextRoot` more complex datatypes (next patch), and we want to avoid too deep of a coupling between llvm and compiler-rt. Acting as a place to hang related data, `FunctionData` can stay simple - pointers and an (atomic) int (the mutex).
Commit: 35cd6a4c116b28405d814f571540819b08bc83f6
https://github.com/llvm/llvm-project/commit/35cd6a4c116b28405d814f571540819b08bc83f6
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
Log Message:
-----------
[RISCV] Sink NOT to be fold into ANDN/ORN/XNOR/VANDN (#131632)
Undoes a negation being hoisted out of a loop, so that it can be fold
into an inverted bitwise operation in the loop.
Implements #108840 on RISC-V
Commit: fa1228552fd85a8d989d7ac42afa270cc1e371ec
https://github.com/llvm/llvm-project/commit/fa1228552fd85a8d989d7ac42afa270cc1e371ec
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/test/MC/X86/abs8.s
Log Message:
-----------
[X86] Move ABS8 special case to fixupNeedsRelaxationAdvanced
And add a test that X86MCCodeEmitter doesn't utilize a 1-byte
immediate for `cmp (3+$foo)@ABS8, %edi`
Commit: 4e4e4a190fb7c74453994935c843b09cc682f4bb
https://github.com/llvm/llvm-project/commit/4e4e4a190fb7c74453994935c843b09cc682f4bb
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/lib/TextAPI/InterfaceFile.cpp
M llvm/lib/TextAPI/TextStubV5.cpp
A llvm/test/tools/llvm-readtapi/compare-rpath-order.test
M llvm/tools/llvm-readtapi/DiffEngine.cpp
Log Message:
-----------
[TextAPI] Track RPaths in the order its provided via command line. (#131665)
RPaths are basically search paths for how to load dependent libraries.
The order they appear is the order the linker will search, we should
preserve that order in tbd files.
* Additionally add this level of detection to llvm-readtapi.
resolves: rdar://145603347
Commit: 7b00b0b7587120abbab0217c25f23f4e2ba8ae4e
https://github.com/llvm/llvm-project/commit/7b00b0b7587120abbab0217c25f23f4e2ba8ae4e
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
A clang/test/CodeGen/cx-complex-range-real.c
M clang/test/CodeGen/cx-complex-range.c
Log Message:
-----------
[Clang][NFC] Extend cmplx range tests for #131129 (#131447)
- Add tests for complex divdent and real divisor
- Add tests for complex * real multiplication
- Add tests for multiply/divide and assign (`/=`,`*=`) operators
Commit: 57288136fecfac35ef161cb8f147d269715d2634
https://github.com/llvm/llvm-project/commit/57288136fecfac35ef161cb8f147d269715d2634
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
Log Message:
-----------
[lldb] Fix TestBreakpointLocations (#131890)
Commit: efc31ecd2773ba378598c86b3a90d038075b9d4e
https://github.com/llvm/llvm-project/commit/efc31ecd2773ba378598c86b3a90d038075b9d4e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Transforms/Utils/LoopInvariantCodeMotionUtils.cpp
M mlir/test/Transforms/loop-invariant-subset-hoisting.mlir
Log Message:
-----------
[mlir][LICM] Restrict LICM to pure tensor semantics (#129673)
This PR fixes a bug where LICM incorrectly allowed buffer semantics,
which could lead to a crash. Fixes #129416.
Commit: c34dc9a0cf328ace8a68069b1d1bbddd53179053
https://github.com/llvm/llvm-project/commit/c34dc9a0cf328ace8a68069b1d1bbddd53179053
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/SCFToEmitC/SCFToEmitC.cpp
A mlir/test/Conversion/SCFToEmitC/scf-to-emitc-failed.mlir
Log Message:
-----------
[mlir][SCFToEmitC] Don't convert unsupported types in EmitC (#131786)
This PR adds check for unsupported types in emitc, which fixes a crash.
Fixes #131442.
Commit: 1bd6716d33e3a4f523058e358a4e84135f64dcf9
https://github.com/llvm/llvm-project/commit/1bd6716d33e3a4f523058e358a4e84135f64dcf9
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/test/CodeGen/cx-complex-range-real.c
Log Message:
-----------
[Clang][CodeGen] Do not promote if complex divisor is real (#131451)
Relates-to: https://github.com/llvm/llvm-project/issues/131129
Commit: f017073cd8ac9e627db17678c6b64e9abe4fbec7
https://github.com/llvm/llvm-project/commit/f017073cd8ac9e627db17678c6b64e9abe4fbec7
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/test/CodeGen/cx-complex-range.c
Log Message:
-----------
[Clang][CodeGen] Promote in complex compound divassign (#131453)
When `-fcomplex-arithmetic=promoted` is set complex divassign `/=` should
promote to a wider type the same way division (without assignment) does.
Prior to this change, Smith's algorithm would be used for divassign.
Fixes: https://github.com/llvm/llvm-project/issues/131129
Commit: 575fde0995aaf60882f433baebf56de2b89195e2
https://github.com/llvm/llvm-project/commit/575fde0995aaf60882f433baebf56de2b89195e2
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dual_intersect_ray.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Add intrinsic and MI for image_bvh_dual_intersect_ray (#130038)
- Add llvm.amdgcn.image.bvh.dual.intersect.ray intrinsic and
image_bvh_dual_intersect_ray machine instruction.
- Add llvm_v10i32_ty and llvm_v10f32_ty
---------
Co-authored-by: Mateja Marjanovic <mateja.marjanovic at amd.com>
Commit: 125553a6779ba179a9b4b5212c531da2474258fd
https://github.com/llvm/llvm-project/commit/125553a6779ba179a9b4b5212c531da2474258fd
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Add statistics for total LMUL spilled/reloaded (#131747)
The cost of a vector spill/reload may vary highly depending on the size
of the vector register being spilled, i.e. LMUL, so the usual
regalloc.NumSpills/regalloc.NumReloads statistics may not be an accurate
reflection of the total cost.
This adds two new statistics for RISCVInstrInfo that collects the total
number of vector registers spilled/reloaded within groups. It can be
used to get a better idea of regalloc changes in e.g. #131176 #113675
Commit: b5ef33b3b9771c169760bcfa3a72c37b794a4a4c
https://github.com/llvm/llvm-project/commit/b5ef33b3b9771c169760bcfa3a72c37b794a4a4c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-18 (Tue, 18 Mar 2025)
Changed paths:
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump] Delete unused variables after #128434
Commit: e295f5dd119bf5584174bb3978bbd4ec5f50a0da
https://github.com/llvm/llvm-project/commit/e295f5dd119bf5584174bb3978bbd4ec5f50a0da
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
Log Message:
-----------
[OpenMP][IRBuilder] Don't initialize `kmp_dep_info` instances in alloc regions (#131795)
Fixes #121289
Given the following MLIR, where a variable: `x`, is `private` for the
`omp.parallel` op and a `depend` for the `omp.task` op:
```mlir
omp.private {type = private} @_QFEx_private_i32 : i32
llvm.func @nested_task_with_deps() {
%0 = llvm.mlir.constant(1 : i64) : i64
%1 = llvm.alloca %0 x i32 {bindc_name = "x"} : (i64) -> !llvm.ptr
omp.parallel private(@_QFEx_private_i32 %1 -> %arg0 : !llvm.ptr) {
omp.task depend(taskdependout -> %arg0 : !llvm.ptr) {
omp.terminator
}
omp.terminator
}
llvm.return
}
```
Before the fix proposed by this PR, the IR builder would emit the
allocation and the initialzation logic for the task's depedency info
struct in the parent function's alloc region:
```llvm
define void @nested_task_with_deps() {
....
%.dep.arr.addr = alloca [1 x %struct.kmp_dep_info], align 8
%2 = getelementptr inbounds [1 x %struct.kmp_dep_info], ptr %.dep.arr.addr, i64 0, i64 0
%3 = getelementptr inbounds nuw %struct.kmp_dep_info, ptr %2, i32 0, i32 0
%4 = ptrtoint ptr %omp.private.alloc to i64
store i64 %4, ptr %3, align 4
....
br label %entry
omp.par.entry: ; preds = %entry
....
%omp.private.alloc = alloca i32, align 4
```
Note the following:
- The private value `x` is alloced where it should be in the parallel
op's entry region,
- howerver, since the privae value is also a depedency of the task and
since allocation and initialzation of the task depedency info struct
both happen in the alloc region,
- this results in the private value being referenced before it is
actually defined.
This PR fixes the issue by only allocating the task depedency info in
the alloc region while initialzation happens in the current IP of the
function with the rest of the logic that depends on it.
Commit: e737b846b4a34940b626c2a1119779caaa430460
https://github.com/llvm/llvm-project/commit/e737b846b4a34940b626c2a1119779caaa430460
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-target-nesting-in-host-ops.mlir
Log Message:
-----------
[flang][OpenMP] Translate OpenMP scopes when compiling for target device (#130078)
If a `target` directive is nested in a host OpenMP directive (e.g.
parallel, task, or a worksharing loop), flang currently crashes if the
target directive-related MLIR ops (e.g. `omp.map.bounds` and
`omp.map.info` depends on SSA values defined inside the parent host
OpenMP directives/ops.
This PR tries to solve this problem by treating these parent OpenMP ops
as "SSA scopes". Whenever we are translating for the device, instead of
completely translating host ops, we just tranlate their MLIR ops as pure
SSA values.
Commit: 8249492374b79793fe612da9d20aaa7e94832f91
https://github.com/llvm/llvm-project/commit/8249492374b79793fe612da9d20aaa7e94832f91
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Remove redundant casts to InvokeInst
Commit: f304fd0d5c79024954f198a4714df6957cff5eef
https://github.com/llvm/llvm-project/commit/f304fd0d5c79024954f198a4714df6957cff5eef
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor][NFC] Remove dead code `tensor.extract_slice` canonicalization pattern (#131903)
Folding a cast into an `extract_slice` does not change the result type.
Commit: b907920058001ecb94fdd6939343fab5b786d96b
https://github.com/llvm/llvm-project/commit/b907920058001ecb94fdd6939343fab5b786d96b
Author: Shoreshen <372660931 at qq.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
Log Message:
-----------
[AMDGPU] auto-generate file check line for amdgcn.bitcast.ll (#131955)
Replace check lines by auto-generated
Commit: a1c8dda205aa4a7f1c861c620793cdd2e60f2131
https://github.com/llvm/llvm-project/commit/a1c8dda205aa4a7f1c861c620793cdd2e60f2131
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
Log Message:
-----------
[RISCV] Add attribute vscale_range(2,1024) to the tests for removing zero_extend on RV64. NFC (#131973)
The attribute `vscale_range(2,1024)` is added to each function by
default when the V extension is enabled,
so that the zero_extend for the i32 %evl to i64 on RV64 would be removed
usually.
Commit: 8a53324aa5c98787fe2334180a26b426f793d139
https://github.com/llvm/llvm-project/commit/8a53324aa5c98787fe2334180a26b426f793d139
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
A llvm/test/CodeGen/AMDGPU/release-vgprs-gfx12.mir
Log Message:
-----------
[AMDGPU] Deallocate VGPRs before exiting in dynamic VGPR mode (#130037)
In dynamic VGPR mode, Waves must deallocate all VGPRs before exiting. If
the shader program does not do this, hardware inserts `S_ALLOC_VGPR 0`
before S_ENDPGM, but this may incur some performance cost. Therefore
it's better if the compiler proactively generates that instruction.
This patch extends `si-insert-waitcnts` to deallocate the VGPRs via a
`S_ALLOC_VGPR 0` before any `S_ENDPGM` when in dynamic VGPR mode.
Commit: e9988c36ed788b2d1ce00b028bed51169bd8b02c
https://github.com/llvm/llvm-project/commit/e9988c36ed788b2d1ce00b028bed51169bd8b02c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/CodeGenCXX/derived-to-base.cpp
A clang/test/SemaCXX/derived-to-base-propagate-qualifiers.cpp
Log Message:
-----------
[clang][Sema] Propagate qualifiers during derived-to-base conversion
When accessing a field member through a derived-to-base conversion,
ensure qualifiers are propagated to the base class subobject.
Fixes: https://github.com/llvm/llvm-project/issues/127683.
Commit: 614d8557dcd41aae31bd50e93fed3487f235ef11
https://github.com/llvm/llvm-project/commit/614d8557dcd41aae31bd50e93fed3487f235ef11
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/Driver/OffloadBundler.h
M clang/lib/Driver/OffloadBundler.cpp
Log Message:
-----------
[OffloadBundler] Expose function to parse compressed bundle headers (#130284)
In COMGR we hash the header of compressed bundles. For this we take the
first bytes of the buffer (according to the maximum header size) and
hash them.
To have a more stable API, and to be able to pick only the hash field (which is
the only one we are actually interested in) of the header, we propose
a version independent header version that is common to all versions.
Commit: 74f5a028cb612e7e9bcf75d8ceb1a0a9d20fdb80
https://github.com/llvm/llvm-project/commit/74f5a028cb612e7e9bcf75d8ceb1a0a9d20fdb80
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.h
A llvm/test/CodeGen/AArch64/sve-fixed-length-offsets.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-permute-zip-uzp-trn.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-vscale-attr.ll
Log Message:
-----------
Reapply "[AArch64][SVE] Improve fixed-length addressing modes. (#129732)" (#130625)
The original patch from #129732 exposed a bug in `getMemVTFromNode`, which was returning incorrect types for fixed length vectors.
Commit: 415dd383e4066717178870f1927f542a3d96621a
https://github.com/llvm/llvm-project/commit/415dd383e4066717178870f1927f542a3d96621a
Author: liulin92 <lindanliulin at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/test/tools/llvm-objdump/ELF/RISCV/branches.s
Log Message:
-----------
[RISCV][MC] Correct the register state update for auipc (#130897)
AUIPC is a 20-bits value which is used to form 32-bits offset thus it
should be a int32 value, then signed-extend to int64.
Commit: 7dbcdd578cd4d37b1f4094dbd17556be6382f1cc
https://github.com/llvm/llvm-project/commit/7dbcdd578cd4d37b1f4094dbd17556be6382f1cc
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
Revert "[LLDB][Telemetry]Define TargetInfo for collecting data about a target (#127834)"
This reverts commit 04e39ce3fddaaec41d9c7babcca55133d7e49969 due to test
breakage.
Commit: b8271ec8b3a19e4b7ba0a6c10af927e601380be8
https://github.com/llvm/llvm-project/commit/b8271ec8b3a19e4b7ba0a6c10af927e601380be8
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/HLFIR/order_assignments/forall-pointer-assignment-scheduling.f90
Log Message:
-----------
[flang] accept character type in fir::changeTypeShape (#131892)
There is no reason for character element type to be forbidden in this
helper.
The assert was firing in character pointer assignment in FORALL after
#130772 added a usage of this helper.
Commit: f3f7f08ecaf0889b16bbe11fd6c9d38586979b1e
https://github.com/llvm/llvm-project/commit/f3f7f08ecaf0889b16bbe11fd6c9d38586979b1e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Fix Wsign-compare warning (NFC) (#131948)
llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:4805:57:
warning: comparison of integer expressions of different signedness:
‘int’ and ‘std::size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
[](const auto &P) { return P.value() % 2 != P.index() % 2; }))
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
Commit: 72240fae4a2c305432b30998cb1d43bebefcad8a
https://github.com/llvm/llvm-project/commit/72240fae4a2c305432b30998cb1d43bebefcad8a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/select-codesize.ll
R llvm/test/Analysis/CostModel/X86/select-latency.ll
R llvm/test/Analysis/CostModel/X86/select-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/select.ll
Log Message:
-----------
[CostModel][X86] merge select costs tests using -cost-kind=all (#131865)
Commit: 0f2fb2b5c5c5052cb18a4b2c3330d43286f95ad2
https://github.com/llvm/llvm-project/commit/0f2fb2b5c5c5052cb18a4b2c3330d43286f95ad2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/mul-codesize.ll
R llvm/test/Analysis/CostModel/X86/mul-latency.ll
R llvm/test/Analysis/CostModel/X86/mul-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/mul.ll
M llvm/test/Analysis/CostModel/X86/mul32.ll
M llvm/test/Analysis/CostModel/X86/mul64.ll
Log Message:
-----------
[CostModel][X86] merge integer multiply costs tests using -cost-kind=all (#131864)
Commit: 1f844952558b041ff1b4c27eed7b81c15841ee84
https://github.com/llvm/llvm-project/commit/1f844952558b041ff1b4c27eed7b81c15841ee84
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M llvm/unittests/Target/AMDGPU/CMakeLists.txt
Log Message:
-----------
[AMDGPU] Update target helpers & GCNSchedStrategy for dynamic VGPRs (#130047)
In dynamic VGPR mode, we can allocate up to 8 blocks of either 16 or 32
VGPRs (based on a chip-wide setting which we can model with a Subtarget
feature). Update some of the subtarget helpers to reflect this.
In particular:
- getVGPRAllocGranule is set to the block size
- getAddresableNumVGPR will limit itself to 8 * size of a block
We also try to be more careful about how many VGPR blocks we allocate.
Therefore, when deciding if we should revert scheduling after a given
stage, we check that we haven't increased the number of VGPR blocks that
need to be allocated.
---------
Co-authored-by: Jannik Silvanus <jannik.silvanus at amd.com>
Commit: 434ac4612f2b43a5b7f1a8e3b5310e8d129360e6
https://github.com/llvm/llvm-project/commit/434ac4612f2b43a5b7f1a8e3b5310e8d129360e6
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/Modules/diag-undefined-template.cpp
Log Message:
-----------
Improve the -Wundefined-func-template diagnostic note for invisible template functions (#129031)
See discussion in https://github.com/llvm/llvm-project/issues/125071.
Makes the note clearer for the unreachable case:
Before:
```
./hoge.h:5:12: warning: instantiation of function 'x<int>' required here, but no definition is available [-Wundefined-func-template]
5 | void f() { x<int>(); }
| ^
./shared_ptr2.h:4:6: note: forward declaration of template entity is here
4 | void x() { T t; (void)t; }
| ^
./hoge.h:5:12: note: add an explicit instantiation declaration to suppress this warning if 'x<int>' is explicitly instantiated in another translation unit
5 | void f() { x<int>(); }
|
```
After:
```
./hoge.h:5:12: warning: instantiation of function 'x<int>' required here, but no definition is available [-Wundefined-func-template]
5 | void f() { x<int>(); }
| ^
./shared_ptr2.h:4:6: note: declaration of template entity is unreachable here
4 | void x() { T t; (void)t; }
| ^
1 warning generated.
```
Commit: 9762b8e1757601a719d926f7df77c207617adfdd
https://github.com/llvm/llvm-project/commit/9762b8e1757601a719d926f7df77c207617adfdd
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[NFC][analyzer] Document the VirtualCall checkers (#131861)
This commit documents `cplusplus.PureVirtualCall` (which was previously
completely undocumented) and improves the documentation of
`optin.cplusplus.VirtualCall` (which was very barebones).
Note that in this documentation I do not mention the checker options of
`optin.cplusplus.VirtualCall`, because `ShowFixIts` is apparently in an
unfinished alpha state (since 2019 when it was added by commit
6cee434ed10ead6b7416ca5ee9592b2b207eeb0f) and `PureOnly` is a deprecated
option that I'm going to remove very soon.
Commit: 61b0bf5e01589182c2447e9a978c34a4d7cef5f3
https://github.com/llvm/llvm-project/commit/61b0bf5e01589182c2447e9a978c34a4d7cef5f3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/fshl-codesize.ll
R llvm/test/Analysis/CostModel/X86/fshl-latency.ll
R llvm/test/Analysis/CostModel/X86/fshl-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
R llvm/test/Analysis/CostModel/X86/fshr-codesize.ll
R llvm/test/Analysis/CostModel/X86/fshr-latency.ll
R llvm/test/Analysis/CostModel/X86/fshr-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
Log Message:
-----------
[CostModel][X86] merge funnel shifts costs tests using -cost-kind=all (#131867)
Commit: 96ad7ef77655362dd818fda4685c14776fe5dbf3
https://github.com/llvm/llvm-project/commit/96ad7ef77655362dd818fda4685c14776fe5dbf3
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[NFC][analyzer] Correct example code in VirtualCall docs (#131992)
Oops, I noticed these just after merging my commit
9762b8e1757601a719d926f7df77c207617adfdd.
Commit: 7cd9b3fcec87b02bdbc9308dbff9afa0f55e96d5
https://github.com/llvm/llvm-project/commit/7cd9b3fcec87b02bdbc9308dbff9afa0f55e96d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/trunc-codesize.ll
R llvm/test/Analysis/CostModel/X86/trunc-latency.ll
R llvm/test/Analysis/CostModel/X86/trunc-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/trunc.ll
Log Message:
-----------
[CostModel][X86] merge truncation costs tests using -cost-kind=all (#131872)
Commit: 841d6c45f36084e1023803647b8c48158911e475
https://github.com/llvm/llvm-project/commit/841d6c45f36084e1023803647b8c48158911e475
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/fcmp-codesize.ll
R llvm/test/Analysis/CostModel/X86/fcmp-latency.ll
R llvm/test/Analysis/CostModel/X86/fcmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/fcmp.ll
Log Message:
-----------
[CostModel][X86] merge fp comparison costs tests using -cost-kind=all (#131874)
Commit: e9daafdd5ec76420abe8666a86d19ba330567107
https://github.com/llvm/llvm-project/commit/e9daafdd5ec76420abe8666a86d19ba330567107
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/icmp-codesize.ll
R llvm/test/Analysis/CostModel/X86/icmp-latency.ll
R llvm/test/Analysis/CostModel/X86/icmp-sizelatency.ll
M llvm/test/Analysis/CostModel/X86/icmp.ll
M llvm/test/Analysis/CostModel/X86/icmp0.ll
Log Message:
-----------
[CostModel][X86] merge integer comparison costs tests using -cost-kind=all (#131875)
Commit: 6ca1424fc1db255627f27eb6a50c7a837e3fecb3
https://github.com/llvm/llvm-project/commit/6ca1424fc1db255627f27eb6a50c7a837e3fecb3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/fmaxnum-codesize.ll
R llvm/test/Analysis/CostModel/X86/fmaxnum-latency.ll
R llvm/test/Analysis/CostModel/X86/fmaxnum-size-latency.ll
M llvm/test/Analysis/CostModel/X86/fmaxnum.ll
R llvm/test/Analysis/CostModel/X86/fminnum-codesize.ll
R llvm/test/Analysis/CostModel/X86/fminnum-latency.ll
R llvm/test/Analysis/CostModel/X86/fminnum-size-latency.ll
M llvm/test/Analysis/CostModel/X86/fminnum.ll
Log Message:
-----------
[CostModel][X86] merge fmaxnum/fminnum costs tests using -cost-kind=all (#131922)
Commit: 75ab43b70eef125dbdf1586143fad88a2a61170e
https://github.com/llvm/llvm-project/commit/75ab43b70eef125dbdf1586143fad88a2a61170e
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][emitc][NFC] Eliminate the extra newline printout during emitc.switch emission (#129257)
Before the output was:
```c++
void emitc_switch_ptrdiff_t() {
ptrdiff_t v1 = 1;
switch (v1) {
...
}
return;
}
```
After:
```c++
void emitc_switch_ptrdiff_t() {
ptrdiff_t v1 = 1;
switch (v1) {
...
}
return;
}
```
Commit: e7c6e3557b372afe6e78c025addfec276a10b49d
https://github.com/llvm/llvm-project/commit/e7c6e3557b372afe6e78c025addfec276a10b49d
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
Log Message:
-----------
[flang][OpenMP] Fix threadprivate pointer variable in common block (#131888)
Fixes #112538
The problem was that the host associated symbol for the threadprivate
variable doesn't have all of the symbol attributes (e.g. POINTER). This
caused the lowering code to generate the wrong type, eventually hitting
an assertion.
Commit: 1d7c4609445cb0a8330ee06b836d3c873d7f12bb
https://github.com/llvm/llvm-project/commit/1d7c4609445cb0a8330ee06b836d3c873d7f12bb
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Set isTrap for EBREAK and {C_,}UNIMP (#131636)
This is done for completeness. The property isn't used in upstream
llvm/, although it is queried in BOLT in MCPlusBuilder.cpp.
Commit: 541ab52ca9b0a3163b42665bf469a4499a7aea44
https://github.com/llvm/llvm-project/commit/541ab52ca9b0a3163b42665bf469a4499a7aea44
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
Log Message:
-----------
[clang] Add a missing space to the -Weager-load-cxx-named-modules diagnostic message. (#131987)
Commit: ee8a759bfb4772dea7459f4ecbd83bc2be5ee68b
https://github.com/llvm/llvm-project/commit/ee8a759bfb4772dea7459f4ecbd83bc2be5ee68b
Author: swatheesh-mcw <swatheesh.muralidharan at multicorewareinc.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-modifiers.cpp
A flang/test/Lower/OpenMP/Todo/inteorp-construct.f90
A flang/test/Parser/OpenMP/interop-construct.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses. (#120584)
Adds Parser and Semantic Support for the below construct and clauses:
- Interop Construct
- Init Clause
- Use Clause
Note:
The other clauses supported by Interop Construct such as Destroy, Use,
Depend and Device are added already.
Commit: 6dba5f659567af21a01224845077a269380d8e3a
https://github.com/llvm/llvm-project/commit/6dba5f659567af21a01224845077a269380d8e3a
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.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/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
Log Message:
-----------
[TTI] Align optional FMFs in getExtendedReductionCost() to getArithmeticReductionCost(). (#131968)
In the implementation of the getExtendedReductionCost(), it ofter calls
getArithmeticReductionCost() with FMFs. But we shouldn't call
getArithmeticReductionCost() with FMFs for non-floating-point reductions
which will return the wrong cost.
This patch makes FMFs in getExtendedReductionCost() optional and align
to the getArithmeticReductionCost(). So the TTI will return the correct
cost for non-FP extended-reductions query without FMFs.
This patch is not quite NFC but it's hard to test from the CostModel
side.
Split from #113903.
Commit: b7eb01b3a15d59be58319705c916ddf6859d0aab
https://github.com/llvm/llvm-project/commit/b7eb01b3a15d59be58319705c916ddf6859d0aab
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[NFC][OpenMP][MLIR] Refactor code related to collecting privatizer info into a shared util (#131582)
Moves code needed to collect info about delayed privatizers into a
shared util instread of repeating the same patter across all relevant
constructs.
Commit: 96b112fb613e216a198ae2e956a367742c838eed
https://github.com/llvm/llvm-project/commit/96b112fb613e216a198ae2e956a367742c838eed
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/openmp-modifiers.cpp
R flang/test/Lower/OpenMP/Todo/inteorp-construct.f90
R flang/test/Parser/OpenMP/interop-construct.f90
R flang/test/Semantics/OpenMP/interop-construct.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
Revert "[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses." (#132005)
Reverts llvm/llvm-project#120584
Reverting due to CI failure
https://lab.llvm.org/buildbot/#/builders/157/builds/22946
Commit: 6db2594c48b0aa5b13f5ac1664bcc42e836163c9
https://github.com/llvm/llvm-project/commit/6db2594c48b0aa5b13f5ac1664bcc42e836163c9
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[PreISelIntrinsicLowering] Zext/trunc count parameter as necessary for memset_pattern16 emission (#129239)
This patch cleans up the handling of the count parameter in general,
though was initially motivated by a compiler crash upon a memset.pattern
with a narrow count causing a compiler crash due to different types for
CreateMul when converting the count to the number of bytes.
The logic used to name globals means there is some minor renaming churn
in the output to
test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
irrelevant to the newly added tests (that would crash before).
Commit: 571e4de02ee527ef6d0399008fb57440e51c5d22
https://github.com/llvm/llvm-project/commit/571e4de02ee527ef6d0399008fb57440e51c5d22
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/ArmUnwindInfo.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Use UnwindPlan::Row as values (#131150)
In most places, the rows are copied anyway (because they are generated
by cumulating modifications) immediately after adding them to the unwind
plans. In others, they can be moved into the unwind plan. This lets us
remove some backflip copies and make `const UnwindPlan` actually mean
something.
I've split this patch into two (and temporarily left both APIs) as this
patch was getting a bit big. This patch covers all the interesting
cases. Part two all about converting "architecture default" unwind plans
from ABI and InstructionEmulation plugins.
Commit: 4686b8a6630a9e6c9a3736d624ce94a5030ce10c
https://github.com/llvm/llvm-project/commit/4686b8a6630a9e6c9a3736d624ce94a5030ce10c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
R llvm/test/Analysis/CostModel/X86/masked-intrinsic-codesize.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
R llvm/test/Analysis/CostModel/X86/masked-intrinsic-latency.ll
R llvm/test/Analysis/CostModel/X86/masked-intrinsic-sizelatency.ll
Log Message:
-----------
[CostModel][X86] merge masked intrinsics costs tests using -cost-kind=all (#131999)
Commit: 945ce9642b5d02386abe2f58b6966ca9efc5abf1
https://github.com/llvm/llvm-project/commit/945ce9642b5d02386abe2f58b6966ca9efc5abf1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/X86/reduce-add.ll
M llvm/test/Analysis/CostModel/X86/reduce-and.ll
M llvm/test/Analysis/CostModel/X86/reduce-fadd.ll
M llvm/test/Analysis/CostModel/X86/reduce-fmax.ll
M llvm/test/Analysis/CostModel/X86/reduce-fmin.ll
M llvm/test/Analysis/CostModel/X86/reduce-fmul.ll
M llvm/test/Analysis/CostModel/X86/reduce-mul.ll
M llvm/test/Analysis/CostModel/X86/reduce-or.ll
M llvm/test/Analysis/CostModel/X86/reduce-smax.ll
M llvm/test/Analysis/CostModel/X86/reduce-smin.ll
M llvm/test/Analysis/CostModel/X86/reduce-umax.ll
M llvm/test/Analysis/CostModel/X86/reduce-umin.ll
M llvm/test/Analysis/CostModel/X86/reduce-xor.ll
M llvm/test/Analysis/CostModel/X86/reduction.ll
Log Message:
-----------
[CostModel][X86] check all reduction cost kinds using -cost-kind=all (#132000)
Commit: 5b6b4fdb4b07e1d0d9a647f40a30d47f26178e09
https://github.com/llvm/llvm-project/commit/5b6b4fdb4b07e1d0d9a647f40a30d47f26178e09
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/test/CodeGen/AMDGPU/freeze.ll
Log Message:
-----------
DAG: Fix promote of half freeze (#131844)
Commit: e0db41615bd43c874d3b27ea5fe40a5940161f74
https://github.com/llvm/llvm-project/commit/e0db41615bd43c874d3b27ea5fe40a5940161f74
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix initializing array struct fields from an APValue (#131983)
We need to recurse once more here and move the array case into the
bigger if chain.
Commit: 449cdfacc07bd365d49a637196ce8f8067cf845c
https://github.com/llvm/llvm-project/commit/449cdfacc07bd365d49a637196ce8f8067cf845c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/Preamble.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/lib/Lex/Lexer.cpp
M clang/test/C/C2y/n3411.c
A clang/test/CXX/drs/cwg787.cpp
R clang/test/Lexer/newline-eof-c++98-compat.cpp
M clang/test/Lexer/newline-eof.c
Log Message:
-----------
Suppress pedantic diagnostic for a file not ending in EOL (#131794)
WG14 added N3411 to the list of papers which apply to older versions of
C in C2y, and WG21 adopted CWG787 as a Defect Report in C++11. So we no
longer should be issuing a pedantic diagnostic about a file which does
not end with a newline character.
We do, however, continue to support -Wnewline-eof as an opt-in
diagnostic.
Commit: 6c773a87013cf82b68ba9be4672e3908a9ab6010
https://github.com/llvm/llvm-project/commit/6c773a87013cf82b68ba9be4672e3908a9ab6010
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/SVEInstrFormats.td
A llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
Log Message:
-----------
[LLVM][SVE] Implement isel for bfloat fptoi and itofp operations. (#129713)
NOTE: This PR only considers scalable vectors because SVE VLS does not
support bfloat (see useSVEForFixedLengthVectorVT()).
Commit: 3adf2b00aef80fa313faf668a50eae4cf41334a5
https://github.com/llvm/llvm-project/commit/3adf2b00aef80fa313faf668a50eae4cf41334a5
Author: Aleksandr Korepanov <alexander.korepanov at jetbrains.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/unittests/DebugInfo/PDB/PDBVariantTest.cpp
Log Message:
-----------
[LLVM][PDB][Test] Fix the build (#131984)
Hello! Sorry, it seems I broke the build in
https://github.com/llvm/llvm-project/pull/131598
Build:
https://lab.llvm.org/buildbot/#/builders/145/builds/5745
This is a compilation fix, please take a look.
Commit: 3c554deaaaa9aaa4f1aebc0d19f56424a32fe5e3
https://github.com/llvm/llvm-project/commit/3c554deaaaa9aaa4f1aebc0d19f56424a32fe5e3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
Log Message:
-----------
[LV] Add reg-usage test with values only used by llvm.assume.
Add test checking we are not counting registers that are only used by
ephemeral users, like llvm.assume.
Commit: 4ddc8df6ca1c9c1a1f03f03baefba5d1f6e2e78b
https://github.com/llvm/llvm-project/commit/4ddc8df6ca1c9c1a1f03f03baefba5d1f6e2e78b
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
A llvm/test/Analysis/CostModel/ARM/muls-in-smlal-patterns.ll
A llvm/test/Analysis/CostModel/ARM/muls-in-umull-patterns.ll
Log Message:
-----------
[CostModel][ARM]Adjust cost of muls in (U/S)MLAL and patterns (#122713)
PR #117350 made changes to the SLP vectorizer which introduced a
regression on some ARM benchmarks. Investigation narrowed it down to
suboptimal codegen for benchmarks that previously only used scalar (U/S)MLAL
instructions. The linked change meant the SLPVectorizer thought that
these could be vectorized. This change makes the cost of muls in
(U/S)MLAL patterns slightly cheaper to make sure scalar instructions are
preferred in these cases over SLP vectorization on targets supporting DSP
Commit: 861efd4b3f93d30d353f0a6eea249fbdac1778a0
https://github.com/llvm/llvm-project/commit/861efd4b3f93d30d353f0a6eea249fbdac1778a0
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Skip reverse continue tests on x86_64-darwin
Tests are failing because some registers (at least `ds`) are unreadable.
Commit: 72c3c30452d340d1a90cd3e7efe685ee188003c7
https://github.com/llvm/llvm-project/commit/72c3c30452d340d1a90cd3e7efe685ee188003c7
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIFrameLowering.h
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/dynamic-vgpr-reserve-stack-for-cwsr.ll
A llvm/test/CodeGen/AMDGPU/machine-function-info-cwsr.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0.ll
M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg-debug.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-long-branch-reg.ll
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-no-ir.mir
M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info.ll
Log Message:
-----------
[AMDGPU] Allocate scratch space for dVGPRs for CWSR (#130055)
The CWSR trap handler needs to save and restore the VGPRs. When dynamic
VGPRs are in use, the fixed function hardware will only allocate enough
space for one VGPR block. The rest will have to be stored in scratch, at
offset 0.
This patch allocates the necessary space by:
- generating a prologue that checks at runtime if we're on a compute
queue (since CWSR only works on compute queues); for this we will have
to check the ME_ID bits of the ID_HW_ID2 register - if that is non-zero,
we can assume we're on a compute queue and initialize the SP and FP with
enough room for the dynamic VGPRs
- forcing all compute entry functions to use a FP so they can access
their locals/spills correctly (this isn't ideal but it's the quickest to
implement)
Note that at the moment we allocate enough space for the theoretical
maximum number of VGPRs that can be allocated dynamically (for blocks of
16 registers, this will be 128, of which we subtract the first 16, which
are already allocated by the fixed function hardware). Future patches
may decide to allocate less if they can prove the shader never allocates
that many blocks.
Also note that this should not affect any reported stack sizes (e.g. PAL
backend_stack_size etc).
Commit: 3eddb992d08b30832d2cc0908483f10fe133935a
https://github.com/llvm/llvm-project/commit/3eddb992d08b30832d2cc0908483f10fe133935a
Author: Emma Pilkington <emma.pilkington95 at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
A llvm/test/CodeGen/AMDGPU/dbg-value-starts-sched-region.mir
Log Message:
-----------
[AMDGPU] Fix a crash by skipping DBG instrs at start of sched region (#131167)
Fixes SWDEV-514946
Commit: 7e3fe884ac5ffd2a32e8682459146494086ecc0a
https://github.com/llvm/llvm-project/commit/7e3fe884ac5ffd2a32e8682459146494086ecc0a
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-rdffr.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilege.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilegt.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilehi.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilehs.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilele.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilelo.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilels.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilelt.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilerw.mir
M llvm/test/CodeGen/AArch64/sve-ptest-removal-whilewr.mir
Log Message:
-----------
[LLVM] Regenerate CHECK lines for CodeGen/AArch64/sve-ptest-removal-*.mir
Commit: 3f4b2f12a1e3e87e4bfb86937cc1ccdd4d38dcf5
https://github.com/llvm/llvm-project/commit/3f4b2f12a1e3e87e4bfb86937cc1ccdd4d38dcf5
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
A llvm/test/CodeGen/AArch64/complex-deinterleaving-unrolled-cdot.ll
Log Message:
-----------
[llvm] Fix crash when complex deinterleaving operates on an unrolled loop (#129735)
When attempting to perform complex deinterleaving on an unrolled loop
containing a reduction, the complex deinterleaving pass would fail to
accommodate the wider types when accumulating the unrolled paths.
Instead of trying to alter the incoming IR to fit expectations, the pass
should instead decide against processing any reduction that results in a
non-complex or non-vector value.
Commit: 29925b7044517bcd1b3f76333a598092427c3636
https://github.com/llvm/llvm-project/commit/29925b7044517bcd1b3f76333a598092427c3636
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
Log Message:
-----------
[NFC][CostModel][ARM] Remove redundant lambda capture (#132018)
Buildbot failures were caused by PR #122713. This was due to unused captures in a lambda function.
Commit: 0aba8334f92b98cb2bf791565179e8dd63dce125
https://github.com/llvm/llvm-project/commit/0aba8334f92b98cb2bf791565179e8dd63dce125
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
A llvm/test/CodeGen/SPIRV/pointers/load-struct.ll
Log Message:
-----------
[SPIR-V] Handle struct member loading from ptrcast (#130089)
Adds support for loading the first element of an aggregate from a GEP
instruction & load to the member type.
Commit: 9654df3f5e8f898341717ac25097dba6f667c356
https://github.com/llvm/llvm-project/commit/9654df3f5e8f898341717ac25097dba6f667c356
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/StringSet.h
M llvm/unittests/ADT/StringSetTest.cpp
Log Message:
-----------
[ADT] Add StringSet::insert_range (#131957)
This pach adds StringSet::insert_range for consistency with
DenseSet::insert_range and std::set::insert_range from C++23.
In the unit test, I'm using contains instead of
testing::UnorderedElementsAre because the latter doesn't seem to work
with char *.
Commit: c3e334fc0d9dc12b25cde5839d993f70f56e5e76
https://github.com/llvm/llvm-project/commit/c3e334fc0d9dc12b25cde5839d993f70f56e5e76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#131958)
Commit: 099a11f4ab02d13fba6e5c36fdb89881075b6216
https://github.com/llvm/llvm-project/commit/099a11f4ab02d13fba6e5c36fdb89881075b6216
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#131959)
Commit: f97a852d69bd0434776e44136013dfb045e253ef
https://github.com/llvm/llvm-project/commit/f97a852d69bd0434776e44136013dfb045e253ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#131960)
Commit: fc278e406ec0204437e26f087a5a71d74727924e
https://github.com/llvm/llvm-project/commit/fc278e406ec0204437e26f087a5a71d74727924e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#131961)
Commit: 9705010b5e1fc878a9107d844dcb641499d8c73f
https://github.com/llvm/llvm-project/commit/9705010b5e1fc878a9107d844dcb641499d8c73f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Avoid repeated hash lookups (NFC) (#131962)
Commit: 364e60b6e41d49bc08be21cc279bba57ddabf679
https://github.com/llvm/llvm-project/commit/364e60b6e41d49bc08be21cc279bba57ddabf679
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86DiscriminateMemOps.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#131963)
Commit: 0cb9c5045b556c668e6d7b47f6a90032d2aa0f21
https://github.com/llvm/llvm-project/commit/0cb9c5045b556c668e6d7b47f6a90032d2aa0f21
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/X86/fptosi.ll
M llvm/test/Analysis/CostModel/X86/fptoui.ll
M llvm/test/Analysis/CostModel/X86/sitofp.ll
M llvm/test/Analysis/CostModel/X86/uitofp.ll
Log Message:
-----------
[CostModel][X86] check fp<->int conversion cost kinds using -cost-kind=all
Commit: baef6fadbf0e4ddac33c6a8a6275208435f52965
https://github.com/llvm/llvm-project/commit/baef6fadbf0e4ddac33c6a8a6275208435f52965
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/test/Parser/parser_overflow.c
Log Message:
-----------
[Clang] Increase the default expression nesting limit (#132021)
This iterates on #104717 (which we had to revert)
In a bid to increase our chances of success, we try to avoid blowing up
the stack by
- Using `runWithSufficientStackSpace` in ParseCompoundStatement
- Reducing the size of `StmtVector` a bit
- Reducing the size of `DeclsInGroup` a bit
- Removing a few `ParsedAttributes` from the stacks in places where they
are not strictly necessary. `ParsedAttributes` is a _huge_ object
On a 64 bits system, the following stack size reductions are observed
```
ParseStatementOrDeclarationAfterAttributes: 344 -> 264
ParseStatementOrDeclaration: 520 -> 376
ParseCompoundStatementBody: 1080 -> 1016
ParseDeclaration: 264 -> 120
```
Fixes #94728
Commit: be0a3b223a10e0a3e588b1d6002581982968f0f4
https://github.com/llvm/llvm-project/commit/be0a3b223a10e0a3e588b1d6002581982968f0f4
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/memset-pattern-unsized.ll
Log Message:
-----------
[IR] Allow llvm.experimental.memset.pattern to take any sized type as the pattern argument (#132026)
I initially thought starting with a more narrow definition and later
expanding would make more sense. But as pointed out in review for PR
#129220, this restriction is generating additional unnecessary work.
This patch alters the intrinsic to accept patterns of any type. Future
patches will update LoopIdiomRecognize and PreISelIntrinsicLowering to
take advantage of this. The verifier will complain if an unsized type is
used. I've additionally taken the opportunity to remove a comment from
the LangRef about some bit widths potentially not being supported by the
target. I don't think this is any more true than it is for arbitrary
width loads/stores which don't carry a similar warning that I can see.
A verifier check ensures that only sized types are used for the pattern.
Commit: ade22fc1d9616c95bd1aa4ea658a21ddb073b73c
https://github.com/llvm/llvm-project/commit/ade22fc1d9616c95bd1aa4ea658a21ddb073b73c
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrVSX.td
M llvm/test/CodeGen/PowerPC/f128-conv.ll
M llvm/test/CodeGen/PowerPC/fp128-libcalls.ll
Log Message:
-----------
[PowerPC] Support conversion between f16 and f128 (#130158)
Enables conversion between f16 and f128.
Expanding on pre-Power9 targets and using HW instructions on Power9.
Fixes https://github.com/llvm/llvm-project/issues/92866
Commandeer of: https://github.com/llvm/llvm-project/pull/97677
---------
Co-authored-by: esmeyi <esme.yi at ibm.com>
Commit: 20feca47c1e2fdd90f3f7007a492e4ec18c71c08
https://github.com/llvm/llvm-project/commit/20feca47c1e2fdd90f3f7007a492e4ec18c71c08
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-cuda.cpp
M flang/module/ieee_arithmetic.f90
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
[flang][cuda] Allow ieee_arithmetic on the device (#131930)
- Allow ieee_arithmetic on the device
- Add ignore_tkr(d) to ieee_is_finite
Commit: 2d090287712a650734397ef4642c7888fe239281
https://github.com/llvm/llvm-project/commit/2d090287712a650734397ef4642c7888fe239281
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libc/test/src/search/lsearch_test.cpp
Log Message:
-----------
[libc] Fix `size_t` and `unsigned long` mismatch on riscv32 in test. (#132028)
Fix regression:
https://github.com/llvm/llvm-project/pull/131431#issuecomment-2735029529
Commit: 67a01131a8d70fcd06c6bd9cea30a8a6262c8c94
https://github.com/llvm/llvm-project/commit/67a01131a8d70fcd06c6bd9cea30a8a6262c8c94
Author: Iris <0.0 at owo.li>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libc/src/sched/linux/sched_getcpucount.cpp
Log Message:
-----------
[libc] Replace `__builtin_popcountl` with `cpp::popcount` in `sched_getcpucount` (#131952)
Closes #128781.
Commit: 38e8dff84ba1e2cf0260712d21dd429d74471d08
https://github.com/llvm/llvm-project/commit/38e8dff84ba1e2cf0260712d21dd429d74471d08
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/call.ll
Log Message:
-----------
[AA][BasicAA] Move more call logic to BasicAA (#131144)
Currently, the handling for calls is split between AA and BasicAA in an
awkward way. BasicAA does argument alias analysis for non-escaping
objects (but without considering MemoryEffects), while AA handles the
generic case using MemoryEffects. However, fundamentally, both of these
are really trying to do the same thing.
The new merged logic first tries to remove the OtherMR component of the
memory effects, which includes accesses to escaped memory. If a
function-local object does not escape, OtherMR can be set to NoModRef.
Then we perform the argument scan in basically the same way as AA
previously did. However, we also need to look at the operand bundles. To
support that, I've adjusted getArgModRefInfo to accept operand bundle
arguments.
Commit: 4322d03e4acce4eb0ba7c274d38015061e34a9c1
https://github.com/llvm/llvm-project/commit/4322d03e4acce4eb0ba7c274d38015061e34a9c1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/bindings/headers.swig
Log Message:
-----------
[lldb] Avoid having to list all the headers in headers.swig (#131934)
When adding SBLock, I realized you always have to add a new header in
two places: LLDB.h and headers.swig.
I can't think of a reason the latter can't use the umbrella header and
avoid the duplication.
Commit: b3d280b887780c04e89dc0214ac800d37bbb4009
https://github.com/llvm/llvm-project/commit/b3d280b887780c04e89dc0214ac800d37bbb4009
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/gfni-lzcnt.ll
M llvm/test/CodeGen/X86/vector-lzcnt-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vbmi.ll
Log Message:
-----------
[X86] fold AND(X,SEXT(SETCC())) -> SELECT(SETCC(),X,0) to support AVX512 predicated {k}{z} masks (#131788)
We already do this for the ANDNP(SEXT(SETCC()),X) equivalent pattern.
Fixes #109272
Commit: 2b8f887915020431112c35397368edd34b313f9a
https://github.com/llvm/llvm-project/commit/2b8f887915020431112c35397368edd34b313f9a
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Ptr/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.h
A mlir/include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrAttrs.h
M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
A mlir/include/mlir/Dialect/Ptr/IR/PtrEnums.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrTypes.h
M mlir/lib/Dialect/Ptr/IR/CMakeLists.txt
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
M mlir/test/Dialect/Ptr/layout.mlir
M mlir/test/Dialect/Ptr/types.mlir
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestAttributes.h
Log Message:
-----------
[mlir][Ptr] Add the `MemorySpaceAttrInterface` interface and dependencies. (#86870)
This patch introduces the `MemorySpaceAttrInterface` interface. This
interface is responsible for handling the semantics of `ptr` operations.
For example, this interface can be used to create read-only memory
spaces, making any other operation other than a load a verification
error, see `TestConstMemorySpaceAttr` for a possible implementation of
this concept.
This patch also introduces Enum dependencies `AtomicOrdering`, and
`AtomicBinOp`, both enumerations are clones of the Enums with the same
name in the LLVM Dialect.
Also, see:
- [[RFC] `ptr` dialect & modularizing ptr ops in the LLVM
dialect](https://discourse.llvm.org/t/rfc-ptr-dialect-modularizing-ptr-ops-in-the-llvm-dialect/75142)
for rationale.
- https://github.com/llvm/llvm-project/pull/73057 for a prototype
implementation of the full change.
**Note: Ignore the first commit, that's being reviewed in
https://github.com/llvm/llvm-project/pull/86860 .**
Commit: 3bba268013680d7bf86a3aedbf0e91930362bda1
https://github.com/llvm/llvm-project/commit/3bba268013680d7bf86a3aedbf0e91930362bda1
Author: Ash Dobrescu <ash.dobrescu at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
A bolt/test/AArch64/computed-goto.s
A bolt/test/Inputs/indirect_goto.c
R bolt/test/X86/Inputs/indirect_goto.c
R bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/indirect-goto.test
A bolt/test/indirect-goto-relocs.test
Log Message:
-----------
[BOLT] Support computed goto and allow map addrs inside functions (#120267)
Create entry points for addresses referenced by dynamic relocations and
allow getNewFunctionOrDataAddress to map addrs inside functions. By
adding addresses referenced by dynamic relocations as entry points. This
patch fixes an issue where bolt fails on code using computing goto's.
This also fixes a mapping issue with the bugfix from this PR:
https://github.com/llvm/llvm-project/pull/117766.
Commit: f536f715800658567ba619ad8a2b361d4d715fe9
https://github.com/llvm/llvm-project/commit/f536f715800658567ba619ad8a2b361d4d715fe9
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Split RecurrenceDescriptor into RecurKind + FastMathFlags in LoopUtils. NFC (#132014)
Split off from #131300, this splits up RecurrenceDescriptor arguments so
that arbitrary recurrence kinds may be used down the line.
Commit: 54977097567a55964505c965513a354926c0565b
https://github.com/llvm/llvm-project/commit/54977097567a55964505c965513a354926c0565b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
Update C++ DR status page
Commit: 1f152527e06dcad57f9af3ea6a0a4997da116706
https://github.com/llvm/llvm-project/commit/1f152527e06dcad57f9af3ea6a0a4997da116706
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupIndex.ll
Log Message:
-----------
[SPIR-V] Add support for HLSL SV_GroupIndex (#130670)
This PR lowers the `llvm.spv.flattened.thread.id.in.group` intrinsic as
a `LocalInvocationIndex` builtin variable.
Commit: 379a8d1a830f021fbc84e74ccbb316f2327d88c2
https://github.com/llvm/llvm-project/commit/379a8d1a830f021fbc84e74ccbb316f2327d88c2
Author: James Y Knight <jyknight at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix bazel build for 8437b7f5. (#132046)
When using parse_headers validation, rpc_server.h fails to build, since
we don't expose any of the RPC deps in the Bazel build.
So at least for now, just exclude it.
Commit: 4f5ccf22fab7b83651511dd8eea6b60266b84bf2
https://github.com/llvm/llvm-project/commit/4f5ccf22fab7b83651511dd8eea6b60266b84bf2
Author: Mariusz Sikora <mariusz.sikora at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MIMGInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.bvh8_intersect_ray.ll
M llvm/test/MC/AMDGPU/gfx12_asm_vimage.s
M llvm/test/MC/AMDGPU/gfx12_asm_vimage_alias.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vimage.txt
Log Message:
-----------
[AMDGPU] Support image_bvh8_intersect_ray instruction and intrinsic. (#130041)
Co-authored-by: Ivan Kosarev <ivan.kosarev at amd.com>
Commit: 11b869957232e6f5dfec5c88d636fe808e329d8d
https://github.com/llvm/llvm-project/commit/11b869957232e6f5dfec5c88d636fe808e329d8d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/reg-usage.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[LV] Don't skip instrs with side-effects in reg pressure computation. (#126415)
calculateRegisterUsage adds end points for each user of an instruction
to Ends and ignores instructions not added to it, i.e. instructions with
no users.
This means things like stores aren't included, which in turn means
values that are only used in stores are also not included for
consideration. This means we underestimate the register usage in cases
where the only users are things like stores.
Update the code to don't skip instructions without users (i.e. not in
Ends) if they have side-effects.
PR: https://github.com/llvm/llvm-project/pull/126415
Commit: cd0a2a3f1bdaf8dc54d4a4d3c478d41345671e72
https://github.com/llvm/llvm-project/commit/cd0a2a3f1bdaf8dc54d4a4d3c478d41345671e72
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
Log Message:
-----------
[flang] add QSORT extension intrinsic to the runtime (#132033)
Add support for legacy Fortran intrinsic QSORT from lib 3f.
This is a thin Fortran wrapper over libc qsort.
Commit: 58027fa989391451d7eaa21fe24c135bcad52e79
https://github.com/llvm/llvm-project/commit/58027fa989391451d7eaa21fe24c135bcad52e79
Author: David Peixotto <peix at meta.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/test/API/iohandler/unicode/TestUnicode.py
Log Message:
-----------
[lldb] Require wide char support in unicode test (#131951)
The unicode test sends some unicode input to lldb through pexpect and
expects the output to be echoed back in an error message. This only
works correctly when editline was compiled with wide character support.
This commit modifies the test to require the necessary libedit
configuration.
Commit: 93b7c1b4b2b60720f05dddaa3cc119cab2cee079
https://github.com/llvm/llvm-project/commit/93b7c1b4b2b60720f05dddaa3cc119cab2cee079
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Add testing without --repository for HTML documentation (#131894)
https://github.com/llvm/llvm-project/issues/131697 reported a crash when
--repository was unused, so make sure we test the project in both
configurations.
Commit: cc2a86ad35350f97b15bc7f8c71d1be7fe64bc16
https://github.com/llvm/llvm-project/commit/cc2a86ad35350f97b15bc7f8c71d1be7fe64bc16
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LLVM][Docs] Add language reference for `llvm.readsteadycounter` (#132040)
Summary:
This was not added in the original patch, add LLVM documentation.
Commit: d7879e524fbbc4c2790dac62343444191f736f00
https://github.com/llvm/llvm-project/commit/d7879e524fbbc4c2790dac62343444191f736f00
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Use DenseSet instead of DenseMap. NFC (#131978)
The value in the map is set to "true" when something is added to the
map.
Techncally this:
if (!DefRegs.contains(Reg))
will set the value in the map to false if it didn't already exist, and
this is used to indicate the value wasn't in the map. This only occurs
after all the "true" values have already been added to the map.
Commit: e53bea51829ee9876a2010fec1a13d740533b89a
https://github.com/llvm/llvm-project/commit/e53bea51829ee9876a2010fec1a13d740533b89a
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/count.h
M libcxx/include/__bit/popcount.h
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguous call in {ranges, std}::count (#122529)
This PR fixes an ambiguous call encountered while using the
`std::ranges::count` and `std::count` algorithms with `vector<bool>`
with small `size_type`s.
The ambiguity arises from integral promotions during the internal
bitwise arithmetic of the `count` algorithms for small integral types.
This results in multiple viable candidates:
`__libcpp_popcount(unsigned)`,` __libcpp_popcount(unsigned long)`, and
`__libcpp_popcount(unsigned long long)`, leading to an ambiguous call
error. To resolve this ambiguity, we introduce a dispatcher function,
`__popcount`, which directs calls to the appropriate overloads of
`__libcpp_popcount`. This closes #122528.
Commit: cb493d2bab40a480e3daba22ffee54d024817f05
https://github.com/llvm/llvm-project/commit/cb493d2bab40a480e3daba22ffee54d024817f05
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/DeviceUtils.cpp
M offload/DeviceRTL/src/Misc.cpp
Log Message:
-----------
[OpenMP] Replace utilities with 'gpuintrin.h' definitions (#131644)
Summary:
Port more instructions. AMD version is at
https://gist.github.com/jhuber6/235d7ee95f747c75f9a3cfd8eedac6aa
Commit: 2c41a8e6d39800383edfd863d6d96f0cfc4a2283
https://github.com/llvm/llvm-project/commit/2c41a8e6d39800383edfd863d6d96f0cfc4a2283
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors-16bit.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
Log Message:
-----------
[HLSL] Fix bug in new clamp overloads (#131928)
In some cases using the newly introduced clamp overloads, when floats
were involved, clang would behave differently than DXC.
To ensure the same behavior as DXC, require that for mix scalar/vector
overloads the type of the scalar matches the type of the vector.
Commit: 5720a792a950f46a9b1ebdf0b658b76dc02a9833
https://github.com/llvm/llvm-project/commit/5720a792a950f46a9b1ebdf0b658b76dc02a9833
Author: John Harrison <harjohn at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
Log Message:
-----------
[lldb-dap] Waiting for the test binary to exit prior to dumping logs. (#131917)
This should ensure we have the full logs prior to dumping the logs.
Additionally, printing log dumps to stderr so they are adjacent to
assertion failures.
Commit: c5195ae2d0c1f3925f48ecb0cf037d3f67d45a85
https://github.com/llvm/llvm-project/commit/c5195ae2d0c1f3925f48ecb0cf037d3f67d45a85
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/equal.h
M libcxx/include/__bit_reference
M libcxx/include/__fwd/bit_reference.h
M libcxx/include/__vector/comparison.h
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
Log Message:
-----------
[libc++] Fix {std, ranges}::equal for vector<bool> with small storage types (#130394)
The current implementation of `{std, ranges}::equal` fails to correctly
compare `vector<bool>`s when the underlying storage type is smaller than
`int` (e.g., `unsigned char`, `unsigned short`, `uint8_t` and
`uint16_t`). See [demo](https://godbolt.org/z/j4s87s6b3)). The problem
arises due to integral promotions on the intermediate bitwise
operations, leading to incorrect final equality comparison results. This
patch fixes the issue by ensuring that `{std, ranges}::equal` operate
properly for both aligned and unaligned bits.
Fixes #126369.
Commit: 480202f0d16f7dbc5c650aea6e8dfd9eca5b999d
https://github.com/llvm/llvm-project/commit/480202f0d16f7dbc5c650aea6e8dfd9eca5b999d
Author: dong-miao <601183878 at qq.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rv32zclsd-invalid.s
A llvm/test/MC/RISCV/rv32zclsd-valid.s
A llvm/test/MC/RISCV/rv32zilsd-invalid.s
A llvm/test/MC/RISCV/rv32zilsd-valid.s
M llvm/test/MC/RISCV/rv64c-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Zilsd and Zclsd Extensions (#131094)
This commit adds the Load/Store pair instructions (Zilsd) and Compressed
Load/Store pair instructions (Zclsd).
[Specification
link](https://github.com/riscv/riscv-isa-manual/blob/main/src/zilsd.adoc).
Commit: a5b3d3a03f3291b1b62c7c25bc40b494660421cb
https://github.com/llvm/llvm-project/commit/a5b3d3a03f3291b1b62c7c25bc40b494660421cb
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/copy.h
M libcxx/include/__fwd/bit_reference.h
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
Log Message:
-----------
[libc++] Fix {std, ranges}::copy for vector<bool> with small storage types (#131545)
The current implementation of `{std, ranges}::copy` fails to copy
`vector<bool>` correctly when the underlying storage type
(`__storage_type`) is smaller than `int`, such as `unsigned char`,
`unsigned short`, `uint8_t` and `uint16_t`. The root cause is that the
unsigned small storage type undergoes integer promotion to (signed)
`int`, which is then left and right shifted, leading to UB (before
C++20) and sign-bit extension (since C++20) respectively. As a result,
the underlying bit mask evaluations become incorrect, causing erroneous
copying behavior.
This patch resolves the issue by correcting the internal bitwise
operations, ensuring that `{std, ranges}::copy` operates correctly for
`vector<bool>` with any custom (unsigned) storage types.
Fixes #131692.
Commit: 1456eabca80d57ebd38b46e49ef3d25aace198ae
https://github.com/llvm/llvm-project/commit/1456eabca80d57ebd38b46e49ef3d25aace198ae
Author: TatWai Chong <tatwai.chong at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Finalize profile-based validation for TOSA v1.0 (#131208)
- When the operand type of an operation changes to a profile-dependent
type, the compliance metadata must be updated. Update compliance check
for the following:
- CONV2D, CONV3D, DEPTHWISE_CONV2D, and TRANSPOSE_CONV2D, as zero points
have changed to variable inputs.
- PAD, because pad_const has been changed to a variable input.
- GATHER and SCATTER, as indices has changed to index_t.
- Add an int16 extension check for CONCAT.
- Add a compliance check for COND_IF, WHILE_LOOP, VARIABLE,
VARIABLE_READ, and VARIABLE_WRITE.
- Correct the profile requirements for IDENTITY, TABLE, MATMUL and
LOGICAL-like operations.
- Remove unnecessary checks for non-v1.0 operations.
- Add condition requirements (anyOf and allOf) to the type mode of
metadata for modes that have multiple profile/extension considerations.
Commit: 029cb8aff1450ed6d69f671a5e5e3e226316b42a
https://github.com/llvm/llvm-project/commit/029cb8aff1450ed6d69f671a5e5e3e226316b42a
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/copy_backward.h
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
Log Message:
-----------
[libc++] Fix copy_backward for vector<bool> with small storage types (#131560)
This patch fixes an issue in libc++ where `std::copy_backward` and
`ranges::copy_backward` incorrectly copy `std::vector<bool>` with small
storage types (e.g., `uint8_t`, `uint16_t`). The problem arises from
flawed bit mask computations involving integral promotions and sign-bit
extension, leading to unintended zeroing of bits. This patch corrects
the bitwise operations to ensure correct bit-level copying.
Fixes #131718.
Commit: 70480fcff64e2e389da8bc48043719a554893c6f
https://github.com/llvm/llvm-project/commit/70480fcff64e2e389da8bc48043719a554893c6f
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
Log Message:
-----------
[libc++] Validate vector<bool> copy/move-assignment operators in realistic scenarios (#119817)
The existing tests for `vector<bool>` copy- and move-assignment
operators are limited to 3 bits only, which are inadequate to cover
realistic scenarios. Most `vector<bool>` operations have code paths that
are executed only when multiple storage words are involved, with each
storage word typically comprising 64 bits on a 64-bit platform.
Furthermore, the existing tests fail to cover all combinations
`POCCA`/`POCMA`, along with different allocator equality and/or
reallocation scenarios, leaving some critical code paths untested.
This patch enhances the test coverage by introducing new tests covering
up to 5 storage words, ensuring that partial words in the front or tail,
and whole words in the middle are all properly tested. Moreover, these
new tests ensure that the copy- and move-assignment operators are tested
under all combinations of `POCCA`/`POCMA` and various allocator equality
scenarios, both with or without reallocations.
Commit: 25613b32abaea9719ba1f25934d34acb665d374c
https://github.com/llvm/llvm-project/commit/25613b32abaea9719ba1f25934d34acb665d374c
Author: James Y Knight <jyknight at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
NFC: fix whitespace lint in bazel file.
Commit: 7af0bfe62fff676c66a5394995b03030cf5baef4
https://github.com/llvm/llvm-project/commit/7af0bfe62fff676c66a5394995b03030cf5baef4
Author: John Harrison <harjohn at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
A lldb/tools/lldb-dap/DAPLog.cpp
M lldb/tools/lldb-dap/DAPLog.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Ensure logging statements are written as a single chunk. (#131916)
I noticed this while debugging some unit tests that the logs
occasionally would intersperse two log statements.
Previously, it was possible for a log statement to have two messages
interspersed since the timestamp and log statement were two different
writes to the log stream.
I created a Log helper to ensure we have a lock while attempting to write
to the logs.
Commit: 99997d717bee23fd9d3a1aec87f7066156b668fc
https://github.com/llvm/llvm-project/commit/99997d717bee23fd9d3a1aec87f7066156b668fc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 7af0bfe62fff
Commit: 617646ab8d148ab51e8b94ccc0a40af2fc6c3dcf
https://github.com/llvm/llvm-project/commit/617646ab8d148ab51e8b94ccc0a40af2fc6c3dcf
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/include/deque
Log Message:
-----------
[libc++] Use __alloc_traits in <deque> whenever it is available for consistency (#126595)
When an allocator-aware container already defines a member type alias
`__alloc_traits` for `std::allocator_traits<allocator_type>`, we should
consistently use `__alloc_traits`. Mixing the usage of both
`__alloc_traits` and `std::allocator_traits` can lead to inconsistencies
and confusion.
Commit: 9a078a372ea69eb2d3f0700dfa14809648e78a88
https://github.com/llvm/llvm-project/commit/9a078a372ea69eb2d3f0700dfa14809648e78a88
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/SecurityTransparencyReports.rst
Log Message:
-----------
2024 Security Group Transparency Report (#132011)
This adds the Security Response Group's transparency report for 2024.
Commit: b350bc2c0b88488f6c4eb84aadd4e74c67ca9b06
https://github.com/llvm/llvm-project/commit/b350bc2c0b88488f6c4eb84aadd4e74c67ca9b06
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
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
Log Message:
-----------
[libc++] Verify forward_list self-merging is a no-op (#129985)
https://wg21.link/LWG3088 requires that `forward_list::merge()` is a no-op when passed
`*this`, which aligns with the behavior of `list::merge`. Although libc++'s implementation
of `forward_list::merge()` already meets this requirement, there were no tests to verify
this behavior. This patch adds the necessary tests to ensure that self-merging remains a
no-op and prevents any future regressions on this.
Closes #104942.
Commit: cd26dd55959c11c1cd0ea4fe1f07e0fa9cb7a72a
https://github.com/llvm/llvm-project/commit/cd26dd55959c11c1cd0ea4fe1f07e0fa9cb7a72a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/doacross-clause.f90
M flang/test/Parser/OpenMP/from-clause.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/ordered-depend.f90
M flang/test/Parser/OpenMP/scan.f90
M flang/test/Parser/OpenMP/target-update-to-clause.f90
Log Message:
-----------
[flang][OpenMP] Use OmpDirectiveSpecification in simple directives (#131162)
The `OmpDirectiveSpecification` contains directive name, the list of
arguments, and the list of clauses. It was introduced to store the
directive specification in METADIRECTIVE, and could be reused everywhere
a directive representation is needed.
In the long term this would unify the handling of common directive
properties, as well as creating actual constructs from METADIRECTIVE by
linking the contained directive specification with any associated user
code.
Commit: 39ce99589b05ddd43e5c8b7f89ab5bbfda40d2ce
https://github.com/llvm/llvm-project/commit/39ce99589b05ddd43e5c8b7f89ab5bbfda40d2ce
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/Dialect/Passes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Frontend/FrontendOptions.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
A clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/CIR/Transforms/canonicalize.cir
A clang/test/CIR/mlirargs.c
A clang/test/CIR/mlprint.c
M clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Upstream cir-canonicalize pass (#131891)
This change introduces the cir-canonicalize pass. This is a simple
cir-to-cir transformation that eliminates empty scopes and redundant
branches. It will be expanded in future changes to simplify other
redundant instruction sequences.
MLIR verification and mlir-specific command-line option handling is also
introduced here.
Commit: 5475834737663c0da3c444fcf1c8ab5567c39136
https://github.com/llvm/llvm-project/commit/5475834737663c0da3c444fcf1c8ab5567c39136
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
M llvm/test/Instrumentation/SanitizerCoverage/interposable-symbol.ll
Log Message:
-----------
[sancov] Use comdats when one already exists (#131929)
This code avoids adding comdat groups to interposable linkage types
(weak, linkonce (non-ODR)) to avoid changing semantics, since comdat
elimination happens before weak/strong prevailaing symbol resolution.
However, if the function is already in a comdat, we can add to the group
without changing the semantics of the linked program.
Fixes an issue uncovered in PR #126240
Commit: dd17c649abbfc7e4052e45d3240b23feb6530a31
https://github.com/llvm/llvm-project/commit/dd17c649abbfc7e4052e45d3240b23feb6530a31
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
A clang/test/SemaHLSL/BuiltIns/max-errors-16bit.hlsl
A clang/test/SemaHLSL/BuiltIns/min-errors-16bit.hlsl
Log Message:
-----------
[HLSL] Implement min and max overloads using templates (#131666)
Replace min and max overload implementation using macros with one using
templates.
Enable overloads of the forms:
vector<T,N> min/max(vector<T,N> p0, T p1)
vector<T,N> min/max(T p0, vector<T,N> p1)
Add new tests.
Closes #131170
Commit: d09ecb07c2894e3167b6cfb5761663fe0f01b905
https://github.com/llvm/llvm-project/commit/d09ecb07c2894e3167b6cfb5761663fe0f01b905
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/Atomics/aarch64-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/aarch64_be-atomicrmw-lsfe.ll
M llvm/test/CodeGen/AArch64/Atomics/generate-tests.py
Log Message:
-----------
[AArch64][CodeGen] Add +lsfe atomicrmw tests where the result is unused. (#132022)
Following the discussion on #131174, update generate-tests.py script to
emit atomicrmw tests where the result is unused and add a note to
explain why these do use ST[F]ADD.
Commit: 297f0b3f4c05c6ef40183809eac5ccac9ca8c4ce
https://github.com/llvm/llvm-project/commit/297f0b3f4c05c6ef40183809eac5ccac9ca8c4ce
Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/TCE.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
A clang/test/SemaCUDA/spirv-attrs-diag.cu
M clang/test/SemaCUDA/spirv-attrs.cu
Log Message:
-----------
[CudaSPIRV] Allow using integral non-type template parameters as attribute args (#131546)
Allow using integral non-type template parameters as attribute arguments
of
reqd_work_group_size and work_group_size_hint.
Test plan:
ninja check-all
Commit: 566916131ecbea8f241fb5244eb77abac1b36658
https://github.com/llvm/llvm-project/commit/566916131ecbea8f241fb5244eb77abac1b36658
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/utils/ci/run-buildbot-container
Log Message:
-----------
[libc++][CI] Use latest Docker image. (#130497)
This image was updated in #130433.
Commit: 03adb0ec7dce36814b9e403e98e7471630c4a732
https://github.com/llvm/llvm-project/commit/03adb0ec7dce36814b9e403e98e7471630c4a732
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/virtualcall.cpp
Log Message:
-----------
[analyzer] Remove deprecated option VirtualCall:PureOnly (#131823)
VirtualCallChecker.cpp implements two related checkers:
- `optin.cplusplus.VirtualCall` which reports situations when
constructors or destructors call virtual methods (which is bugprone
because it does not trigger virtual dispatch, but can be legitmate).
- `cplusplus.PureVirtualCall` reports situations when constructors or
destructors call _pure_ virtual methods, which is an error.
Six years ago these two bug types were both reported by the same checker
(called `optin.cplusplus.VirtualCall`) and it had an option called
`PureOnly` which limited its output to the pure case.
When (in 2019) the two checker parts were separated by the commit
d3971fe97b64785c079d64bf4c8c3e2b5e1f85a1, the option `PureOnly` was
preserved for the sake of compatibility, but it is no longer useful
(when it is set to true, it just suppresses all reports from
`optin.cplusplus.VirtualCall`) so it was marked as deprecated.
I'm removing this deprecated option now because it is no longer relevant
and its presence caused minor complications when I was porting
`VirtualCallChecker.cpp` to the new multipart checker framework
(introduced in 27099982da2f5a6c2d282d6b385e79d080669546).
Commit: ac9e4e9b3320b8dc63abfbdca8b7561e372ec8c7
https://github.com/llvm/llvm-project/commit/ac9e4e9b3320b8dc63abfbdca8b7561e372ec8c7
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[Flang][OpenMP] Simplify entry block creation for BlockArgOpenMPOpInterface ops, NFC (#132036)
This patch adds the `OpWithBodyGenInfo::blockArgs` field and updates
`createBodyOfOp()` to prevent the need for `BlockArgOpenMPOpInterface`
operations to pass the same callback, minimizing chances of introducing
inconsistent behavior.
Commit: f84bc1ca433bbc35d9a9107f6adbdbd232b0642c
https://github.com/llvm/llvm-project/commit/f84bc1ca433bbc35d9a9107f6adbdbd232b0642c
Author: Joel Wee <joelwee at google.com>
Date: 2025-03-19 (Wed, 19 Mar 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 after 2b8f88791502
Commit: 0260bcb5f449aed83ebd40dc264b75e1fe40c2b9
https://github.com/llvm/llvm-project/commit/0260bcb5f449aed83ebd40dc264b75e1fe40c2b9
Author: Joel Wee <joelwee at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/test/Conversion/VectorToLLVM/pass-option-serialization.mlir
Log Message:
-----------
Fix after f3dcc0f
Commit: bda87e0a09d44cdc8cbd1f4209182c3ff94b3428
https://github.com/llvm/llvm-project/commit/bda87e0a09d44cdc8cbd1f4209182c3ff94b3428
Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
Date: 2025-03-19 (Wed, 19 Mar 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/hdr/CMakeLists.txt
A libc/hdr/sched_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/cpu_set_t.h
M libc/include/llvm-libc-macros/linux/sched-macros.h
M libc/include/llvm-libc-types/cpu_set_t.h
M libc/src/sched/CMakeLists.txt
M libc/src/sched/linux/CMakeLists.txt
A libc/src/sched/linux/sched_getcpuisset.cpp
A libc/src/sched/linux/sched_setcpuset.cpp
A libc/src/sched/linux/sched_setcpuzero.cpp
A libc/src/sched/sched_getcpuisset.h
A libc/src/sched/sched_setcpuset.h
A libc/src/sched/sched_setcpuzero.h
Log Message:
-----------
[libc][sched] Implement `CPU_ZERO`, `CPU_ISSET`, `CPU_SET` macros (#131524)
This PR implements the following macros for `sched.h`:
- `CPU_ZERO`
- `CPU_ISSET`
- `CPU_SET`
Fixes #124642
---------
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Commit: 825460a7728662d0062405e690485b7a1b689484
https://github.com/llvm/llvm-project/commit/825460a7728662d0062405e690485b7a1b689484
Author: Igor Kudrin <ikudrin at accesssoftek.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationTest.cpp
Log Message:
-----------
[lldb/gdb-remote] Do not crash on an invalid server response (#131979)
An invalid RLE sequence in the received packet could result in an
out-of-bounds reading that could cause a crash.
Commit: 053a714adda3e1d3d506f417c7fbc6eb3fa75405
https://github.com/llvm/llvm-project/commit/053a714adda3e1d3d506f417c7fbc6eb3fa75405
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/algorithm
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/algorithms/robust_against_adl_on_new.pass.cpp
Log Message:
-----------
[libc++] Implement part of P2562R1: constexpr `ranges::inplace_merge` (#131947)
Drive-by changes:
- Consistently mark `std::__inplace_merge::__inplace_merge_impl`
`_LIBCPP_CONSTEXPR_SINCE_CXX26`.
- This function template is only called by other functions that becomes
constexpr since C++26, and it itself calls `std::__inplace_merge` that
is constexpr since C++26.
- Unblock related test coverage in constant evaluation for
`stable_partition`, `ranges::stable_sort`, `std::stable_sort`,
`std::stable_partition`, and `std::inplace_merge`.
Commit: 44744301e940cc4d15f0c2f4876e0fdaddc6855b
https://github.com/llvm/llvm-project/commit/44744301e940cc4d15f0c2f4876e0fdaddc6855b
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libcxx/docs/TestingLibcxx.rst
Log Message:
-----------
[libc++][docs] Minor update to the benchmark documentation
Commit: 15c96d6874e8e37e583cf2994b290b9a6869cd30
https://github.com/llvm/llvm-project/commit/15c96d6874e8e37e583cf2994b290b9a6869cd30
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/push-pop-opt-crash.ll
Log Message:
-----------
[RISCV] Update unrelated bad code from test case
In #131684, we found that the code generated a bnez zero, which is always
false. Since this is unrelated to the regression the test case was added for,
we change the IR here to avoid this test case from having this silly branching
pattern. This will help this test case avoid any changes as we do work to
optimize branches in the RISC-V backend.
Commit: e1f4daf836e24d9c39fdd4fda84c01e4af31fd65
https://github.com/llvm/llvm-project/commit/e1f4daf836e24d9c39fdd4fda84c01e4af31fd65
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
A clang/test/Modules/transitive-system.test
Log Message:
-----------
[clang][modules] Correctly set module map systemness (#131940)
This uses the systemness of the module map instead of of the Module
instance, as doing otherwise could incorrectly parse the other modules
in that module map as system.
This is still correct as the only ways to get a system module are by the
module map being in a system path, or the module having the [system]
attribute, both of which are handled here.
This makes it so that the systemness of a module is deterministic
instead of depending on the path taken to build it.
Commit: ca0fe95a5481ca526375a1b439f6d3cc8600c085
https://github.com/llvm/llvm-project/commit/ca0fe95a5481ca526375a1b439f6d3cc8600c085
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Add tests for a case mentioned in review of pr130430
Commit: da1c19af7e8482a0357fe896ac77232c859837e7
https://github.com/llvm/llvm-project/commit/da1c19af7e8482a0357fe896ac77232c859837e7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
Log Message:
-----------
[clang][deps] Add missing include
Discovered by https://green.lab.llvm.org/job/llvm.org/job/clang-stage2-Rthinlto/588.
Commit: 2d1e64669e5c9757f6c2bb682a9f657620166f33
https://github.com/llvm/llvm-project/commit/2d1e64669e5c9757f6c2bb682a9f657620166f33
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Reuse common code between foldSelectICmpAndBinOp and foldSelectICmpAnd. (#131902)
The commit that was removed from
https://github.com/llvm/llvm-project/pull/127905 due to the conflict
with https://github.com/llvm/llvm-project/pull/128741.
The use of common code results in that the foldSelectICmpAndBinOp also
use knownbits in the same way as was added for foldSelectICmpAnd in
https://github.com/llvm/llvm-project/pull/128741.
proof for the use of knowbits in foldSelectICmpAndBinOp:
https://alive2.llvm.org/ce/z/RYXr_k
Commit: 587f997db73aa0aab34a4e5e0ad5db6779cd9351
https://github.com/llvm/llvm-project/commit/587f997db73aa0aab34a4e5e0ad5db6779cd9351
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/tools.cpp
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
Log Message:
-----------
[flang] Catch C15104(4) violations when coindexing is present (#130677)
The value of a structure constructor component can't have a pointer
ultimate component if it is a coindexed designator.
Commit: abebac5b861b7e67dcd3e3adc1ec5b6c2172c06a
https://github.com/llvm/llvm-project/commit/abebac5b861b7e67dcd3e3adc1ec5b6c2172c06a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/event02b.f90
Log Message:
-----------
[flang] Dig deeper to find more EVENT_TYPE/LOCK_TYPE misuse (#130687)
Only objects may have these types, or have potential subobject
components with these types.
Commit: 1dc397deedb00ff13906788dd1a24d2bd21652f4
https://github.com/llvm/llvm-project/commit/1dc397deedb00ff13906788dd1a24d2bd21652f4
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-coarray.h
A flang/test/Semantics/change_team02.f90
Log Message:
-----------
[flang] Enforce control flow restrictions on CHANGE TEAM (#131013)
Like DO CONCURRENT and CRITICAL constructs, control flow into and out of
a CHANGE TEAM construct is disallowed.
Commit: 3f04fb42aa54c15e21c81c12bb8afb128d859eee
https://github.com/llvm/llvm-project/commit/3f04fb42aa54c15e21c81c12bb8afb128d859eee
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-coarray.cpp
M flang/test/Semantics/form_team01a.f90
M flang/test/Semantics/form_team01b.f90
Log Message:
-----------
[flang] Complete semantic checks for FORM TEAM (#131022)
Add remaining checking for the FORM TEAM statement, complete and enable
a test.
Commit: 329bfa91b06724bead2997de45b105b28f220495
https://github.com/llvm/llvm-project/commit/329bfa91b06724bead2997de45b105b28f220495
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/bug396.f90
Log Message:
-----------
[flang] Fix crash in CO_REDUCE semantics (#131211)
A std::optional<> value was being accessed without first ensuring its
presence.
Commit: 9f284e1784b707619afd4d278bac8a72079d1598
https://github.com/llvm/llvm-project/commit/9f284e1784b707619afd4d278bac8a72079d1598
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/include/flang/Tools/TargetSetup.h
M flang/test/Integration/debug-complex-1.f90
M flang/test/Lower/Intrinsics/acos_complex16.f90
M flang/test/Lower/Intrinsics/acosh_complex16.f90
M flang/test/Lower/Intrinsics/asin_complex16.f90
M flang/test/Lower/Intrinsics/asinh_complex16.f90
M flang/test/Lower/Intrinsics/atan_complex16.f90
M flang/test/Lower/Intrinsics/atanh_complex16.f90
M flang/test/Lower/Intrinsics/cos_complex16.f90
M flang/test/Lower/Intrinsics/cosh_complex16.f90
M flang/test/Lower/Intrinsics/exp_complex16.f90
M flang/test/Lower/Intrinsics/log_complex16.f90
M flang/test/Lower/Intrinsics/pow_complex16.f90
M flang/test/Lower/Intrinsics/pow_complex16i.f90
M flang/test/Lower/Intrinsics/pow_complex16k.f90
M flang/test/Lower/Intrinsics/sin_complex16.f90
M flang/test/Lower/Intrinsics/sinh_complex16.f90
M flang/test/Lower/Intrinsics/sqrt_complex16.f90
M flang/test/Lower/Intrinsics/tan_complex16.f90
M flang/test/Lower/Intrinsics/tanh_complex16.f90
M flang/test/Lower/complex-operations.f90
M flang/test/Semantics/data05.f90
M flang/test/Semantics/intrinsics01.f90
M flang/test/Semantics/modfile12.f90
Log Message:
-----------
[flang] Disabling REAL kinds must also disable their COMPLEX (#131353)
When disabling kinds of REAL in the TargetCharacteristics, one must also
disable the corresponding kinds of COMPLEX.
Fixes https://github.com/llvm/llvm-project/issues/131088.
Commit: b99dab25879449cb89c1ebd7b4088163543918e3
https://github.com/llvm/llvm-project/commit/b99dab25879449cb89c1ebd7b4088163543918e3
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-declarations.cpp
M flang/test/Semantics/call10.f90
Log Message:
-----------
[flang] Exempt construct entities from SAVE check for PURE (#131383)
A PURE subprogram can't have a local variable with the SAVE attribute.
An ASSOCIATE or SELECT TYPE construct entity whose selector is a
variable will return true from IsSave(); exclude them from the local
variable check.
Fixes https://github.com/llvm/llvm-project/issues/131356.
Commit: 7f7d7d552b8d6731fdfbb77a154595ddf056342e
https://github.com/llvm/llvm-project/commit/7f7d7d552b8d6731fdfbb77a154595ddf056342e
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/bug131579.f90
Log Message:
-----------
[flang] Use local name for structure constructor (#132047)
When reinterpreting an ambiguously parsed function reference as a
structure constructor, use the original symbol of the type in the
representation of the derived type spec of the structure constructor,
not its ultimate resolution. The distinction turns out to matter when
generating module files containing derived type constants as
initializers when the derived types' names have undergone USE
association renaming.
Fixes https://github.com/llvm/llvm-project/issues/131579.
Commit: 3c657ceef9ced068b0c7bc2f1d5fb74250720f6c
https://github.com/llvm/llvm-project/commit/3c657ceef9ced068b0c7bc2f1d5fb74250720f6c
Author: Eric Astor <epastor at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CMakeLists.txt
A llvm/test/tools/llvm-ml/architecture.asm
A llvm/test/tools/llvm-ml/architecture_errors.asm
M llvm/test/tools/llvm-ml/dot_operator.asm
M llvm/test/tools/llvm-ml/extern.asm
M llvm/test/tools/llvm-ml/feat00.asm
M llvm/test/tools/llvm-ml/feat00_override.asm
M llvm/test/tools/llvm-ml/indirect_branch.asm
M llvm/test/tools/llvm-ml/macro.asm
M llvm/test/tools/llvm-ml/ml32-context.asm
M llvm/test/tools/llvm-ml/nested_proc.asm
M llvm/test/tools/llvm-ml/proc.asm
M llvm/test/tools/llvm-ml/proc_frame.asm
M llvm/test/tools/llvm-ml/repeat_directives.asm
M llvm/test/tools/llvm-ml/rip_relative_addressing.asm
M llvm/test/tools/llvm-ml/strings_errors.asm
M llvm/test/tools/llvm-ml/struct.asm
M llvm/tools/llvm-ml/CMakeLists.txt
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[ms] [llvm-ml] Add llvm-ml64 alias (#131854)
Rather than requiring users to pass `-m64` to the `llvm-ml` driver to
get 64-bit behavior, we add the `llvm-ml64` alias, matching the behavior
of `ML.EXE` and `ML64.EXE`.
The original flavor/bitness flags still work, but the alias should make
some workflows easier.
NOTE: The logic for this already existed in the code; we're just finally
adding the build/install instructions to match.
Commit: 6b9716b7f48a773ec7e73556245addf9aa25fad2
https://github.com/llvm/llvm-project/commit/6b9716b7f48a773ec7e73556245addf9aa25fad2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/array-constr-values.f90
Log Message:
-----------
[flang] Catch bad usage case of whole assumed-size array (#132052)
Whole assumed-size arrays are generally not allowed outside specific
contexts, where expression analysis notes that they can appear. But
contexts can nest, and in the case of an actual argument that turns out
to be an array constructor, the permission to use a whole assumed-size
array must be rescinded.
Fixes https://github.com/llvm/llvm-project/issues/131909.
Commit: b37be0e734ecc29fe55eb9d7a8119f82afc9da54
https://github.com/llvm/llvm-project/commit/b37be0e734ecc29fe55eb9d7a8119f82afc9da54
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/openmp-offload.c
Log Message:
-----------
[Offload] Handle `BoundArchitecture` for non-GPU targets (#132037)
Summary:
Offloading tends to have a bound architecture that directly correponds
to the `-mcpu` argument for that embedded job. This is currently handled
by the GPU offloading toolchains, but is ignored by the CPU ones. This
is problematic for languages like SYCL or OpenMP which permit
'offloading' to non-GPU targets. This patch handles this by putting
generic handling in the GCC toolchain for those languages.
I would've made this fully generic but it regressed some HIP sanitizer
tests because their use-case is really weird. This also only goes for
the languages that inherit from 'generic_gcc`. I could've made it in the
base class, but I felt like it wasn't necessary as we only support
offloading based off of this toolchain. In the future if we need it we
can move it around.
---------
Co-authored-by: Nick Sarnie <nick.sarnie at intel.com>
Commit: b0876994ebe3118407a8a70d79bb3149cebb5fda
https://github.com/llvm/llvm-project/commit/b0876994ebe3118407a8a70d79bb3149cebb5fda
Author: David Green <david.green at arm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/ctlz.ll
Log Message:
-----------
[AArch64][GlobalISel] Clean up CTLZ vector type legalization. (#131514)
Similar to other operations, s8, s16 and s32 vector elements are clamped
to legal vector sizes, but in this case s64 are scalarized to use the
gpr instructions. This allows vector types to split as opposed to
scalarizing.
Commit: 02744c5010c8a37b4f20e377a5673cf624a3a159
https://github.com/llvm/llvm-project/commit/02744c5010c8a37b4f20e377a5673cf624a3a159
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ExprConstant.cpp
Log Message:
-----------
[clang][diagnostics] Update note_constexpr_invalid_cast to use enum_select and adjust its uses (#130868)
Handles #123121
This patch updates `note_constexpr_invalid_cast` diagnostic to use
`enum_select` instead of `select,` improving readability and reducing
reliance on magic numbers in caller sites.
Commit: 7cabcdb2d29ce70aab1a8ad38f66015a7c901133
https://github.com/llvm/llvm-project/commit/7cabcdb2d29ce70aab1a8ad38f66015a7c901133
Author: Augusto Noronha <anoronha at apple.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/llgdb-tests/llgdb.py
M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[debuginfo-tests] Use built lldb for testing if available (#131681)
The cross-project-tests's debuginfo-tests don't rely on lldb being built
to run. While this is a good, a bug in the system lldb can cause a test
to fail with no way of fixing it. This patch makes it so the tests use
the built lldb instead if it's available.
Commit: a0ae88bffea766f4c79d51674b81b5d5db825d33
https://github.com/llvm/llvm-project/commit/a0ae88bffea766f4c79d51674b81b5d5db825d33
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/complex-operations.f90
Log Message:
-----------
[flang] Disable 3 x86-64 tests on non-x86-64 (#132088)
Now that COMPLEX(KIND=10) is properly disabled where 80-bit
floating-point types are not available, three tests that were not
peculiar to x86-64 are failing on other targets. Make them specific to
x86-64.
Commit: 4e3440d9dd181f83ac1aa23f9c458d1344413e98
https://github.com/llvm/llvm-project/commit/4e3440d9dd181f83ac1aa23f9c458d1344413e98
Author: David Olsen <dolsen at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/Lowering/basic.cpp
M clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/func-simple.cpp
Log Message:
-----------
[CIR] Upstream a basic version of class LexicalScope (#131945)
Upstream the parts of class `CIRGenFunction::LexicalScope` that
implement function return values. There is a bit of other functionality
in here, such as the implicit `cir.yield` at the end of a non-function
scope, but this is mostly about function returns.
The parts of `LexicalScope` that handle calling destructors, switch
statements, ternary expressions, and exception handling still need to be
upstreamed.
There is a change in the generated ClangIR (which is why many of the
tests needed updating). Return values are stored in the
compiler-generated variable `__retval` rather than being passed to the
`cir.return` op directly. But there should be no change in the behavior
of the generated code.
Commit: bdca412681d668231aed0cb58b450713e8f9b01a
https://github.com/llvm/llvm-project/commit/bdca412681d668231aed0cb58b450713e8f9b01a
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang] Auto-detect which newline style to use for `cxx_dr_status.html` (#132045)
Aaron reported that `make_cxx_dr_status` replaces all newlines in
`cxx_dr_status.html`, which makes for a huge diff. On Windows, we can't
be compatible with all `autocrlf` modes at once, so this patch adds
autodetection of newline style using the existing file, if one is
present (which should be the case for all reasonable use cases).
Commit: 0827e3aae6eb69c2a6fa842ffa780881feb45b5d
https://github.com/llvm/llvm-project/commit/0827e3aae6eb69c2a6fa842ffa780881feb45b5d
Author: Justin Cady <desk at justincady.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/terminate-statements.cpp
A compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
Log Message:
-----------
[Coverage] Fix region termination for GNU statement expressions (#130976)
Calls to __noreturn__ functions result in region termination for
coverage mapping. But this creates incorrect coverage results when
__noreturn__ functions (or other constructs that result in region
termination) occur within [GNU statement expressions][1].
In this scenario an extra gap region is introduced within VisitStmt,
such that if the following line does not introduce a new region it
is unconditionally counted as uncovered.
This change adjusts the mapping such that terminate statements
within statement expressions do not propagate that termination
state after the statement expression is processed.
[1]: https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
Fixes #124296
Commit: a810141281cce5073d9a827a917c34d72bbd62b1
https://github.com/llvm/llvm-project/commit/a810141281cce5073d9a827a917c34d72bbd62b1
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
A mlir/test/Integration/Dialect/MemRef/assume-alignment-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Add runtime verification for `memref.assume_alignment` (#130412)
Implement runtime verification for `memref.assume_alignment`.
Commit: 6aeae62aef63c7c11ab67a880716afdc92ac8422
https://github.com/llvm/llvm-project/commit/6aeae62aef63c7c11ab67a880716afdc92ac8422
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
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/array.cpp
M clang/test/CIR/IR/array.cir
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR] Upstream global initialization for ArrayType (#131657)
This change adds global initialization for ArrayType
Issue #130197
Commit: 2f7ad891a7bf46aced761354ebe3c932a6ac5471
https://github.com/llvm/llvm-project/commit/2f7ad891a7bf46aced761354ebe3c932a6ac5471
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libc/test/UnitTest/Test.h
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/access_test.cpp
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/dup2_test.cpp
M libc/test/src/unistd/dup3_test.cpp
M libc/test/src/unistd/dup_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/fpathconf_test.cpp
M libc/test/src/unistd/ftruncate_test.cpp
M libc/test/src/unistd/getentropy_test.cpp
M libc/test/src/unistd/getsid_test.cpp
M libc/test/src/unistd/isatty_test.cpp
M libc/test/src/unistd/link_test.cpp
M libc/test/src/unistd/linkat_test.cpp
M libc/test/src/unistd/lseek_test.cpp
M libc/test/src/unistd/pathconf_test.cpp
M libc/test/src/unistd/pipe2_test.cpp
M libc/test/src/unistd/pipe_test.cpp
M libc/test/src/unistd/pread_pwrite_test.cpp
M libc/test/src/unistd/read_write_test.cpp
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/symlink_test.cpp
M libc/test/src/unistd/symlinkat_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/test/src/unistd/truncate_test.cpp
M libc/test/src/unistd/unlinkat_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/unistd/BUILD.bazel
Log Message:
-----------
[libc] Migrate unistd tests to use ErrnoCheckingTest. (#132067)
Use ErrnoCheckingTest harness added in
d039af33096c0a83b03475a240d5e281e2271c44 for all unistd tests that
verify errno values. Stop explicitly setting it to zero in test code, as
harness does it.
It also verifies that the errno is zero at the end of each test case, so
update the ASSERT_ERRNO_EQ and ASSERT_ERRNO_FAILURE macro to clear out
its value after the verification (similar to how ErrnoSetterMatcher
does).
Update the CMake and Bazel rules for those tests. In the latter case,
remove commented out tests that are currently unsupported in Bazel,
since they get stale quickly.
Commit: 32476b99344fb0a3b85acbdba666e165181ec638
https://github.com/llvm/llvm-project/commit/32476b99344fb0a3b85acbdba666e165181ec638
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingPort.h
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
M compiler-rt/test/profile/Posix/instrprof-fork.c
R compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
Log Message:
-----------
Revert " [profile] Implement a non-mmap path when reading profile files from a non-local filesystem (#131177)"
This reverts commit 14c95e0c8b25f6deba47cd279c5dcdeef3870159.
Test fails on mac, e.g. https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/3899/testReport/junit/Profile-x86_64/Profile-x86_64/instrprof_no_mmap_during_merging_c/
Commit: 8e773d8a10cc996fbbe834f59ed9f7044c3539e0
https://github.com/llvm/llvm-project/commit/8e773d8a10cc996fbbe834f59ed9f7044c3539e0
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M compiler-rt/cmake/base-config-ix.cmake
M llvm/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[compiler-rt] Disable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#131200)
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON is not supported on AIX.
Set it to OFF with a WARNING message on AIX.
Commit: 2a53358eea7f8da9ffb92d375976b3f78ce5f212
https://github.com/llvm/llvm-project/commit/2a53358eea7f8da9ffb92d375976b3f78ce5f212
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Add a comment to clarify purpose of a test from 93b8ef
Commit: 0f7bd60791ed18b98f84916d0dd371508cbf208c
https://github.com/llvm/llvm-project/commit/0f7bd60791ed18b98f84916d0dd371508cbf208c
Author: Michael Park <mcypark at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
Log Message:
-----------
[NFC] Add a leading comment to boolean arguments. (#131746)
Addressing [nit comments](https://github.com/llvm/llvm-project/pull/129982#discussion_r1997914387) from @shafik
Commit: bd2d8c0a7ee196cc60ab0d46d6fab416b1697ae1
https://github.com/llvm/llvm-project/commit/bd2d8c0a7ee196cc60ab0d46d6fab416b1697ae1
Author: Justin Cady <desk at justincady.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/terminate-statements.cpp
R compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
Log Message:
-----------
Revert "[Coverage] Fix region termination for GNU statement expressions" (#132095)
Reverts llvm/llvm-project#130976
Breaks clang-cmake-x86_64-avx512-linux bot.
Commit: 0668bb28cc98202f1ae252fb0357b2f1043bdbe7
https://github.com/llvm/llvm-project/commit/0668bb28cc98202f1ae252fb0357b2f1043bdbe7
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/include/llvm/ProfileData/PGOCtxProfReader.h
M llvm/include/llvm/ProfileData/PGOCtxProfWriter.h
M llvm/lib/ProfileData/PGOCtxProfReader.cpp
M llvm/lib/ProfileData/PGOCtxProfWriter.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
A llvm/test/tools/llvm-ctxprof-util/Inputs/valid-with-unhandled.yaml
M llvm/test/tools/llvm-ctxprof-util/llvm-ctxprof-util.test
M llvm/unittests/ProfileData/PGOCtxProfReaderWriterTest.cpp
Log Message:
-----------
[ctxprof] Track unhandled call targets (#131417)
Collect profiles for functions we encounter when collecting a contextual profile, that are not associated with a call site. This is expected to happen for signal handlers, but it also - problematically - currently happens for mem{memset|copy|move|set}, which are currently inserted after profile instrumentation.
Collecting a "regular" flat profile in these cases would hide the problem - that we loose better profile opportunities.
Commit: a306ae0eca4d4d016b719df32274ba1f73f4413a
https://github.com/llvm/llvm-project/commit/a306ae0eca4d4d016b719df32274ba1f73f4413a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Fix malformed RST in release notes; NFC
Commit: 01d28c1cd7862fb75c8e353b2b18d13f9801b327
https://github.com/llvm/llvm-project/commit/01d28c1cd7862fb75c8e353b2b18d13f9801b327
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDecl.cpp
A clang/test/SemaCXX/unused-bindings.cpp
M clang/test/SemaCXX/unused.cpp
Log Message:
-----------
[Clang] emit -Wunused-variable warning for unused structured bindings without the [[maybe_unused]] attribute (#127061)
Fixes #125810
---
This patch resolves an issue in Clang where the `-Wunused-variable`
warning was suppressed for structured bindings with elements marked
`[[maybe_unused]]`, causing the entire declaration to be treated as used
and preventing the warning from being emitted.
Commit: 93afd8f9ac69d08bd743ef668c59403362c05d7a
https://github.com/llvm/llvm-project/commit/93afd8f9ac69d08bd743ef668c59403362c05d7a
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
M clang/test/CIR/CodeGen/cast.cpp
M clang/test/CIR/CodeGen/local-vars.cpp
M clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp
M clang/test/CIR/CodeGen/unary.cpp
M clang/test/CIR/IR/array.cir
M clang/test/CIR/IR/cast.cir
M clang/test/CIR/IR/func.cir
M clang/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/global.cir
M clang/test/CIR/Lowering/func-simple.cpp
M clang/test/CIR/Transforms/canonicalize.cir
M clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
M clang/test/CIR/mlprint.c
M clang/test/CMakeLists.txt
Log Message:
-----------
[CIR] Upstream support for type aliases (#131912)
CIR uses aliases for standard integer types and void. This change adds
upstream support for those aliases and updates existing tests.
Commit: fecd937910f640663885e0434bfed80cf4574072
https://github.com/llvm/llvm-project/commit/fecd937910f640663885e0434bfed80cf4574072
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/AST/ExprCXX.h
M clang/lib/AST/ExprCXX.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/builtin-structured-binding-size.cpp
Log Message:
-----------
[Clang] Fix UB in #131515 (#132091)
It turns out trailing objects are uninitialized
and APValue assignment operator requires a fully initialized object.
Additionally, do some drive-by post-commit-review fixes.
Commit: 2e13ec561c8139951e3f0815c35c758a7a3011db
https://github.com/llvm/llvm-project/commit/2e13ec561c8139951e3f0815c35c758a7a3011db
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/vplan-widen-call-instruction.ll
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
Log Message:
-----------
[VPlan] Bail out on non-intrinsic calls in VPlanNativePath.
Update initial VPlan-construction in VPlanNativePath in line with the
inner loop path, in that it bails out when encountering constructs it
cannot handle, like non-intrinsic calls.
Fixes https://github.com/llvm/llvm-project/issues/131071.
Commit: 4c36c425ec7d4decd177cedc9609154e12b98f27
https://github.com/llvm/llvm-project/commit/4c36c425ec7d4decd177cedc9609154e12b98f27
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/bind_test.cpp
M libc/test/src/sys/socket/linux/send_recv_test.cpp
M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
M libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
M libc/test/src/sys/socket/linux/socket_test.cpp
M libc/test/src/sys/socket/linux/socketpair_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/sys/socket/BUILD.bazel
Log Message:
-----------
[libc] Migrate sys/socket tests to use ErrnoCheckingTest. (#132107)
Also use ErrnoSetterMatcher to verify the function return values and
verify/clear out errno values. Fix the bug in ErrnoSetterMatcher error
reporting machinery to properly convert errno values into errno names to
make error messages easier to debug.
Commit: 5ac8c52a61dcea1a480e3f9d1d04b3e00a72b4fb
https://github.com/llvm/llvm-project/commit/5ac8c52a61dcea1a480e3f9d1d04b3e00a72b4fb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/rv64c-aliases-valid.s
M llvm/test/MC/RISCV/rvc-aliases-valid.s
Log Message:
-----------
[RISCV] Correct the register class in the C_SWSP and C_SDSP InstAliases. (#132086)
These instructions use GPR not GPRNoX0. Only the load forms prohibit X0.
Commit: 0dcc201ac410fed1595d4c8cabe6f9919598e208
https://github.com/llvm/llvm-project/commit/0dcc201ac410fed1595d4c8cabe6f9919598e208
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/GlobalDCE.cpp
M llvm/lib/Transforms/IPO/HotColdSplitting.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/Instrumentation/BlockCoverageInference.cpp
M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/ObjCARC/PtrState.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopSink.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[Transforms] Use *Set::insert_range (NFC) (#132056)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: 214f5582c324c48470fe5f70e969a6ae61355976
https://github.com/llvm/llvm-project/commit/214f5582c324c48470fe5f70e969a6ae61355976
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZclsd.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
A llvm/test/MC/RISCV/rv32zclsd-alias-valid.c
A llvm/test/MC/RISCV/rv32zilsd-alias-valid.s
Log Message:
-----------
[RISCV] Add ($rs1) InstAliases with no immediate for Zilsd/Zclsd. (#132094)
This matches what we do for other loads and stores.
Commit: f157365a0b0f1dab12f7e8fcbf603a232e611792
https://github.com/llvm/llvm-project/commit/f157365a0b0f1dab12f7e8fcbf603a232e611792
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/www/cxx_dr_status.html
M clang/www/make_cxx_dr_status
Log Message:
-----------
[clang][NFC] Bump latest release number for C++ DR status page
Commit: 2e5a751ee95026dab7056f779e4df3fc75e8803a
https://github.com/llvm/llvm-project/commit/2e5a751ee95026dab7056f779e4df3fc75e8803a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
Log Message:
-----------
[lldb-dap] Stop linking explicitly against pthread (#132111)
I can't figure out why this would be necessary. Nothing is checking if
libpthread is available, nothing in lldb-dap is relying on libpthread
directly and nothing else in LLDB is doing this.
Commit: 6cc918089a722d837777da44350901a24ab88304
https://github.com/llvm/llvm-project/commit/6cc918089a722d837777da44350901a24ab88304
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
Log Message:
-----------
[AMDGPU] Autogen checks for mfma-no-register-aliasing.ll (#132117)
For an upcoming RegisterCoalescer PR
Commit: 86fc897442f832823011e489aa03e4585a79296f
https://github.com/llvm/llvm-project/commit/86fc897442f832823011e489aa03e4585a79296f
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/LTO.cpp
M lld/MachO/Options.td
A lld/test/MachO/verify.ll
Log Message:
-----------
[lld][MachO] Add --disable_verify flag (#132105)
The `--disable_verify` flag is implemented for ELF and is used to
disable LLVM module verification.
https://github.com/llvm/llvm-project/blob/93afd8f9ac69d08bd743ef668c59403362c05d7a/lld/ELF/Options.td#L661
This allows us to quickly suppress verification errors.
Commit: 09b0e5624c7673cffd84a497c4b6ac7a41c59269
https://github.com/llvm/llvm-project/commit/09b0e5624c7673cffd84a497c4b6ac7a41c59269
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
Log Message:
-----------
[lldb] Add RegisterCheckpoint overload for register methods in RegisterContextThreadMemory (#132079)
Commit: 77ac5a2d57f207f173734cee2dfe652a2c2ae418
https://github.com/llvm/llvm-project/commit/77ac5a2d57f207f173734cee2dfe652a2c2ae418
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/basic-project.test
Log Message:
-----------
[clang-doc] Enable MD tests in basic-project (#131924)
For some reason the MD tests don't appear to have ever run, despite
having checks. This patch adds a new set of RUN lines that will
exercise the markdown generation.
Commit: be9b7a14f4f9bfddd02672a13e7da51b39ba25de
https://github.com/llvm/llvm-project/commit/be9b7a14f4f9bfddd02672a13e7da51b39ba25de
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
Log Message:
-----------
[clang] ASTContext: flesh out implementation of getCommonNNS (#131964)
This properly implements getCommonNNS, for getting the common
NestedNameSpecifier, for which the previous implementation was a bare
minimum placeholder.
Commit: de2a451058730c932dd34cda8709ba64730a9124
https://github.com/llvm/llvm-project/commit/de2a451058730c932dd34cda8709ba64730a9124
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
Log Message:
-----------
[ARM] Use MCPhysReg instead of uint16_t for arrays of registers. NFC
Commit: c50d39f073f3b0143b781be80764d183ddab88d4
https://github.com/llvm/llvm-project/commit/c50d39f073f3b0143b781be80764d183ddab88d4
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
R clang/test/Driver/cuda-no-pgo-or-coverage.cu
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingWriter.c
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M offload/plugins-nextgen/common/include/GlobalHandler.h
M offload/plugins-nextgen/common/src/GlobalHandler.cpp
A offload/test/offloading/gpupgo/pgo1.c
A offload/test/offloading/gpupgo/pgo2.c
R offload/test/offloading/pgo1.c
Log Message:
-----------
[PGO][Offload] Allow PGO flags to be used on GPU targets (#94268)
This pull request is the third part of an ongoing effort to extends PGO
instrumentation to GPU device code and depends on
https://github.com/llvm/llvm-project/pull/93365. This PR makes the
following changes:
- Allows PGO flags to be supplied to GPU targets
- Pulls version global from device
- Modifies `__llvm_write_custom_profile` and `lprofWriteDataImpl` to
allow the PGO version to be overridden
Commit: 2c91f10362502ebfb464691cdde1ba05be7cb50e
https://github.com/llvm/llvm-project/commit/2c91f10362502ebfb464691cdde1ba05be7cb50e
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Lower/repack-arrays-asynchronous.f90
A flang/test/Lower/repack-arrays-finalized-dummy.f90
A flang/test/Lower/repack-arrays-target.f90
Log Message:
-----------
[flang] Fixed repacking for TARGET and INTENT(OUT) (#131972)
TARGET dummy arrays can be accessed indirectly, so it is unsafe
to repack them.
INTENT(OUT) dummy arrays that require finalization on entry
to their subroutine must be copied-in by `fir.pack_arrays`.
In addition, based on my testing results, I think it will be useful
to document that `LOC` and `IS_CONTIGUOUS` will have different values
for the repacked arrays. I still need to decide where to document
this, so just added a note in the design doc for the time being.
Commit: fd7be0d2e9e2cb7d43c9cb97edbb36da59a5b595
https://github.com/llvm/llvm-project/commit/fd7be0d2e9e2cb7d43c9cb97edbb36da59a5b595
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[clang] NFC: Clear some uses of MemberPointerType::getClass (#131965)
Commit: 08dda4dcbf6427e357830d9c7f7ac3b422fc75f6
https://github.com/llvm/llvm-project/commit/08dda4dcbf6427e357830d9c7f7ac3b422fc75f6
Author: vporpo <vporpodas at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
A llvm/include/llvm/Analysis/EphemeralValuesCache.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/EphemeralValuesCache.cpp
M llvm/lib/Analysis/InlineAdvisor.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
M llvm/unittests/Analysis/CMakeLists.txt
A llvm/unittests/Analysis/EphemeralValuesCacheTest.cpp
Log Message:
-----------
[Analysis][EphemeralValuesCache][InlineCost] Ephemeral values caching for the CallAnalyzer (#130210)
This patch does two things:
1. It implements an ephemeral values cache analysis pass that collects the ephemeral values of a function and caches them for fast lookups. The collection of the ephemeral values is done lazily when the user calls `EphemeralValuesCache::ephValues()`.
2. It adds caching of ephemeral values using the `EphemeralValuesCache` to speed up `CallAnalyzer::analyze()`. Without caching this can take a long time to run in cases where the function contains a large number of `@llvm.assume()` calls and a large number of callsites. The time is spent in `collectEphemeralvalues()`.
Commit: ead272460004519ccbd98d08d68c70123892cd4e
https://github.com/llvm/llvm-project/commit/ead272460004519ccbd98d08d68c70123892cd4e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/test/Dialect/SCF/loop-pipelining.mlir
Log Message:
-----------
[mlir][scf] Fix a div-by-zero bug when step of `scf.for` is zero (#131079)
Fixes #130095.
Commit: 6003c3055a4630be31cc3d459cdbb88248a007b9
https://github.com/llvm/llvm-project/commit/6003c3055a4630be31cc3d459cdbb88248a007b9
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[clang] NFC: Unify implementations of CheckMemberPointerConversion (#131966)
This deduplicates the implementation of CheckMemberPointerConversion
accross SemaCast and SemaOverload.
Commit: c3e16337a47355225f3d8ea467bf4bd4bb74c4cd
https://github.com/llvm/llvm-project/commit/c3e16337a47355225f3d8ea467bf4bd4bb74c4cd
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-replace-extractelement.ll
Log Message:
-----------
[SLP][REVEC] Ignore UserTreeIndex if it is empty. (#131993)
Previously, the all_of check did not consider the case where the
TreeEntry is empty (i.e., when it is the first entry).
Commit: 5946696d6769e8190eb9e0860b5cac85eafd7951
https://github.com/llvm/llvm-project/commit/5946696d6769e8190eb9e0860b5cac85eafd7951
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/AArch64/arm64-ld1.ll
Log Message:
-----------
[msan] Handle NEON vector load (#130457)
This adds an explicit handler for:
- llvm.aarch64.neon.ld1x2, llvm.aarch64.neon.ld1x3,
llvm.aarch64.neon.ld1x4
- llvm.aarch64.neon.ld2, llvm.aarch64.neon.ld3, llvm.aarch64.neon.ld4
- llvm.aarch64.neon.ld2lane, llvm.aarch64.neon.ld3lane,
llvm.aarch64.neon.ld4lane
- llvm.aarch64.neon.ld2r, llvm.aarch64.neon.ld3r, llvm.aarch64.neon.ld4r
instead of relying on the default strict handler.
Updates the tests from https://github.com/llvm/llvm-project/pull/125267
Commit: 9cab82fde844073a280662d719d93352b9d7102b
https://github.com/llvm/llvm-project/commit/9cab82fde844073a280662d719d93352b9d7102b
Author: John McIver <john.mciver.iii at gmail.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/freeze-phi.ll
M llvm/test/Transforms/InstCombine/freeze.ll
M llvm/test/Transforms/InstCombine/select.ll
Log Message:
-----------
[InstCombine] Enable select freeze poison folding when storing value (#129776)
The non-freeze poison argument to select can be one of the following: global,
constant, and noundef arguments.
Alive2 test validation: https://alive2.llvm.org/ce/z/jbtCS6
Commit: d0d33d2b5ba3369d4a5586234181055935965e49
https://github.com/llvm/llvm-project/commit/d0d33d2b5ba3369d4a5586234181055935965e49
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/docs/DirectX/DXContainer.rst
Log Message:
-----------
[DirectX] Documenting Root Signature Binary representation (#131011)
Closes: #131009, #129796, #129749, #129561
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: d99033e4b4081bc47510c451b618ef93fe2f3c62
https://github.com/llvm/llvm-project/commit/d99033e4b4081bc47510c451b618ef93fe2f3c62
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/lib/LTO/LTO.cpp
A llvm/test/ThinLTO/X86/devirt_prevailing.ll
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
[LTO][WPD] Suppress WPD on a class if the LTO unit doesn't have the prevailing definition of this class (#131721)
Before this patch, whole program devirtualization is suppressed on a
class if any superclass is visible to regular object files, by recording
the class GUID in `VisibleToRegularObjSymbols`.
This patch suppresses whole program devirtualization on a class if the
LTO unit doesn't have the prevailing definition of this class (e.g., the
prevailing definition is in a shared library)
Implementation summaries:
1. In llvm/lib/LTO/LTO.cpp, `IsVisibleToRegularObj` is updated to look
at the global resolution's `IsPrevailing` bit for ThinLTO and
regularLTO.
2. In llvm/tools/llvm-lto2/llvm-lto2.cpp,
- three command line options are added so `llvm-lto2` can override
`Conf.HasWholeProgramVisibility`, `Conf.ValidateAllVtablesHaveTypeInfos`
and `Conf.AllVtablesHaveTypeInfos`.
The test case is reduced from a small C++ program (main.cc, lib.cc/h
pasted below in [1]). To reproduce the program failure without this
patch, compile lib.cc into a shared library, and provide it to a ThinLTO
build of main.cc (commands are pasted in [2]).
[1]
* lib.h
```
#include <cstdio>
class Derived {
public:
void dispatch();
virtual void print();
virtual void sum();
};
void Derived::dispatch() {
static_cast<Derived*>(this)->print();
static_cast<Derived*>(this)->sum();
}
void Derived::sum() {
printf("Derived::sum\n");
}
__attribute__((noinline)) void* create(int i);
__attribute__((noinline)) void* getPtr(int i);
```
* lib.cc
```
#include "lib.h"
#include <cstdio>
#include <iostream>
class Derived2 : public Derived {
public:
void print() override {
printf("DerivedSharedLib\n");
}
void sum() override {
printf("DerivedSharedLib::sum\n");
}
};
void Derived::print() {
printf("Derived\n");
}
__attribute__((noinline)) void* create(int i) {
if (i & 1)
return new Derived2();
return new Derived();
}
```
* main.cc
```
cat main.cc
#include "lib.h"
class DerivedN : public Derived {
public:
};
__attribute__((noinline)) void* getPtr(int x) {
return new DerivedN();
}
int main() {
Derived*b = static_cast<Derived*>(create(201));
b->dispatch();
delete b;
Derived* a = static_cast<Derived*>(getPtr(202));
a->dispatch();
delete a;
return 0;
}
```
[2]
```
# compile lib.o in a shared library.
$ ./bin/clang++ -O2 -fPIC -c lib.cc -o lib.o
$ ./bin/clang++ -shared -o libdata.so lib.o
# Provide the shared library in `-ldata`
$ ./bin/clang++ -v -g -ldata --save-temps -fno-discard-value-names -Wl,-mllvm,-print-before=wholeprogramdevirt -Wl,-mllvm,-wholeprogramdevirt-check=trap -Rpass=wholeprogramdevirt -Wl,--lto-whole-program-visibility -Wl,--lto-validate-all-vtables-have-type-infos -mllvm -disable-icp=true -Wl,-mllvm,-disable-icp=false -flto=thin -fwhole-program-vtables -fno-split-lto-unit -fuse-ld=lld main.cc -L . -o main >/tmp/wholeprogramdevirt.ir 2>&1
# Run the program hits a segmentation fault with `-Wl,-mllvm,-wholeprogramdevirt-check=trap`
$ LD_LIBRARY_PATH=. ./main
DerivedSharedLib
Trace/breakpoint trap (core dumped)
```
Commit: 460c0f567cc83378d4aafd9fba95561bacf57fe4
https://github.com/llvm/llvm-project/commit/460c0f567cc83378d4aafd9fba95561bacf57fe4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/unittests/Host/HostInfoTest.cpp
M lldb/unittests/Platform/PlatformDarwinTest.cpp
Log Message:
-----------
[lldb] Move two methods from Platfrom -> Host (NFC) (#132119)
This moves two functions from Platform to Host:
1. GetCurrentXcodeToolchainDirectory
2. GetCurrentCommandLineToolsDirectory.
These two functions caused a layering violation in the Swift fork, which
added a dependency from lldbHost to lldbPlatform. As show by this PR,
there's no need for these two functions to live in Platform, and we
already have similar functions in Host.
We have various layering violations but this one is particularly bad,
because lldb-dap started depending on lldbHost. On the Swift fork, this
library was depending on lldbPlatform which pulled in various Swift
files, which libLLDB needs, but lldb-dap itself does not. We were
missing RPATHs to resume them, so in the current nightly, lldb-dap
crashes because the dynamic loader can't find the missing Swift libs.
rdar://146537366
Commit: 0744d4926a0c567b0f10d19f0478b7a4bf960a19
https://github.com/llvm/llvm-project/commit/0744d4926a0c567b0f10d19f0478b7a4bf960a19
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcilb-invalid.s
A llvm/test/MC/RISCV/xqcilb-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcilb (Long Branch) extension (#131996)
This extension adds two long branch instructions.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: b44b72e122c6068e4d8aae37f10572f0d2c3e112
https://github.com/llvm/llvm-project/commit/b44b72e122c6068e4d8aae37f10572f0d2c3e112
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-19 (Wed, 19 Mar 2025)
Changed paths:
M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
Log Message:
-----------
[RISCV] Check line and column numbers for errors in XCVmem-invalid.s. NFC
I was trying a change that caused some of the error messages in this
test to change. I was having trouble updating the test because FileCheck
kept scanning ahead when I missed updating a line. Checking the line number
should make it easier to update.
Commit: 9cdbc47144f28785133592b1ae219cb49b9ac61d
https://github.com/llvm/llvm-project/commit/9cdbc47144f28785133592b1ae219cb49b9ac61d
Author: Mythreya <git at mythreya.dev>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeComplete.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Log Message:
-----------
[clangd] Add `HeaderInsertion` config option (#128503)
This is the config file equivalent of the `--header-insertion` command line option
Fixes https://github.com/clangd/clangd/issues/2032
Commit: 4254f2777cd3dccf160c79e36ce091d58b4e99c1
https://github.com/llvm/llvm-project/commit/4254f2777cd3dccf160c79e36ce091d58b4e99c1
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/tools/llc/NewPMDriver.cpp
Log Message:
-----------
[CodeGen][NPM] Parse MachineFunctions in NPM driver (#128467)
MachineFunctions were not being parsed when target is allowed to build
the pipeline.
This will allow us to use `-start-before` and other options.
Commit: 6df192c02ea41d1d918fa96c6df174f76e4fc259
https://github.com/llvm/llvm-project/commit/6df192c02ea41d1d918fa96c6df174f76e4fc259
Author: David Green <david.green at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/sext.ll
A llvm/test/CodeGen/AArch64/trunc.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64] Addition gisel tests for udiv by constant and zext/sext/trunc. NFC
Commit: 0e6ea0945e64d26a89ec8a9e770578726eda1f9f
https://github.com/llvm/llvm-project/commit/0e6ea0945e64d26a89ec8a9e770578726eda1f9f
Author: David Green <david.green at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/arm64-neon-mul-div-cte.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/sext.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64][GlobalISel] Scalarize zext with larger than i64 elements.
Like other operations larger than i64, we scalarize i128 and allow them to
legalize from there. This also helps with v2i64 udiv by constant, which needs a
legalize a umulh.
Commit: 7c6479021382b5cf16619f0089b9d86536630e26
https://github.com/llvm/llvm-project/commit/7c6479021382b5cf16619f0089b9d86536630e26
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Follow up for addressing style comment (#132093)
Follow up PR to address style comment
(https://github.com/llvm/llvm-project/pull/131657#discussion_r2004197917)
Commit: 53a395fda32cb0edd899202b6614595185b01ef1
https://github.com/llvm/llvm-project/commit/53a395fda32cb0edd899202b6614595185b01ef1
Author: David Green <david.green at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/ctpop.ll
M llvm/test/CodeGen/AArch64/cttz.ll
Log Message:
-----------
[AArch64][GlobalISel] Legalize more CTPOP vector types. (#131513)
Similar to other operations, s8, s16 s32 and s64 vector elements are
clamped to legal vector sizes, odd number of elements are widened to the
next power-2 and s128 is scalarized.
This helps legalize cttz as well as ctpop.
Commit: e17b3cdfb3626e03cdefaad42db1e2374da9e9ca
https://github.com/llvm/llvm-project/commit/e17b3cdfb3626e03cdefaad42db1e2374da9e9ca
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGISel.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
A llvm/test/CodeGen/AMDGPU/amdgcn-cs-chain-intrinsic-dyn-vgpr-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
M llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
A llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-intrinsic-dyn-vgpr-w32.ll
A llvm/test/CodeGen/AMDGPU/remove-register-flags.mir
A llvm/test/CodeGen/AMDGPU/unsupported-cs-chain.ll
Log Message:
-----------
[AMDGPU] Dynamic VGPR support for llvm.amdgcn.cs.chain (#130094)
The llvm.amdgcn.cs.chain intrinsic has a 'flags' operand which may
indicate that we want to reallocate the VGPRs before performing the
call.
A call with the following arguments:
```
llvm.amdgcn.cs.chain %callee, %exec, %sgpr_args, %vgpr_args,
/*flags*/0x1, %num_vgprs, %fallback_exec, %fallback_callee
```
is supposed to do the following:
- copy the SGPR and VGPR args into their respective registers
- try to change the VGPR allocation
- if the allocation has succeeded, set EXEC to %exec and jump to
%callee, otherwise set EXEC to %fallback_exec and jump to
%fallback_callee
This patch implements the dynamic VGPR behaviour by generating an
S_ALLOC_VGPR followed by S_CSELECT_B32/64 instructions for the EXEC and
callee. The rest of the call sequence is left undisturbed (i.e.
identical to the case where the flags are 0 and we don't use dynamic
VGPRs). We achieve this by introducing some new pseudos
(SI_CS_CHAIN_TC_Wn_DVGPR) which are expanded in the SILateBranchLowering
pass, just like the simpler SI_CS_CHAIN_TC_Wn pseudos. The main reason
is so that we don't risk other passes (particularly the PostRA
scheduler) introducing instructions between the S_ALLOC_VGPR and the
jump. Such instructions might end up using VGPRs that have been
deallocated, or the wrong EXEC mask. Once the whole backend treats
S_ALLOC_VGPR and changes to EXEC as barriers for instructions that use
VGPRs, we could in principle move the expansion earlier (but in the
absence of a good reason for that my personal preference is to keep it
later in order to make debugging easier).
Since the expansion happens after register allocation, we're careful to
select constants to immediate operands instead of letting ISel generate
S_MOVs which could interfere with register allocation (i.e. make it look
like we need more registers than we actually do).
For GFX12, S_ALLOC_VGPR only works in wave32 mode, so we bail out during
ISel in wave64 mode. However, we can define the pseudos for wave64 too
so it's easy to handle if future generations support it.
---------
Co-authored-by: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: bf5cdd6358e8fc45319b748693090b5885beecee
https://github.com/llvm/llvm-project/commit/bf5cdd6358e8fc45319b748693090b5885beecee
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
M libcxx/test/support/min_allocator.h
M libcxx/test/support/sized_allocator.h
Log Message:
-----------
[libc++][test] Fix issues found by MSVC's STL (#131787)
* libcxx/test/support/min_allocator.h
+ Fix `tiny_size_allocator::rebind` which mistakenly said `T` instead of
`U`.
*
libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
+ `std::stable_partition` requires bidirectional iterators.
* libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
+ Fix allocator type given to `std::vector<bool>`. The element types are
required to match, [N5008](https://isocpp.org/files/papers/N5008.pdf)
\[container.alloc.reqmts\]/5: "*Mandates:* `allocator_type::value_type`
is the same as `X::value_type`."
* libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp
+ Mark `is_steady` as `[[maybe_unused]]`, as it appears within
`LIBCPP_STATIC_ASSERT` only.
*
libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
*
libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
* libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
+ Fix MSVC warning C4127 "conditional expression is constant".
`TEST_STD_AT_LEAST_23_OR_RUNTIME_EVALUATED` was introduced for this
purpose, so it should be used consistently.
* libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
+ Fix `gcd()` precondition violation for `signed char`. This test case
was causing `-128` to be passed as a `signed char` to `gcd()`, which is
forbidden.
* libcxx/test/std/containers/sequences/array/assert.iterators.pass.cpp
*
libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp
*
libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
+ Split some REQUIRES and XFAIL lines. This is a "nice to have" for
MSVC's internal test harness, which is extremely simple and looks for
exact comment matches to skip tests. We can recognize the specific lines
"REQUIRES: has-unix-headers" and "XFAIL: msvc", but it's a headache to
maintain if they're chained with other conditions.
* libcxx/test/support/sized_allocator.h
+ Fix x86 truncation warnings. `std::allocator` takes `std::size_t`, so
we need to `static_cast`.
*
libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
+ Fix x86 truncation warning. `std::min()` is returning
`std::streamoff`, which was being unnecessarily narrowed to
`std::size_t`.
*
libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
+ Fix MSVC warning C4127 "conditional expression is constant" for an
always-true branch. This was very recently introduced by #129008 making
`N` constexpr. As it's a local constant just nine lines above, we don't
need to test whether 100 is greater than 0.
Commit: 14006c8b5be12d24d8af2ff4bf4d152b1a2306f5
https://github.com/llvm/llvm-project/commit/14006c8b5be12d24d8af2ff4bf4d152b1a2306f5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
Log Message:
-----------
[AMDGPU] Fix a warning
This patch fixes:
llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp:173:64: error:
comparison of integers of different signs: 'unsigned int' and 'int'
[-Werror,-Wsign-compare]
Commit: b3b5527baaeceb923e9bb698f52883a1506f1b25
https://github.com/llvm/llvm-project/commit/b3b5527baaeceb923e9bb698f52883a1506f1b25
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
M lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
M lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
[lldb] Use UnwindPlan::Row as values, part 2 (#132008)
This is the mechanical part of #131150.
I'm also removing the interfaces taking a RowSP.
Commit: d4b586ad95d7a2d13e49c5e9cee8c5d6611efccb
https://github.com/llvm/llvm-project/commit/d4b586ad95d7a2d13e49c5e9cee8c5d6611efccb
Author: Kon <kinsei0916 at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
[LLDB][NFC] Fix typo in docs (#131388)
Commit: 0738f706151b41063d09b2dc349cabd471b2476e
https://github.com/llvm/llvm-project/commit/0738f706151b41063d09b2dc349cabd471b2476e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/CodeGen/ExpandVectorPredication.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/TableGen/intrinsic-attrs.td
M llvm/utils/TableGen/Basic/IntrinsicEmitter.cpp
Log Message:
-----------
[Intrinsics] Add Intrinsic::getFnAttributes() (NFC) (#132029)
Most places that call Intrinsic::getAttributes() are only interested in
the function attributes, so add a separate function for that.
The motivation for this is that I'd like to add the ability to specify
range attributes on intrinsics, which requires knowing the function
type. This avoids needing to know the type for most attribute queries.
Commit: 01f04252b6711e281d9569172302ec20789e9bbe
https://github.com/llvm/llvm-project/commit/01f04252b6711e281d9569172302ec20789e9bbe
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Get FMFs from VectorBuilder in createSimpleReduction. NFC (#132017)
The other createSimpleReduction takes the FMFs from the IRBuilder, so
this aligns the VectorBuilder variant to do the same and reduce the
possibility of there being a mismatch in flags.
Commit: 750e716ef04ec33c8abc83d95d9c271009557c4a
https://github.com/llvm/llvm-project/commit/750e716ef04ec33c8abc83d95d9c271009557c4a
Author: Mike Aizatsky <mike.aizatsky at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm-c/Core.h
Log Message:
-----------
[capi][nfc] Reference Function::getFunctionType in LLVMGlobalGetValueType (#132102)
Commit: 64555e3d48223c4c5a851f0cbe0278ec6f2241ba
https://github.com/llvm/llvm-project/commit/64555e3d48223c4c5a851f0cbe0278ec6f2241ba
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 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/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[X86][NFCI] Add IsStore parameter to hasConditionalLoadStoreForType (#132153)
Address
https://github.com/llvm/llvm-project/pull/132032#issuecomment-2736936769
Commit: f5ee10538b68835112323c241ca7db67ca78bf62
https://github.com/llvm/llvm-project/commit/f5ee10538b68835112323c241ca7db67ca78bf62
Author: Ivana Ivanovska <iivanovska at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[Clang] Optimize -Wunsafe-buffer-usage. (#125492)
The Clang disgnostic `-Wunsafe-buffer-usage` was adding up to +15%
compilation time when used. Profiling showed that most of the overhead
comes from the use of ASTMatchers.
This change replaces the ASTMatcher infrastructure with simple matching
functions and keeps the functionality unchanged. It reduces the overhead
added by `-Wunsafe-buffer-usage` by 87.8%, leaving a negligible
additional compilation time of 1.7% when the diagnostic is used.
**Old version without -Wunsafe-buffer-usage:**
```
$ hyperfine -i -w 1 --runs 5 '/tmp/old_clang -c -std=c++20 /tmp/preprocessed.cc -ferror-limit=20'
Benchmark 1: /tmp/old_clang -c -std=c++20 /tmp/preprocessed.cc -ferror-limit=20
Time (mean ± σ): 231.035 s ± 3.210 s [User: 229.134 s, System: 1.704 s]
Range (min … max): 228.751 s … 236.682 s 5 runs
```
**Old version with -Wunsafe-buffer-usage:**
```
$ hyperfine -i -w 1 --runs 10 '/tmp/old_clang -c -std=c++20 /tmp/preprocessed.cc -ferror-limit=20 -Wunsafe-buffer-usage'
Benchmark 1: /tmp/old_clang -c -std=c++20 /tmp/preprocessed.cc -ferror-limit=20 -Wunsafe-buffer-usage
Time (mean ± σ): 263.840 s ± 0.854 s [User: 262.043 s, System: 1.575 s]
Range (min … max): 262.442 s … 265.142 s 10 runs
```
**New version with -Wunsafe-buffer-usage:**
```
$ hyperfine -i -w 1 --runs 10 '/tmp/new_clang -c -std=c++20 /tmp/preprocessed.cc -ferror-limit=20 -Wunsafe-buffer-usage'
Benchmark 1: /tmp/new_clang -c -std=c++20 /tmp/preprocessed.cc -ferror-limit=20 -Wunsafe-buffer-usage
Time (mean ± σ): 235.169 s ± 1.408 s [User: 233.406 s, System: 1.561 s]
Range (min … max): 232.221 s … 236.792 s 10 runs
```
Commit: 82912fd6200b4f99d3f1b42dc6c08af27c1cba4f
https://github.com/llvm/llvm-project/commit/82912fd6200b4f99d3f1b42dc6c08af27c1cba4f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libclc/clc/include/clc/math/clc_subnormal_config.h
M libclc/clc/include/clc/math/math.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_bitselect.inc
M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
M libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/common/clc_degrees.cl
M libclc/clc/lib/generic/common/clc_radians.cl
M libclc/clc/lib/generic/common/clc_smoothstep.cl
M libclc/clc/lib/generic/math/clc_frexp.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/math/clc_hypot.inc
M libclc/clc/lib/generic/math/clc_ldexp.cl
M libclc/clc/lib/generic/math/clc_log10.cl
M libclc/clc/lib/generic/math/clc_log2.cl
M libclc/clc/lib/generic/math/clc_log_base.h
M libclc/clc/lib/generic/math/clc_modf.cl
M libclc/clc/lib/generic/math/clc_modf.inc
M libclc/clc/lib/generic/math/clc_rsqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.inc
M libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/generic/relational/clc_bitselect.inc
M libclc/clspv/lib/subnormal_config.cl
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/degrees.inc
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/radians.inc
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/smoothstep.inc
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/common/step.inc
M libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/fast_distance.h
M libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
M libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
M libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/fract.h
M libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/ldexp.h
M libclc/generic/include/clc/math/ldexp.inc
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/modf.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/bitselect.inc
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/radians.cl
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/geometric/distance.cl
M libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
M libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
M libclc/generic/lib/geometric/normalize.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/fract.cl
M libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/ldexp.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/generic/lib/relational/bitselect.cl
M libclc/generic/lib/relational/bitselect.inc
M libclc/generic/lib/subnormal_config.cl
M libclc/spirv/lib/subnormal_config.cl
Log Message:
-----------
[libclc] Update license headers (#132070)
This commit bulk-updates the libclc license headers to the current
Apache-2.0 WITH LLVM-exception license in situations where they were
previously attributed to AMD - and occasionally under an additional
single individual contributor - under an MIT license.
AMD signed the LLVM relicensing agreement and so agreed for their past
contributions under the new LLVM license.
The LLVM project also has had a long-standing, unwritten, policy of not
adding copyright notices to source code. This policy was recently
written up [1]. This commit therefore also removes these copyright
notices at the same time.
Note that there are outstanding copyright notices attributed to others -
and many files missing copyright headers - which will be dealt with in
future work.
[1]
https://llvm.org/docs/DeveloperPolicy.html#embedded-copyright-or-contributed-by-statements
Commit: 68180d8d16f07db8200dfce7bae26a80c43ebc5e
https://github.com/llvm/llvm-project/commit/68180d8d16f07db8200dfce7bae26a80c43ebc5e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
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/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Semantics/OpenMP/depobj-construct-v50.f90
Log Message:
-----------
[flang][OpenMP] Use OmpDirectiveSpecification in standalone directives (#131163)
This uses OmpDirectiveSpecification in the rest of the standalone
directives.
Commit: 8c6f309023a9c5b6d8488e89ed0be8da7d117a68
https://github.com/llvm/llvm-project/commit/8c6f309023a9c5b6d8488e89ed0be8da7d117a68
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/Expr.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/Preprocessor/embed_constexpr.c
Log Message:
-----------
[clang] Introduce "binary" StringLiteral for #embed data (#127629)
StringLiteral is used as internal data of EmbedExpr and we directly use
it as an initializer if a single EmbedExpr appears in the initializer
list of a char array. It is fast and convenient, but it is causing
problems when string literal character values are checked because #embed
data values are within a range [0-2^(char width)] but ordinary
StringLiteral is of maybe signed char type.
This PR introduces new kind of StringLiteral to hold binary data coming
from an embedded resource to mitigate these problems. The new kind of
StringLiteral is not assumed to have signed char type. The new kind of
StringLiteral also helps to prevent crashes when trying to find
StringLiteral token locations since these simply do not exist for binary
data.
Fixes https://github.com/llvm/llvm-project/issues/119256
Commit: c65fa9163e47af5e86b2a187dd45ae665cf5a996
https://github.com/llvm/llvm-project/commit/c65fa9163e47af5e86b2a187dd45ae665cf5a996
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/C/C23/n2819.c
M clang/www/c_status.html
Log Message:
-----------
[C23] Fix compound literals within function prototype (#132097)
WG14 N2819 clarified that a compound literal within a function prototype
has a lifetime similar to that of a local variable within the function,
not a file scope variable.
Commit: a5d4b50f936628209ca0c53249f28bc212c138c0
https://github.com/llvm/llvm-project/commit/a5d4b50f936628209ca0c53249f28bc212c138c0
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Change the inner loop and outer loop of appendOperandsOfVL. (#132152)
Commit: 9dc854ccbd3d29c8dcf6b81b691724c9fc4bfc6c
https://github.com/llvm/llvm-project/commit/9dc854ccbd3d29c8dcf6b81b691724c9fc4bfc6c
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
Log Message:
-----------
[libc++] Improve test coverage for copy/move ctors for vector<bool> (#120132)
The current tests for `vector<bool>` fail to adequately cover realistic
scenarios, as they are limited to cases of up to 3 bytes, representing
less than 1/2 of a word size on a 64-bit system. However, most
`vector<bool>` operations rely on code paths triggered only when
handling multiple storage words (8 bytes each). To address this gap,
this PR rewrites the tests for copy and move constructors, as well as
allocator-extended copy and move constructors, ensuring that previously
untested code paths are now thoroughly validated.
Commit: 7dc550473c5239399707804c9466519d165aa7fd
https://github.com/llvm/llvm-project/commit/7dc550473c5239399707804c9466519d165aa7fd
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/sve-ptest-removal-cmpeq.mir
Log Message:
-----------
[LLVM][CodeGen][AArch64] Improve PTEST removal by looking through copies. (#132041)
The general predicates of the PTEST and PTEST_like instructions may
belong to different register classes. This can lead to the insertion of
a COPY instruction, making them appear different. However, for the
purpose of PTEST removal, such copies are irrelevant, and we can look
through them to improve the likelihood of finding a match.
Commit: 1a2539ec929f01c33c1c667cc8f21064d61526e7
https://github.com/llvm/llvm-project/commit/1a2539ec929f01c33c1c667cc8f21064d61526e7
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
Log Message:
-----------
[mlir:bufferization] Make `LayoutMapOption` CL args enums. (#132121)
This PR changes the type of the command-line arguments representing
`LayoutMapOption` from `std::string` to the enum with the same name.
This allows for checking the values of programmable usages of the
corresponding options at compile time.
Commit: 73558dc329ee44465672fc492ec8dcee8afad2fa
https://github.com/llvm/llvm-project/commit/73558dc329ee44465672fc492ec8dcee8afad2fa
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-getStoreMinimumVF.ll
Log Message:
-----------
[SLP][REVEC] Fix getStoreMinimumVF only accept scalar types. (#132181)
Fix "Element type of a VectorType must " "be an integer, floating point,
or " "pointer type.".
Commit: 345748e02722ce81ecd11beac18121b23325b853
https://github.com/llvm/llvm-project/commit/345748e02722ce81ecd11beac18121b23325b853
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IVDescriptors.cpp
Log Message:
-----------
[IVDescriptor] Explicitly check for isMinMaxRecurrenceKind in getReductionOpChain. NFC (#132025)
There are other types of recurrences with an icmp/fcmp opcode, AnyOf and
FindLastIV, so don't rely on the opcode to detect them.
This makes adding support for AnyOf in #131830 easier.
Note that these currently fail the ExpectedUses/isCorrectOpcode checks
anyway, so there shouldn't be any functional change.
Commit: cb1e91c18dd20f6b2d1c38ce93befab87f77ce0f
https://github.com/llvm/llvm-project/commit/cb1e91c18dd20f6b2d1c38ce93befab87f77ce0f
Author: Wenju He <wenju.he at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] add --only-needed to llvm-link when INTERNALIZE flag is set (#130871)
When -internalize flag is passed to llvm-link, we only need to link in
needed symbols. This PR reduces size of linked bitcode, e.g. by removing
following symbols:
_Z12__clc_sw_fmaDv16_fS_S_
_Z12__clc_sw_fmaDv2_fS_S_
_Z12__clc_sw_fmaDv3_fS_S_
_Z12__clc_sw_fmaDv4_fS_S_
_Z12__clc_sw_fmaDv8_fS_S_
_Z12__clc_sw_fmafff
Commit: 9b1f905b483a2b42e4681bbef42b2641f8ccf5ad
https://github.com/llvm/llvm-project/commit/9b1f905b483a2b42e4681bbef42b2641f8ccf5ad
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
[clang] improve class type sugar preservation in pointers to members (#130537)
This changes the MemberPointerType representation to use a
NestedNameSpecifier instead of a Type to represent the class.
Since the qualifiers are always parsed as nested names, there was an
impedance mismatch when converting these back and forth into types, and
this led to issues in preserving sugar.
The nested names are indeed a better match for these, as the differences
which a QualType can represent cannot be expressed syntactically, and it
also represents the use case more exactly, being either dependent or
referring to a CXXRecord, unqualified.
This patch also makes the MemberPointerType able to represent sugar for
a {up/downcast}cast conversion of the base class, although for now the
underlying type is canonical, as preserving the sugar up to that point
requires further work.
As usual, includes a few drive-by fixes in order to make use of the
improvements, and removing some duplications, for example
CheckBaseClassAccess is deduplicated from across SemaAccess and
SemaCast.
Commit: e6a87da8fe314a009eed769f9737b4b281a06fba
https://github.com/llvm/llvm-project/commit/e6a87da8fe314a009eed769f9737b4b281a06fba
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[CodeGen] Don't explicitly set intrinsic attributes (NFCI)
The intrinsic attributes are automatically set when the function
is created, there is no need to assign them explicitly.
Commit: 6cd62ad08c974b7d4f7171c66f6567de82bd236f
https://github.com/llvm/llvm-project/commit/6cd62ad08c974b7d4f7171c66f6567de82bd236f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
Log Message:
-----------
Revert "[clang] improve class type sugar preservation in pointers to members" (#132215)
Reverts llvm/llvm-project#130537
This missed updating lldb, which we didn't notice due to lack of
pre-commit CI.
Commit: 97213b39edea06f78b76d4baf299c0ffa323a9d6
https://github.com/llvm/llvm-project/commit/97213b39edea06f78b76d4baf299c0ffa323a9d6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCRegisterInfo.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
[MC] Return MCRegister from MCRegisterClass::getRegister. NFC (#132126)
Replace unsigned with MCRegister at some of the call sites.
Commit: 55d3a55cc14d77db1c5d254aeb925b2340b11f91
https://github.com/llvm/llvm-project/commit/55d3a55cc14d77db1c5d254aeb925b2340b11f91
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen]disable true16 on fneg test (#132221)
This is a NFC change.
Revert the failed test case in
https://github.com/llvm/llvm-project/pull/131206
Commit: ff3341ca35fe4ce05b52e89d654ff4c696d3602e
https://github.com/llvm/llvm-project/commit/ff3341ca35fe4ce05b52e89d654ff4c696d3602e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
Log Message:
-----------
[MLIR][OpenMP] Simplify OpenMP to LLVM dialect conversion (#132009)
This patch makes a few changes to unify the conversion process from the
'omp' to the 'llvm' dialect. The main goal of this change is to
consolidate the logic used to identify legal and illegal ops, and to
consolidate the conversion logic into a single class.
Changes introduced are the following:
- Removal of `getNumVariableOperands()` and `getVariableOperand()` extra
class declarations from OpenMP operations. These are redundant, as they
are equivalent to `mlir::Operation::getNumOperands()` and
`mlir::Operation::getOperands()`, respectively.
- Consolidation of `RegionOpConversion`,
`RegionLessOpWithVarOperandsConversion`,
`RegionOpWithVarOperandsConversion`, `RegionLessOpConversion`,
`AtomicReadOpConversion`, `MapInfoOpConversion`,
`DeclMapperOpConversion` and `MultiRegionOpConversion` into a single
`OpenMPOpConversion` class. This is possible because all of the previous
were doing parts of the same set of operations based on whether they
defined any regions, whether they took operands, type attributes, etc.
- Update of `mlir::configureOpenMPToLLVMConversionLegality` to use a
single generic set of checks for all operations, removing the need to
list every operation manually.
- Update of `mlir::populateOpenMPToLLVMConversionPatterns` to
automatically populate the list of patterns to include all dialect operations.
Commit: fdeb2ff30407afbfc3596aaf417a2a91cdff20c9
https://github.com/llvm/llvm-project/commit/fdeb2ff30407afbfc3596aaf417a2a91cdff20c9
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/source/Symbol/Function.cpp
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
Log Message:
-----------
[lldb] Fix prologue size calculation for discontinuous functions (#131597)
When searching for the end of prologue, I'm only iterating through the
address range (~basic block) which contains the function entry point.
The reason for that is that even if some other range somehow contained
the end-of-prologue marker, the fact that it's in a different range
would imply it's reachable through some form of control flow, and that's
usually not a good place to set an function entry breakpoint.
Commit: 3b3f8c50b646600dc1846c7d3d018fdb39fbfe0b
https://github.com/llvm/llvm-project/commit/3b3f8c50b646600dc1846c7d3d018fdb39fbfe0b
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_shadow_setup.cpp
M compiler-rt/lib/asan/asan_win.cpp
Log Message:
-----------
[asan] Re-exec without ASLR if needed on 32-bit Linux (#131975)
High-entropy ASLR allows up to 16-bits of entropy (2**16 4KB pages ==
256MB; a bit more in practice because of implementation details), which
is a significant chunk of the user address space on 32-bit systems (4GB
or less). This, combined with ASan's shadow (512MB) and ASan's fixed
shadow offset (512MB), makes it possible for large binaries to fail to
map the shadow.
This patch changes ASan to do a one-time re-exec without ASLR if it
cannot map the shadow, thus reclaiming the ~256MB of address space.
Alternatives considered:
1) We don't lower ASan's fixed shadow offset, because that would limit
non-PIE binaries.
2) We don't switch to a dynamic shadow offset, because ASan for 32-bit
Linux relies on the compile-time constant offset to optimize its
instrumentation and compiler-rt.
This is loosely inspired by
https://github.com/llvm/llvm-project/pull/78351,
https://github.com/llvm/llvm-project/pull/85142, and
https://github.com/llvm/llvm-project/pull/85674, though those were
required because there were no static shadow mappings that could fully
shadow the range of user mappings; this is not the case for ASan.
Commit: 7063419460d1e8cef9017aa51a61fb95669cf85f
https://github.com/llvm/llvm-project/commit/7063419460d1e8cef9017aa51a61fb95669cf85f
Author: Prashanth <TheStarOne01 at proton.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/docs/CMakeLists.txt
M libc/docs/headers/index.rst
A libc/utils/docgen/dirent.yaml
Log Message:
-----------
[libc][docs] Add dirent implementation status doc and include in CMakeLists (#132151)
These changes tracks `dirent.h` for the implementation status of
functions and macros, with respect to the issue (
https://github.com/llvm/llvm-project/issues/122006 ).
Commit: 392b8f3e6353a1bcb980b73491a26cd5d04020bd
https://github.com/llvm/llvm-project/commit/392b8f3e6353a1bcb980b73491a26cd5d04020bd
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
[clang] Handle Binary StingLiteral kind in one more place (#132201)
The bots are upset by https://github.com/llvm/llvm-project/pull/127629 .
Fix that.
Commit: cebc4a167c518d83bb95fddd1c0dd6eebed3d505
https://github.com/llvm/llvm-project/commit/cebc4a167c518d83bb95fddd1c0dd6eebed3d505
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Lex/HeaderMap.cpp
Log Message:
-----------
[Lex][Clang] Add checking to HeaderMapImpl::getString to make it more robust (#131677)
Static analysis identified the Len - 1 expression in
HeaderMapImpl::getString as problematic if Len is zero. After filing
this issue:
https://github.com/llvm/llvm-project/issues/130185
Indeed we should be checking MaxLen and verify it is not zero as well.
Fixes: https://github.com/llvm/llvm-project/issues/130185
Commit: eb77061a428c28e9297c7a35cdbe568811025b2b
https://github.com/llvm/llvm-project/commit/eb77061a428c28e9297c7a35cdbe568811025b2b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoZvqdotq.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
A llvm/test/MC/RISCV/rvv/zvqdotq-invalid.s
A llvm/test/MC/RISCV/rvv/zvqdotq.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add assembler support for Zvqdotq. (#132118)
Based on the 0.0.1 spec here
https://github.com/riscv/riscv-dot-product/releases/tag/v0.0.1
Commit: b231f6f86237fc1a15377b4aad6cf9be4808d727
https://github.com/llvm/llvm-project/commit/b231f6f86237fc1a15377b4aad6cf9be4808d727
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M flang/docs/OpenMP-descriptor-management.md
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
M flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Target/LLVMIR/omptarget-data-use-dev-ordering.mlir
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
M mlir/test/Target/LLVMIR/omptarget-nested-ptr-record-type-mapping-host.mlir
M mlir/test/Target/LLVMIR/omptarget-nullary-record-ptr-member-map.mlir
M mlir/test/Target/LLVMIR/omptarget-record-type-with-ptr-member-host.mlir
Log Message:
-----------
[MLIR][OpenMP] Improve omp.map.info verification (#132066)
This patch makes the `map_type` and `map_capture_type` arguments of the
`omp.map.info` operation required, which was already an invariant being
verified by its users via `verifyMapClause()`. This makes it clearer, as
getters no longer return misleading `std::optional` values.
Checks for the `mapper_id` argument are moved to a verifier for the
operation, rather than being checked by users.
Functionally NFC, but not marked as such due to a reordering of
arguments in the assembly format of `omp.map.info`.
Commit: 03ceb26b55b855c64385c52020846eaa86dd278b
https://github.com/llvm/llvm-project/commit/03ceb26b55b855c64385c52020846eaa86dd278b
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
Log Message:
-----------
[RISCV] Fix incorrect slide offset when using vnsrl to de-interleave (#132123)
Given this shuffle:
```
shufflevector <8 x i8> %0, <8 x i8> %1, <8 x i32> <i32 0, i32 4, i32 8, i32 12, i32 undef, i32 undef, i32 undef, i32 undef>
```
#127272 lowers it with a bunch of vnsrl. If we describe the result in
terms of the shuffle mask, we expect:
```
<0, 4, 8, 12, u, u, u, u>
```
but we actually got:
```
<0, 4, u, u, 8, 12, u, u>
```
for factor larger than 2. This is caused by `CONCAT_VECTORS` on
incorrect (sub) vector types. This patch fixes the said issue by
building an aggregate vector with the correct sub vector types.
Fix #132071
Commit: 7c1f473524abe4d85af9ea390d3516848c9ba31e
https://github.com/llvm/llvm-project/commit/7c1f473524abe4d85af9ea390d3516848c9ba31e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
Log Message:
-----------
[NFC][analyzer] Multipart checker refactor 1: VirtualCallChecker (#132072)
Simplify `VirtualCallChecker.cpp` with the help of the new framework for
multipart checkers that was introduced by commit
27099982da2f5a6c2d282d6b385e79d080669546. This is part of a commit
series that will perform analogous changes in all checker classes that
implement multiple user-facing checker parts (with separate names).
In this commit I'm removing the undocumented hidden
`cplusplus.VirtualCallModeling` checker, because (to my best
understanding) it was just a hacky implementation detail within the old
way of registering the "real" checker parts.
Note that keeping or re-adding an extra checker part like this modeling
checker would be very easy within the new framework; I'm removing it
only because I'm convinced that it is no longer useful.
Commit: 71935281e02cfaef2bd109bcb58f0d80039ffd15
https://github.com/llvm/llvm-project/commit/71935281e02cfaef2bd109bcb58f0d80039ffd15
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/ARM/ARMConstantPoolValue.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
Log Message:
-----------
[Target] Use *Set::insert_range (NFC) (#132140)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: c38ef58557e26394e330f6ba16ff71b492cf50bb
https://github.com/llvm/llvm-project/commit/c38ef58557e26394e330f6ba16ff71b492cf50bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Program.cpp
Log Message:
-----------
[ByteCode] Avoid repeated hash lookups (NFC) (#132141)
Commit: 69b70110b78930b942a5e92db40bcefd0ac7890b
https://github.com/llvm/llvm-project/commit/69b70110b78930b942a5e92db40bcefd0ac7890b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#132142)
Commit: ac269e6d94c29711616991a8d714e9a05e1bbce6
https://github.com/llvm/llvm-project/commit/ac269e6d94c29711616991a8d714e9a05e1bbce6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFLinkGraphBuilder.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#132143)
Commit: bc9cee163c35262efab2805649c0a566ec8951fb
https://github.com/llvm/llvm-project/commit/bc9cee163c35262efab2805649c0a566ec8951fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
Log Message:
-----------
[IPO] Avoid repeated map lookups (NFC) (#132144)
Commit: 93507f6c6779d9585e5b2d0eb775354929626757
https://github.com/llvm/llvm-project/commit/93507f6c6779d9585e5b2d0eb775354929626757
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCLoopInstrFormPrep.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#132145)
Commit: 2df51fd9c491ef1ad90fbad5ce18ea8ff8bd3117
https://github.com/llvm/llvm-project/commit/2df51fd9c491ef1ad90fbad5ce18ea8ff8bd3117
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Avoid repeated hash lookups (NFC) (#132146)
Commit: 482b95217e9d77c8c5ddb601579ef8b6d86c188c
https://github.com/llvm/llvm-project/commit/482b95217e9d77c8c5ddb601579ef8b6d86c188c
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: factor out utility code (#131895)
Factor out the code for mapping from physical registers to consecutive
array indexes.
Introduce helper functions to print instructions and registers to
prevent mixing of analysis logic and implementation details of debug
output.
Removed the debug printing from `Gadget::generateReport`, as it doesn't
seem to add important information to what was already printed in the
report itself.
Commit: 15ad84fffd76e845ce48f7cb8a917eb6532b93c9
https://github.com/llvm/llvm-project/commit/15ad84fffd76e845ce48f7cb8a917eb6532b93c9
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
Log Message:
-----------
[clang][deps] Explicitly link pthreads
This is a speculative fix for link failure found by the RHEL 8 bot: https://lab.llvm.org/buildbot/#/builders/204/builds/3862.
FAILED: lib/libclangDependencyScanning.so.21.0git
/InProcessModuleCache.cpp.o: In function `(anonymous namespace)::ReaderWriterLock::tryLock()':
InProcessModuleCache.cpp:(.text._ZN12_GLOBAL__N_116ReaderWriterLock7tryLockEv+0x1d): undefined reference to `pthread_rwlock_trywrlock'
Commit: 99b1a2ac078fe52300d270b3e77ddbababa8f951
https://github.com/llvm/llvm-project/commit/99b1a2ac078fe52300d270b3e77ddbababa8f951
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/lib/Basic/FileManager.cpp
Log Message:
-----------
[clang] Remove deprecated `FileManager` APIs (#132063)
This PR removes the `FileManager` APIs that have been deprecated for a
while.
LLVM 20.1.0 that was released earlier this month contains the formal
deprecation of these APIs, so these should be fine to remove in the next
major release.
Commit: 73cd84a90e074e32160de9216b12c1737e96362d
https://github.com/llvm/llvm-project/commit/73cd84a90e074e32160de9216b12c1737e96362d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__functional/operations.h
M libcxx/include/__fwd/functional.h
A libcxx/include/__fwd/map.h
A libcxx/include/__fwd/set.h
M libcxx/include/__tree
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/set
Log Message:
-----------
[NFC][libc++] Adds (multi|)(map|set) forward declarations. (#131541)
This removes duplicated forward declarations of these classes.
closes: #131518
Commit: 10624e67c3f26ce733a01de891e43602b6253395
https://github.com/llvm/llvm-project/commit/10624e67c3f26ce733a01de891e43602b6253395
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
Log Message:
-----------
[BOLT] Fix warnings
bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp:62:13: error: unused
function 'traceInst' [-Werror,-Wunused-function]
bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp:68:13: error: unused
function 'traceReg' [-Werror,-Wunused-function]
bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp:80:13: error: unused
function 'traceRegMask' [-Werror,-Wunused-function]
Commit: 5f6d9b45e90a261810e347a7de092545dbb46fc6
https://github.com/llvm/llvm-project/commit/5f6d9b45e90a261810e347a7de092545dbb46fc6
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
Log Message:
-----------
[BOLT] Make Relocations a class and add optional field (#131638)
This patch converts `Relocations` from a struct to a class, and
introduces the `Optional` field. Patch #116964 will use it.
Some optimizations, like `scanExternalRefs`, create relocations that
patch the old code. Under certain circumstances these may be skipped
without correctness implications.
Commit: e202ff45df206859b6e3c2142a735348a0d449bb
https://github.com/llvm/llvm-project/commit/e202ff45df206859b6e3c2142a735348a0d449bb
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
M compiler-rt/test/profile/Posix/instrprof-fork.c
A compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
Log Message:
-----------
[profile] Implement a non-mmap path when reading profile files from a non-local filesystem (#131177)
On AIX, when accessing mmap'ed memory associated to a file on NFS, a
SIGBUS might be raised at random.
The problem is still in open state with the OS team.
This PR teaches the profile runtime, under certain conditions, to avoid
the mmap when reading the profile file during online merging.
This PR has no effect on any platform other than AIX because I'm not
aware of this problem on other platforms.
Other platforms can easily opt-in to this functionality in the future.
The logic in function `is_local_filesystem` was copied from
[llvm/lib/Support/Unix/Path.inc](https://github.com/llvm/llvm-project/blob/f388ca3d9d9a58e3d189458b590ba68dfd9e5a2d/llvm/lib/Support/Unix/Path.inc#L515)
(https://reviews.llvm.org/D58801), because it seems that the
compiler-rt/profile cannot reuse code from llvm except through
`InstrProfData.inc`.
Thanks to @hubert-reinterpretcast for substantial feedback downstream.
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Co-authored-by: Hubert Tong <hubert.reinterpretcast at gmail.com>
Commit: 4d4d9d5d333cd8c3cfa0822157ded5ff735aed29
https://github.com/llvm/llvm-project/commit/4d4d9d5d333cd8c3cfa0822157ded5ff735aed29
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/StackSlotColoring.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[TTI] Use TypeSize in isLoadFromStackSlot and isStoreToStackSlot [nfc] (#132244)
Motivation is supporting scalable spills and reloads, e.g. in
https://github.com/llvm/llvm-project/pull/120524.
Looking at this API, I'm suspicious that the access size should just be
coming from the memory operand on the load or store, but we don't appear
to be consistently setting that up. That's a larger change so I may or
may not bother pursuing that.
Commit: b62e149f06f0cfe4f197bc7228616c4b83c4e9bf
https://github.com/llvm/llvm-project/commit/b62e149f06f0cfe4f197bc7228616c4b83c4e9bf
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/X86/arith-fma.ll
Log Message:
-----------
[CostModel][X86] check fma cost kinds using -cost-kind=all
Commit: fa52a54891a9ac460c7311c2618515c5f1e319d2
https://github.com/llvm/llvm-project/commit/fa52a54891a9ac460c7311c2618515c5f1e319d2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] Add tests showing failure to concatenate X86ISD::VPERMILPV nodes.
Commit: 89a1197c1f4ff11178109efe51bc82223c68f513
https://github.com/llvm/llvm-project/commit/89a1197c1f4ff11178109efe51bc82223c68f513
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
Log Message:
-----------
[asan] Fix-forward by adding SANITIZER_LINUX guard to 131975
Fix Solaris build breakage reported in https://github.com/llvm/llvm-project/pull/131975#issuecomment-2741097471
Commit: adb57757b9640768e5070e0e3f6b217c774f9205
https://github.com/llvm/llvm-project/commit/adb57757b9640768e5070e0e3f6b217c774f9205
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
Log Message:
-----------
[asan] Fix-forward by removing sys/personality.h for non-Linux in #131975
Fix Solaris build breakage reported in https://github.com/llvm/llvm-project/pull/131975#issuecomment-2741097471
Commit: 5356a9bcbb0b8364ce11276444055d8769bd5bae
https://github.com/llvm/llvm-project/commit/5356a9bcbb0b8364ce11276444055d8769bd5bae
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/tools/llvm-ml/BUILD.gn
Log Message:
-----------
[gn] port 3c657ceef9ced (llvm-ml64)
Commit: 0489447b0782da6dd6493019465f175efcfdec16
https://github.com/llvm/llvm-project/commit/0489447b0782da6dd6493019465f175efcfdec16
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
Log Message:
-----------
[PowerPC] dmr extract update assembly operand order (#132083)
The operand order of the assembly for dmr extract instructions has
changed since they were added. The results now come before the uses.
Commit: 909bff82b06aae32d27dfae0e878c3ffc40c4ee2
https://github.com/llvm/llvm-project/commit/909bff82b06aae32d27dfae0e878c3ffc40c4ee2
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
gn build: libcxx: Sync file list and always define _LIBCPP_ABI_VERSION.
The CMake side always defines _LIBCPP_ABI_VERSION. If we do not, we will
at least get -Wundef warnings in the test suite (upgraded to errors)
and it looks like we will end up building the library incorrectly as well.
With that, most of the libc++ test suite passes (with a manually written
lit.site.cfg) aside from some parts related to C++ modules which we
don't support yet.
Reviewers: nico, aeubanks
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/132135
Commit: 382b707e52ee6a0ca9a799795362dee67ade993f
https://github.com/llvm/llvm-project/commit/382b707e52ee6a0ca9a799795362dee67ade993f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-modules-cxx17-lsv.cmake
R libcxx/cmake/caches/Generic-modules-lsv.cmake
M libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++] Add coverage for C++17 and Clang Modules with LSV (#131815)
In recent versions of Clang, using -std=c++20 (and later) implies LSV
when compiling with modules. This change resulted in making our LSV job
redundant with the regular modules job, which uses the latest Standard.
This patch increases the coverage of our CI without increasing its cost
by pinning the LSV job to use C++17, which normally doesn't use LSV. A
related question is whether we should add coverage for non-LSV builds
using Clang modules.
Commit: dd3addf954ac7e704fccc7d011217ba10461c883
https://github.com/llvm/llvm-project/commit/dd3addf954ac7e704fccc7d011217ba10461c883
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for ff3341ca35fe4ce05b52e89d654ff4c696d3602e
Commit: 882082ae405d086b61588169fe31102c58b7d74e
https://github.com/llvm/llvm-project/commit/882082ae405d086b61588169fe31102c58b7d74e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
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/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M llvm/test/CodeGen/DirectX/Metadata/cbuffer_metadata.ll
Log Message:
-----------
[HLSL] Buffer handle globals should not be constants (#130231)
If these are constants their initializers will be removed by
InstCombine. Change them to not be constants and initialize them with
poison.
Commit: 49f06075a6d298bd13564c9bffcf51281bed4962
https://github.com/llvm/llvm-project/commit/49f06075a6d298bd13564c9bffcf51281bed4962
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Fix union copy/move operator active check (#132238)
Don't call CheckActive for copy/move operators. They will activate the
union member.
Commit: ebe5c660608c1c830236c1e379c9720292343cda
https://github.com/llvm/llvm-project/commit/ebe5c660608c1c830236c1e379c9720292343cda
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILConstants.h
M llvm/utils/TableGen/DXILEmitter.cpp
Log Message:
-----------
[DXIL] Remove definition and any uses of DXIL `Property` (#130796)
- Remove definitions from DXIL.td and any emissions/definitions that
were previously planned to be used
See resolved issue for motivations of deletion
Resolves #126298
Commit: 578f38cd08ba71300b013644e5ae8c8a64598800
https://github.com/llvm/llvm-project/commit/578f38cd08ba71300b013644e5ae8c8a64598800
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Reland: [clang] preserve class type sugar when taking pointer to member (#132234)
Original PR: #130537
Reland after updating lldb too.
This changes the MemberPointerType representation to use a
NestedNameSpecifier instead of a Type to represent the base class.
Since the qualifiers are always parsed as nested names, there was an
impedance mismatch when converting these back and forth into types, and
this led to issues in preserving sugar.
The nested names are indeed a better match for these, as the differences
which a QualType can represent cannot be expressed syntatically, and
they represent the use case more exactly, being either dependent or
referring to a CXXRecord, unqualified.
This patch also makes the MemberPointerType able to represent sugar for
a {up/downcast}cast conversion of the base class, although for now the
underlying type is canonical, as preserving the sugar up to that point
requires further work.
As usual, includes a few drive-by fixes in order to make use of the
improvements.
Commit: 468452b0814a3ad04700455af2d225e25a6aecaf
https://github.com/llvm/llvm-project/commit/468452b0814a3ad04700455af2d225e25a6aecaf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[CodeGen] Fix unused variable warning (NFC)
Commit: 541d6c3189cc04b5d6236972093ea3a4892a0ba8
https://github.com/llvm/llvm-project/commit/541d6c3189cc04b5d6236972093ea3a4892a0ba8
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][True16][CodeGen] update VGPRimm for t16 (#131021)
added a `bitcast_fpimm_to_i16` and update the VGPRImm pattern for t16
flow.
This change is following the pattern from the 32bit case
Commit: 7c11d053f6619e9feb73b75353cf6d40f989b8d2
https://github.com/llvm/llvm-project/commit/7c11d053f6619e9feb73b75353cf6d40f989b8d2
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-invalid.mlir
Log Message:
-----------
[mlir][TosaToLinalg] Exit after `notifyMatchFailure` (#132012)
This PR adds `return nullptr` when the shift value of `tosa.mul` is not
constant to prevent a crash. Fixes #131766.
Commit: 221b0117fd21d45098ead779a040a4b939a5c84f
https://github.com/llvm/llvm-project/commit/221b0117fd21d45098ead779a040a4b939a5c84f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
R libc/utils/gpu/CMakeLists.txt
R libc/utils/gpu/loader/CMakeLists.txt
R libc/utils/gpu/loader/Loader.h
R libc/utils/gpu/loader/Main.cpp
R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
R libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/amdhsa.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
A llvm/tools/llvm-gpu-loader/nvptx.cpp
Log Message:
-----------
[LLVM] Make the GPU loader utilities an LLVM tool (#132096)
Summary:
These tools `amdhsa-loader` and `nvptx-loader` are used to execute unit
tests directly on the GPU. We use this for `libc` and `libcxx` unit
tests as well as general GPU experimentation. It looks like this.
```console
> clang++ main.cpp --target=amdgcn-amd-amdhsa -mcpu=native -flto -lc ./lib/amdgcn-amd-amdhsa/crt1.o
> llvm-gpu-loader a.out
Hello World!
```
Currently these are a part of the `libc` project, but this creates
issues as `libc` itself depends on them to run tests. Right now we get
around this by force-including the `libc` project prior to running the
runtimes build so that this dependency can be built first. We should
instead just make this a simple LLVM tool so it's always available.
This has the effect of installing these by default now instead of just
when `libc` was enabled, but they should be relatively small. Right now
this only supports a 'static' configuration. That is, we locate the CUDA
and HSA dependencies at LLVM compile time. In the future we should be
able to provide this by default using `dlopen` and some API.
I don't know if it's required to reformat all of these names since they
used the `libc` naming convention so I just left it for now.
Commit: 00fabd21bce85259a74a64a435874d290ed2da38
https://github.com/llvm/llvm-project/commit/00fabd21bce85259a74a64a435874d290ed2da38
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
A llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
Log Message:
-----------
[RISCV][RegAlloc] Add getCSRFirstUseCost for RISC-V (#131349)
This is based off of 63efd8e7e68bc.
The following table shows the percent change to the dynamic instruction
count when the function in this patch returns 0 (default) versus other
values.
| benchmark | % speedup 1 over 0 | % speedup 4 over 0 | % speedup 16
over 0 | % speedup 64 over 0 | % speedup 128 over 0 |
| --------------- | ---------------------- | --------------------- |
--------------------- | -------------------- | -------------------- |
| 500.perlbench_r | 0.001018570165 | 0.001049508358 | 0.001001106529 |
0.03382582818 | 0.03395354577 |
| 502.gcc_r | 0.02850551412 | 0.02170512371 | 0.01453021263 |
0.06011008637 | 0.1215691521 |
| 505.mcf_r | -0.00009506373338 | -0.00009090057642 | -0.0000860991497 |
-0.00005027849766 | 0.00001251173791 |
| 520.omnetpp_r | 0.2958940288 | 0.2959715925 | 0.2961141505 |
0.2959823497 | 0.2963124341 |
| 523.xalancbmk_r | -0.0327074721 | -0.01037021046 | -0.3226810542 |
0.02127133714 | 0.02765388389 |
| 525.x264_r | 0.0000001381714403 | -0.00000007041540345 |
-0.00000002156399465 | 0.0000002108993364 | 0.0000002463382874 |
| 531.deepsjeng_r | 0.00000000339777238 | 0.000000003874652714 |
0.000000003636212547 | 0.000000003874652714 | 0.000000003159332213 |
| 541.leela_r | 0.0009186059953 | -0.000424159199 | 0.0004984456879 |
0.274948447 | 0.8135521414 |
| 557.xz_r | -0.000000003547118854 | -0.00004896449559 |
-0.00004910691576 | -0.0000491109983 | -0.00004895599589 |
| geomean | 0.03265937388 | 0.03424232324 | -0.00107917442 |
0.07629116165 | 0.1439913192 |
The following table shows the percent change to the runtime when the
function in this patch returns 0 (default) versus other values.
| benchmark | % speedup 1 over 0 | % speedup 4 over 0 | % speedup 16
over 0 | % speedup 64 over 0 | %speedup 128 over 0 |
| --------------- | ------------------ | ------------------ |
------------------- | ------------------- | ------------------- |
| 500.perlbench_r | 0.1722356761 | 0.2269681109 | 0.2596825578 |
0.361573851 | 1.15041305 |
| 502.gcc_r | -0.548415855 | -0.06187002799 | -0.5553684674 |
-0.8876686237 | -0.4668665535 |
| 505.mcf_r | -0.8786414258 | -0.4150938441 | -1.035517726 |
-0.1860770377 | -0.01904825648 |
| 520.omnetpp_r | 0.4130256072 | 0.6595976188 | 0.897332171 |
0.6252625622 | 0.3869467278 |
| 523.xalancbmk_r | 1.318132014 | -0.003927574 | 1.025962975 |
1.090320253 | -0.789206202 |
| 525.x264_r | -0.03112871796 | -0.00167557587 | 0.06932423155 |
-0.1919840015 | -0.1203585732 |
| 531.deepsjeng_r | -0.259516072 | -0.01973455652 | -0.2723227894 |
-0.005417022257 | -0.02222388177 |
| 541.leela_r | -0.3497178495 | -0.3510447393 | 0.1274508001 |
0.6485542452 | 0.2880651727 |
| 557.xz_r | 0.7683565263 | -0.2197509447 | -0.0431183874 |
0.07518130872 | 0.5236853039 |
| geomean | 0.06506952742 | -0.0211865386 | 0.05072694648 | 0.1684530637
| 0.1020533557 |
I chose to set the value to 5 on RISC-V because it has improvement to
both the dynamic IC and the runtime and because it showed good results
empirically and had a similar effect as setting it to higher numbers.
I looked at some diff and it seems like this patch leads to two things:
1. Less spilling -- not spilling the CSR led to better register
allocation and helped us avoid spills down the line
2. Avoid spilling CSR but spill more on paths that static heuristics
estimate as cold.
Commit: df2a56767d7eeb09413e38737d598db749d1bc6d
https://github.com/llvm/llvm-project/commit/df2a56767d7eeb09413e38737d598db749d1bc6d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
A libc/utils/gpu/CMakeLists.txt
A libc/utils/gpu/loader/CMakeLists.txt
A libc/utils/gpu/loader/Loader.h
A libc/utils/gpu/loader/Main.cpp
A libc/utils/gpu/loader/amdgpu/CMakeLists.txt
A libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
A libc/utils/gpu/loader/nvptx/CMakeLists.txt
A libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
R llvm/tools/llvm-gpu-loader/CMakeLists.txt
R llvm/tools/llvm-gpu-loader/amdhsa.cpp
R llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
R llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
R llvm/tools/llvm-gpu-loader/nvptx.cpp
Log Message:
-----------
Revert "[LLVM] Make the GPU loader utilities an LLVM tool (#132096)"
This reverts commit 221b0117fd21d45098ead779a040a4b939a5c84f.
Some build failures requiring TargetParser and some warnings to clean
up.
Commit: 523cf65b668e2c7c572c8b5a54e28388d5e955a4
https://github.com/llvm/llvm-project/commit/523cf65b668e2c7c572c8b5a54e28388d5e955a4
Author: TilakChad <49703944+TilakChad at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
Log Message:
-----------
[Clang] Do not create dependent CallExpr having UnresolvedLookupExpr inside non-dependent context (#124609)
The `UnresolvedLookupExpr` doesn't get looked up and resolved again
while it is inside the non-dependent context. It propagates into the
codegen phase, causing the assertion failure.
We attempt to determine if the current context is dependent before
moving on with the substitution introduced in the
https://github.com/llvm/llvm-project/commit/20a05677f9394d4bc9467fe7bc93a4ebd3aeda61.
This fixes https://github.com/llvm/llvm-project/issues/122892.
---------
Co-authored-by: Sirraide <aeternalmail at gmail.com>
Commit: c73ad7ba204fa05b074c1316b2244063aa10410f
https://github.com/llvm/llvm-project/commit/c73ad7ba204fa05b074c1316b2244063aa10410f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[VPlan] Add transformation to narrow interleave groups.
This patch adds a new narrowInterleaveGroups transfrom, which tries
convert a plan with interleave groups with VF elements to a plan that
instead replaces the interleave groups with wide loads and stores
processing VF elements.
This effectively is a very simple form of loop-aware SLP, where we
use interleave groups to identify candidates.
This initial version is quite restricted and hopefully serves as a
starting point for how to best model those kinds of transforms. For now
it only transforms load interleave groups feeding store groups.
Depends on #106431.
This lands the main parts of the approved
https://github.com/llvm/llvm-project/pull/106441 as suggested to break
things up a bit more.
Commit: dd191d3d4f970a1a17e180668c3e50e2e7938cdc
https://github.com/llvm/llvm-project/commit/dd191d3d4f970a1a17e180668c3e50e2e7938cdc
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M llvm/include/llvm/ProfileData/CtxInstrContextNode.h
M llvm/lib/Transforms/Instrumentation/PGOCtxProfLowering.cpp
Log Message:
-----------
[ctxprof][nfc] Share the definition of FunctionData between compiler-rt and llvm (#132136)
Mechanism to keep the compiler-rt and llvm view of `FunctionData` in sync. Since CtxInstrContextNode.h is exactly the same on both sides (there's an existing test, `compiler-rt/test/ctx_profile/TestCases/check-same-ctx-node.test`, checking that), we capture the structure in a macro that is then generated as `struct` fields on the compiler-rt side, and as `Type` objects on the llvm side. The macro needs to be told how to render a few kinds of fields.
If we add more fields to FunctionData that can be described by the current known types of fields, then the llvm side would automatically be updated. If we need to add more kinds of fields, which we do by adding parameters to the macro, the llvm side (if not updated) would trigger a compilation error.
Commit: 864a83deb0b613a2e957b6c106a4412b54949131
https://github.com/llvm/llvm-project/commit/864a83deb0b613a2e957b6c106a4412b54949131
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/IR/Type.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstrFormats.td
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/inline/type.coop-matrix.ll
A llvm/test/CodeGen/SPIRV/inline/type.ll
Log Message:
-----------
[SPIR-V] Add support for inline SPIR-V types (#125316)
Using HLSL's [Inline
SPIR-V](https://microsoft.github.io/hlsl-specs/proposals/0011-inline-spirv.html)
features, users have the ability to use
[`SpirvType`](https://microsoft.github.io/hlsl-specs/proposals/0011-inline-spirv.html#types)
to have fine-grained control over the SPIR-V representation of a type.
As explained in the spec, this is useful because it enables vendors to
author headers with types for their own extensions.
As discussed in [Target Extension Types for Inline SPIR-V and Decorated
Types](https://github.com/llvm/wg-hlsl/pull/105), we would like to
represent the HLSL SpirvType type using a 'spirv.Type' target extension
type in LLVM IR. This pull request lowers that type to SPIR-V.
Commit: 3520dc5e7a9a30de2db7e9f6b8b4863aed261ca8
https://github.com/llvm/llvm-project/commit/3520dc5e7a9a30de2db7e9f6b8b4863aed261ca8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[Vectorize] Fix a build
This patch fixes:
llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp:2263:19: error:
expected ';' after return statement
Commit: 7492666482aececf2a470a8b8a44580d7f8712c3
https://github.com/llvm/llvm-project/commit/7492666482aececf2a470a8b8a44580d7f8712c3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Implement __builtin_wmemchr (#132254)
Commit: be36f41ff9341c660b59320ede784314c1ece200
https://github.com/llvm/llvm-project/commit/be36f41ff9341c660b59320ede784314c1ece200
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
Log Message:
-----------
[libc++][NFC] Run two tests I'm about to modify a bunch under clang-format
Commit: e60e0641583a144703433579b8f241276637fdb0
https://github.com/llvm/llvm-project/commit/e60e0641583a144703433579b8f241276637fdb0
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
Log Message:
-----------
[lldb][debugserver] Interrupt should reset outstanding SIGSTOP (#132128)
This fixes an uncommon bug with debugserver controlling an inferior
process that is hitting an internal breakpoint & continuing when
multiple interrupts are sent by SB API to lldb -- with the result being
that lldb never stops the inferior process, ignoring the interrupt/stops
being sent by the driver layer (Xcode, in this case).
In the reproducing setup (which required a machine with unique timing
characteristics), lldb is sent SBProcess::Stop and then shortly after,
SBProcess::SendAsyncInterrupt. The driver process only sees that the
inferior is publicly running at this point, even though it's hitting an
internal breakpoint (new dylib being loaded), disabling the bp, step
instructioning, re-enabling the breakpoint, then continuing.
The packet sequence lldb sends to debugserver looks like
1. vCont;s // instruction step
2. ^c // async interrupt
3. Z.... // re-enable breakpoint
4. c // resume inferior execution
5. ^c // async interrupt
When debugserver needs to interrupt a running process
(`MachProcess::Interrupt`), the main thread in debugserver sends a
SIGSTOP posix signal to the inferior process, and notes that it has sent
this signal by setting `m_sent_interrupt_signo`.
When we send the first async interrupt while instruction stepping, the
signal is sent (probably after the inferior has already stopped) but
lldb can only *receive* the mach exception that includes the SIGSTOP
when the process is running. So at the point of step (3), we have a
SIGSTOP outstanding in the kernel, and
`m_sent_interrupt_signo` is set to SIGSTOP.
When we resume the inferior (`c` in step 4), debugserver sees that
`m_sent_interrupt_signo` is still set for an outstanding SIGSTOP, but at
this point we've already stopped so it's an unnecessary stop. It records
that (1) we've got a SIGSTOP still coming that debugserver sent and (2)
we should ignore it by also setting `m_auto_resume_signo` to the same
signal value.
Once we've resumed the process, the mach exception thread
(`MachTask::ExceptionThread`) receives the outstanding mach exception,
adds it to a queue to be processed
(`MachProcess::ExceptionMessageReceived`) and when we've collected all
outstanding mach exceptions, it calls
`MachProcess::ExceptionMessageBundleComplete` top evaluate them.
`MachProcess::ExceptionMessageBundleComplete` halts the process (without
updating the MachProcess `m_state`) while evaluating them. It sees that
this incoming SIGSTOP was meant to be ignored (`m_auto_resume_signo` is
set), so it `MachProcess::PrivateResume`'s the process again.
At the same time `MachTask::ExceptionThread` is receiving and processing
the ME, `MachProcess::Interrupt` is called with another interrupt that
debugserver received. This method checks that we're still eStateRunning
(we are) but then sees that we have an outstanding SIGSTOP already
(`m_sent_interrupt_signo`) and does nothing, assuming that we will stop
shortly from that one. It then returns to call
`RNBRemote::HandlePacket_last_signal` to print the status -- but because
the process is still `eStateRunning`, this does nothing.
So the first ^c (resulting in a pending SIGSTOP) is received and we
resume the process silently. And the second ^c is ignored because we've
got one interrupt already being processed.
The fix was very simple. In `MachProcess::Interrupt` when we detect that
we have a SIGSTOP out in the wild (`m_sent_interrupt_signo`), we need to
clear `m_auto_resume_signo` which is used to indicate that this SIGSTOP
is meant to be ignored, because it was from before our most recent
resume.
MachProcess::Interrupt holds the `m_exception_and_signal_mutex` mutex
already (after Jonas's commit last week), and all of
`MachProcess::ExceptionMessageBundleComplete` holds that same mutex, so
we know we can modify `m_auto_resume_signo` here and it will be handled
correctly when the outstanding mach exception is finally processed.
rdar://145872120
Commit: ad5cac3b06c3cb41397acc1fc96beae9b460f20c
https://github.com/llvm/llvm-project/commit/ad5cac3b06c3cb41397acc1fc96beae9b460f20c
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
Log Message:
-----------
[lldb][debugserver] remove g/G packet handling from debugserver (#132127)
In 2013 we added the QSaveRegisterState and QRestoreRegisterState
packets to checkpoint a thread's register state while executing an
inferior function call, instead of using the g packet to read all
registers into lldb, then the G packet to set them again after the func
call.
Since then, lldb has not sent g/G (except as a bug) - it either asks for
registers individually (p/P) or or asks debugserver to save and restore
the entire register set with these lldb extensions.
Felipe recently had a codepath that fell back to using g/G and found
that it does not work with the modern signed fp/sp/pc/lr registers that
we can get -- it sidesteps around the clearing of the non-addressable
bits that we do when reading/writing them, and results in a crash. (
https://github.com/llvm/llvm-project/pull/132079 )
Instead of fixing that issue, I am removing g/G from debugserver because
it's not needed by lldb, and it will would be easy for future bugs to
creep in to this packet that lldb should not use, but it can
accidentally fall back to and result in subtle bugs.
This does mean that a debugger using debugserver on darwin which doesn't
use QSaveRegisterState/QRestoreRegisterState will need to fall back to
reading & writing each register individually. I'm open to re-evaluating
this decision if this proves to be needed, and supporting these lldb
extensions is onerous.
Commit: 5151e6d7febb73ed7085667b4ef55d8af7d058b5
https://github.com/llvm/llvm-project/commit/5151e6d7febb73ed7085667b4ef55d8af7d058b5
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Revert "Reland: [clang] preserve class type sugar when taking pointer to member" (#132280)
Reverts llvm/llvm-project#132234
Needs to be reverted due to dependency.
This blocks reverting another PR, see here:
https://github.com/llvm/llvm-project/pull/131965#issuecomment-2741619498
Commit: 335a4614dee4123ff4f86e6400fc6a305766e227
https://github.com/llvm/llvm-project/commit/335a4614dee4123ff4f86e6400fc6a305766e227
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
Revert "[clang] NFC: Clear some uses of MemberPointerType::getClass" (#132281)
Reverts llvm/llvm-project#131965
Reverted due to issue reported here:
https://github.com/llvm/llvm-project/pull/131965#issuecomment-2741619498
Commit: a87a64b2e487995f9de90a614c7caa7a888147df
https://github.com/llvm/llvm-project/commit/a87a64b2e487995f9de90a614c7caa7a888147df
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
A clang-tools-extra/test/clang-doc/DR-131697.cpp
Log Message:
-----------
[clang-doc] Avoid deref of invalid std::optional (#131939)
Since our existing guard is insufficient to prevent accessing the
std::optional when in an invalid state, guard the access with
`.value_or()`. This maintains the desired behavior, without running into
UB.
The new test should prevent regressions.
Fixes #131697
Commit: 3923a6b09c4e104391e2dd12b984190066fed6ec
https://github.com/llvm/llvm-project/commit/3923a6b09c4e104391e2dd12b984190066fed6ec
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/single-file.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
Log Message:
-----------
[clang-doc][NFC] Remove unnecessary directory cleanup (#132101)
The tests all remove the directory at test start, and it only prevents
inspecting the test artifacts to remove them at the end of the test run.
Commit: 3fbc9b9efc669a236ab21ab06f854bd9ad751af3
https://github.com/llvm/llvm-project/commit/3fbc9b9efc669a236ab21ab06f854bd9ad751af3
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/index.js
Log Message:
-----------
[clang-doc] Correct improper file paths in HTML output (#132103)
In index.js the logic of the ternary operator was backwards, preventing
us from generating the correct file paths, or relative paths in the HTML
output.
Commit: 09ff6db0dcb3ea223282a35aa4f9dc9aaf358c05
https://github.com/llvm/llvm-project/commit/09ff6db0dcb3ea223282a35aa4f9dc9aaf358c05
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[bazel] add missing dep to errno_test_helpers (#132278)
Bazel doesn't complain, but downstream it's causing build failures.
Commit: f23a6ef54c104b357e140e7782fd66248d9382f1
https://github.com/llvm/llvm-project/commit/f23a6ef54c104b357e140e7782fd66248d9382f1
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-target-nesting-in-host-ops.mlir
Log Message:
-----------
[flang][OpenMP] Process `omp.atomic.update` while translating scopes for target device (#132165)
Fixes a bug introduced by
https://github.com/llvm/llvm-project/pull/130078.
For non-BlockArgOpenMPOpInterface ops, we also want to map their entry
block arguments to their operands, if any. For the current support in
the OpenMP dialect, the table below lists all ops that have arguments
(SSA operands and/or attributes) and not target-related. Of all these
ops, we need to only process `omp.atomic.update` since it is the only op
that has SSA operands & an attached region. Therefore, the region's
entry block arguments must be mapped to the op's operands in case they
are referenced inside the region.
| op | operands? | region(s)? | parent is func? | processed? |
|--------------|-------------|------------|------------------|-------------|
| atomic.read | yes | no | yes | no |
| atomic.write | yes | no | yes | no |
| atomic.update | yes | yes | yes | yes |
| critical | no | no | yes | no |
| declare_mapper | no | yes | no | no |
| declare_reduction | no | yes | no | no |
| flush | yes | no | yes | no |
| private | no | yes | yes | no |
| threadprivate | yes | no | yes | no |
| yield | yes | no | yes | no |
Commit: 3dc98087c8cacde1634b8ae7ac05e3c080d2a1f1
https://github.com/llvm/llvm-project/commit/3dc98087c8cacde1634b8ae7ac05e3c080d2a1f1
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Analysis/BUILD.gn
Log Message:
-----------
[gn build] Port 08dda4dcbf64
Commit: 8e777ff5bb1ad46794f8cbbad27724f59e0f2ce0
https://github.com/llvm/llvm-project/commit/8e777ff5bb1ad46794f8cbbad27724f59e0f2ce0
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 73cd84a90e07
Commit: cc86d7cb191a64489e837c68f299abb930f5c6cb
https://github.com/llvm/llvm-project/commit/cc86d7cb191a64489e837c68f299abb930f5c6cb
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
Log Message:
-----------
Initialize aarch64-cond-br-tuning pass (#132087)
The call to the initializeAArch64CondBrTuningPass function is missing in
the AArch64TargetMachine LLVMInitializeAArch64Target function.
This means that the pass is not in the pass registry and options such as
-run-pass=aarch64-cond-br-tuning and
-stop-after=aarch64-cond-br-tuning cannot be used. This patch fixes that
issue.
Commit: e86d627a8b0278556d18e73b9823761ca8fe24a5
https://github.com/llvm/llvm-project/commit/e86d627a8b0278556d18e73b9823761ca8fe24a5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll
A llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
Log Message:
-----------
[RISCV] Add coverage for vector stack slot coloring and dead copy elim
Stack slot coloring already works, but we didn't have coverage.
Dead stack slot copy elimination (after stack slot coloring) does not, and will
be included in an upcoming change.
Commit: ff21b50509c88606a8220002865c3e42e825a3b3
https://github.com/llvm/llvm-project/commit/ff21b50509c88606a8220002865c3e42e825a3b3
Author: Vy Nguyen <vyng at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
Reapply LLDB-Telemetry TargetInfo branch (pr/127834) (#132043)
New changes: add check to avoid accessing invalid obj
Commit: 30bb0c443e163b244d663c88821524b6e747747b
https://github.com/llvm/llvm-project/commit/30bb0c443e163b244d663c88821524b6e747747b
Author: John Harrison <harjohn at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/DAPError.cpp
A lldb/tools/lldb-dap/DAPError.h
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
Log Message:
-----------
[lldb-dap] Adding a DAPError for showing users error messages. (#132255)
The `DAPError` can be used to craft an error message that is displayed
to a user (with showUser=true).
Any request handler implementation using subclassing `RequestHandler<>`
should be able to use this.
I updated SourceRequestHandler to report DAPError's specifically.
Commit: 88a51d23927aa36694166fe5edd7831ab90e5a75
https://github.com/llvm/llvm-project/commit/88a51d23927aa36694166fe5edd7831ab90e5a75
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
Log Message:
-----------
[Clang][NFC] Code cleanup in CGBuiltin.cpp (#132060)
- Use `Intrinsic::` directly instead of `llvm::Intrinsic::`.
- Eliminate redundant `nullptr` for some `CreateIntrinsic` calls.
- Eliminate redundant `ArrayRef` casts.
- Use C++17 structured binding instead of `std::tie`.
Commit: afae7c91e19f0e9d6f1e03ebada64d740894abc7
https://github.com/llvm/llvm-project/commit/afae7c91e19f0e9d6f1e03ebada64d740894abc7
Author: Petr Hosek <phosek at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
A libc/src/stdio/baremetal/scanf.cpp
A libc/src/stdio/baremetal/scanf_internal.h
A libc/src/stdio/baremetal/vscanf.cpp
R libc/src/stdio/fscanf.cpp
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fscanf.cpp
A libc/src/stdio/generic/scanf.cpp
A libc/src/stdio/generic/vfscanf.cpp
A libc/src/stdio/generic/vscanf.cpp
R libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/vfscanf.cpp
R libc/src/stdio/vscanf.cpp
Log Message:
-----------
[libc] Support for scanf on baremetal (#131043)
This uses the templatized scanf Reader interface introduced in #131037.
Commit: a5c7f81a9aaa1995aeaa534e7a7bc1449e7a1595
https://github.com/llvm/llvm-project/commit/a5c7f81a9aaa1995aeaa534e7a7bc1449e7a1595
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Add test coverage for DAG store merging of floating point values
Commit: 6038077dde965926d621860382e00e147cb7fbe8
https://github.com/llvm/llvm-project/commit/6038077dde965926d621860382e00e147cb7fbe8
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Bump `__cpp_lib_constexpr_algorithms` for P2562R1 in C++26 (#132075)
Completes P2562R1.
Commit: f25185b57985e34c03517008d5af311689895819
https://github.com/llvm/llvm-project/commit/f25185b57985e34c03517008d5af311689895819
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/test/CIR/Transforms/canonicalize.cir
Log Message:
-----------
[CIR] Fix unary op folding (#132269)
Unary ops had previously been omitted from the list of ops handled in
the CIRCanonicalizePass. Although the incubator code doesn't use them
directly, the mlir folding code does.
This change enables folding of unary ops by adding them to the list.
Commit: fe6bced9e40f7d4c35550c51ef9cdc7be2a055e7
https://github.com/llvm/llvm-project/commit/fe6bced9e40f7d4c35550c51ef9cdc7be2a055e7
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] fix scanf after #131043 (#132305)
The scanf and fscanf implementations were moved into /generic, update
the bazel targets.
Commit: 7e4029d52a4bfb101f7d009799e54c51e7ca7467
https://github.com/llvm/llvm-project/commit/7e4029d52a4bfb101f7d009799e54c51e7ca7467
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/isel-sqrt.ll
R llvm/test/CodeGen/X86/sqrt.ll
Log Message:
-----------
[X86][NFC] Added/Updated SQRT function testcases (#132205)
- Added test for x86_fp80 type for SQRT.
- Added global-isel runs as precommit testing for SQRT.
Commit: 92fc748f0e6b4cc3a06b5d1de15b8b91404b7296
https://github.com/llvm/llvm-project/commit/92fc748f0e6b4cc3a06b5d1de15b8b91404b7296
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/JITLoaderVTune.h
Log Message:
-----------
[ORC] Remove extraneous whitespace. NFC.
Commit: 0ffe83feaca02cf1c7a25c559c72cc16813a2f86
https://github.com/llvm/llvm-project/commit/0ffe83feaca02cf1c7a25c559c72cc16813a2f86
Author: yonghong-song <yhs at fb.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/test/CodeGen/WebAssembly/naked-fn-with-frame-pointer.ll
A llvm/test/CodeGen/X86/naked-fn-with-unreachable-trap.ll
Log Message:
-----------
[SelectionDAG] Not issue TRAP node if naked function (#132147)
In [1], Nikita Popov suggested that during lowering 'unreachable' insn
should not generate extra code for naked functions, and this applies to
all architectures. Note that for naked functions, 'unreachable' insn is
necessary in IR since the basic block needs a terminator to end.
This patch checked whether a function is naked function or not. If it is
a naked function, 'unreachable' insn will not generate ISD::TRAP.
[1] https://github.com/llvm/llvm-project/pull/131731
Co-authored-by: Yonghong Song <yonghong.song at linux.dev>
Commit: 902078350e0dd2b5a7333328153032f05dc4b81c
https://github.com/llvm/llvm-project/commit/902078350e0dd2b5a7333328153032f05dc4b81c
Author: Krishna Pandey <47917477+krishna2803 at users.noreply.github.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M libc/src/math/generic/cbrtf.cpp
Log Message:
-----------
[libc][math] Add missing parenthesis in sollya command (#132298)
This PR adds the missing opening parenthesis for sollya command comment
in `libc/src/math/generic/cbrtf.cpp#L28`.
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Commit: 631769f2a05a082eafa03b7f99502381da704d7d
https://github.com/llvm/llvm-project/commit/631769f2a05a082eafa03b7f99502381da704d7d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M lld/ELF/Arch/RISCV.cpp
M lld/test/ELF/riscv-relax-hi20-lo12.s
Log Message:
-----------
[LLD][RISCV] Add relaxation for absolute int12 Hi20Lo12 (#86124)
If we have an absolute address whose high bits are known to be a sign
extend of the low 12 bits, we can avoid emitting the LUI entirely. This
is implemented in an analogous manner to the gp relative relocations -
defining an internal usage relocation type.
Since 12 bits (really 11 since the high bit must be zero in user code)
is less than one page, all of these offsets fit in the null page. As
such, the only application of these is likely to be undefined weak
symbols except for embedded use cases. I'm mostly posting this for
completeness sake.
Commit: 2d876ed33ee38145ae7b44f3d82a8142a78fd5b8
https://github.com/llvm/llvm-project/commit/2d876ed33ee38145ae7b44f3d82a8142a78fd5b8
Author: hev <wangrui at loongson.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/test/CodeGen/LoongArch/addrspacecast.ll
M llvm/test/CodeGen/LoongArch/alloca.ll
M llvm/test/CodeGen/LoongArch/analyze-branch.ll
M llvm/test/CodeGen/LoongArch/bnez-beqz.ll
M llvm/test/CodeGen/LoongArch/calling-conv-common.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64d.ll
M llvm/test/CodeGen/LoongArch/calling-conv-lp64s.ll
M llvm/test/CodeGen/LoongArch/can-not-realign-stack.ll
M llvm/test/CodeGen/LoongArch/double-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/double-lround.ll
M llvm/test/CodeGen/LoongArch/duplicate-returns-for-tailcall.ll
M llvm/test/CodeGen/LoongArch/eh-dwarf-cfa.ll
M llvm/test/CodeGen/LoongArch/exception-pointer-register.ll
M llvm/test/CodeGen/LoongArch/expand-call.ll
M llvm/test/CodeGen/LoongArch/float-br-fcmp.ll
M llvm/test/CodeGen/LoongArch/float-lround.ll
M llvm/test/CodeGen/LoongArch/fp-expand.ll
M llvm/test/CodeGen/LoongArch/fp-max-min.ll
M llvm/test/CodeGen/LoongArch/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/LoongArch/fp-reciprocal.ll
M llvm/test/CodeGen/LoongArch/fp-rounding.ll
M llvm/test/CodeGen/LoongArch/fp-trunc-store.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/LoongArch/frame.ll
M llvm/test/CodeGen/LoongArch/frint.ll
M llvm/test/CodeGen/LoongArch/fsqrt.ll
M llvm/test/CodeGen/LoongArch/ghc-cc.ll
M llvm/test/CodeGen/LoongArch/intrinsic-csr-side-effects.ll
M llvm/test/CodeGen/LoongArch/intrinsic-iocsr-side-effects.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomic-cmpxchg-128.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/atomicrmw-fp.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/call.ll
M llvm/test/CodeGen/LoongArch/ir-instruction/float-convert.ll
M llvm/test/CodeGen/LoongArch/lasx/fpowi.ll
M llvm/test/CodeGen/LoongArch/libcall-extend.ll
M llvm/test/CodeGen/LoongArch/lsx/fpowi.ll
M llvm/test/CodeGen/LoongArch/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/LoongArch/memcmp.ll
M llvm/test/CodeGen/LoongArch/naked-fn-with-frame-pointer.ll
M llvm/test/CodeGen/LoongArch/nomerge.ll
M llvm/test/CodeGen/LoongArch/numeric-reg-names.ll
M llvm/test/CodeGen/LoongArch/sextw-removal.ll
M llvm/test/CodeGen/LoongArch/shrinkwrap.ll
M llvm/test/CodeGen/LoongArch/soft-fp-to-int.ll
M llvm/test/CodeGen/LoongArch/spill-reload-cfr.ll
M llvm/test/CodeGen/LoongArch/split-sp-adjust.ll
M llvm/test/CodeGen/LoongArch/stack-realignment-with-variable-sized-objects.ll
M llvm/test/CodeGen/LoongArch/stack-realignment.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
M llvm/test/CodeGen/LoongArch/tail-calls.ll
M llvm/test/CodeGen/LoongArch/target-abi-from-triple-edge-cases.ll
M llvm/test/CodeGen/LoongArch/tls-models.ll
M llvm/test/CodeGen/LoongArch/unaligned-memcpy-inline.ll
M llvm/test/CodeGen/LoongArch/vararg.ll
M llvm/test/CodeGen/LoongArch/vector-fp-imm.ll
Log Message:
-----------
[llvm][LoongArch] Changing the default code model from `small` to `medium` for 64-bit (#132173)
Link: https://discourse.llvm.org/t/rfc-changing-the-default-code-model-for-loongarch
Commit: 30ff508614c90311509adc0890e32e7f86ec4fb8
https://github.com/llvm/llvm-project/commit/30ff508614c90311509adc0890e32e7f86ec4fb8
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
Log Message:
-----------
[NVPTX] Auto-Upgrade llvm.nvvm.swap.lo.hi.b64 to llvm.fshl (#132098)
After 3c8c2914e067e132af951f70d2b3577fe049e19a the lowering of 64-bit
funnel shifts has been improved to the point where this intrinsic is no
longer needed.
Commit: 969ac10cb3c0e7aaf1e09fffc92b56170576433a
https://github.com/llvm/llvm-project/commit/969ac10cb3c0e7aaf1e09fffc92b56170576433a
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Support/MD5.cpp
Log Message:
-----------
[support][nfc] MD5: Undef macros after use (#132132)
I'm experimenting with amalgamating Support lib into single cpp and
leaking a bunch of 1-letter macros is not nice.
Commit: 8d825cb4e2d28161ad498d6651ce4413f7d96125
https://github.com/llvm/llvm-project/commit/8d825cb4e2d28161ad498d6651ce4413f7d96125
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
Log Message:
-----------
[DirectX] Address PR comments to #131221 (#131706)
- [x] [Don't include static inside anonymous
namespace](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999924822)
- [x] [Use
DenseMap](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999922148)
- [x] [remove
{}](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999921283)
- [x] [remove std::stack with llvm::reverse of
SmallVector](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999946122)
- [x] [replace std::vector with
llvm::SmallVector](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999915308)
- [x] [Remove legalize comment
block](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999903366)
and [double comment
block](https://github.com/llvm/llvm-project/pull/131221#discussion_r1999903747)
- [x] [Refactor fixI8TruncUseChain to remove
nesting](https://github.com/llvm/llvm-project/pull/131221#discussion_r2004157432)
- [x] [add asserts on
assumptions](https://github.com/llvm/llvm-project/pull/131221#discussion_r2004170759)
Commit: f01b56ffb3bee6606063ab4e6e8883eb2e4a48ea
https://github.com/llvm/llvm-project/commit/f01b56ffb3bee6606063ab4e6e8883eb2e4a48ea
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/AST/ByteCode/if.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Misc/warning-flags.c
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/decomposed-condition.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaObjCXX/message.mm
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
Log Message:
-----------
[Clang] [NFC] Introduce helpers for defining compatibilty warnings (#132129)
This introduces some tablegen helpers for defining compatibility
warnings. The main aim of this is to both simplify adding new
compatibility warnings as well as to unify the naming of compatibility
warnings.
I’ve refactored ~half of the compatiblity warnings (that follow the
usual scheme) in `DiagnosticSemaKinds.td` for illustration purposes and
also to simplify/unify the wording of some of them (I also corrected a
typo in one of them as a drive-by fix).
I haven’t (yet) migrated *all* warnings even in that one file, and there
are some more specialised ones for which the scheme I’ve established
here doesn’t work (e.g. because they’re warning+error instead of
warning+extwarn; however, warning+extension *is* supported), but the
point of this isn’t to implement *all* compatibility-related warnings
this way, only to make the common case a bit easier to handle.
This currently also only handles C++ compatibility warnings, but it
should be fairly straight-forward to extend the tablegen code so it can
also be used for C compatibility warnings (if this gets merged, I’m
planning to do that in a follow-up pr).
The vast majority of compatibility warnings are emitted by writing
```c++
Diag(Loc, getLangOpts().CPlusPlusYZ ? diag::ext_... : diag::warn_...)
```
in accordance with which I’ve chosen the following naming scheme:
```c++
Diag(Loc, getLangOpts().CPlusPlusYZ ? diag::compat_cxxyz_foo : diag::compat_pre_cxxyz_foo)
```
That is, for a warning about a C++20 feature—i.e. C++≤17
compatibility—we get:
```c++
Diag(Loc, getLangOpts().CPlusPlus20 ? diag::compat_cxx20_foo : diag::compat_pre_cxx20_foo)
```
While there is an argument to be made against writing ‘`compat_cxx20`’
here since is technically a case of ‘C++17 compatibility’ and not ‘C++20
compatibility’, I at least find this easier to reason about, because I
can just write the same number 3 times instead of having to use
`ext_cxx20_foo` but `warn_cxx17_foo`. Instead, I like to read this as a
warning about the ‘compatibility *of* a C++20 feature’ rather than
‘*with* C++17’.
I also experimented with moving all compatibility warnings to a separate
file, but 1. I don’t think it’s worth the effort, and 2. I think it
hurts compile times a bit because at least in my testing I felt that I
had to recompile more code than if we just keep e.g. Sema-specific
compat warnings in the Sema diagnostics file.
Instead, I’ve opted to put them all in the same place within any one
file; currently this is a the very top but I don’t really have strong
opinions about this.
Commit: 19d2023a6668cb4964484fb93cf0a076aaef6fbc
https://github.com/llvm/llvm-project/commit/19d2023a6668cb4964484fb93cf0a076aaef6fbc
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2_512satcvtdsintrin.h
M clang/lib/Headers/avx10_2_512satcvtintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Headers/avx10_2satcvtintrin.h
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
Log Message:
-----------
[X86][AVX10.2] Use 's_' for saturate-convert intrinsics (#131592)
- Add '_' after cvt[t]s intrinsics when 's' is for saturation;
- Add 's_' for all ipcvt[t] intrinsics since they are all saturation
ones;
- Move 's' after 'cvt' and add '_' after it for prior `biass`
intrinsics;
This is to solve potential confusion since 's' before a type usually
represents for scalar.
Synced with GCC folks and they will change in the same way.
Commit: 0ca10ef51bc977c1c0cacd2fce15eec37968b8a4
https://github.com/llvm/llvm-project/commit/0ca10ef51bc977c1c0cacd2fce15eec37968b8a4
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/mips-abi.c
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
[MIPS] Add MIPS i6400 and i6500 processors (#130587)
The i6400 and i6500 are high performance multi-core microprocessors from
MIPS that provide best in class power efficiency for use in
system-on-chip (SoC) applications. i6400 and i6500 implements Release 6
of the MIPS64 Instruction Set Architecture with full hardware
multithreading and hardware virtualization support.
Commit: c177dbe484b8844874e096dc825fa9a9a1dc1e6b
https://github.com/llvm/llvm-project/commit/c177dbe484b8844874e096dc825fa9a9a1dc1e6b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86EncodingOptimization.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCAsmInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCCodeEmitter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp
M llvm/lib/Target/X86/X86ISelLoweringCall.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.h
Log Message:
-----------
Move X86-specific MCSymbolRefExpr::VariantKind to X86MCExpr::Specifier
Move target-specific members outside of MCSymbolRefExpr::VariantKind
(a legacy interface I am eliminating). Most changes are mechanic,
except:
* ELFObjectWriter::shouldRelocateWithSymbol
* The legacy generic code uses `ELFObjectWriter::fixSymbolsInTLSFixups`
to set `STT_TLS` (and use an unnecessary expression walk). The better
way is to do this in `getRelocType`, which I have done for
AArch64, PowerPC, and RISC-V.
In the future, we should encode expressions with a relocation specifier
as X86MCExpr and use MCValue::RefKind to hold the specifier of the
relocatable expression.
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
While here, rename "Modifier' to "Specifier":
> "Relocation modifier", though concise, suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation. I landed on "relocation specifier" as the winner. It's clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
Pull Request: https://github.com/llvm/llvm-project/pull/132149
Commit: 87adafcd2e248fa69d1f776a9e60f95df03b885d
https://github.com/llvm/llvm-project/commit/87adafcd2e248fa69d1f776a9e60f95df03b885d
Author: Qi Zhao <zhaoqi01 at loongson.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
Log Message:
-----------
[LoongArch] Pre-commit test for fixing tls-le symbol type
The symbol type of tls-le must be `TLS`, it was incorrectly set
as `NOTYPE`.
A later commit will fix it.
Commit: 7d742f97b035f8dd9adaeccb98a28d1b7586f343
https://github.com/llvm/llvm-project/commit/7d742f97b035f8dd9adaeccb98a28d1b7586f343
Author: S. B. Tam <cpplearner at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][test] Guard uses of `_LIBCPP_HAS_THREADS` in FTM tests (#132258)
Commit: 4d5a963eaf6ad209487a321dee7f0cd2a0f98477
https://github.com/llvm/llvm-project/commit/4d5a963eaf6ad209487a321dee7f0cd2a0f98477
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 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/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:
-----------
[VE] Rename VariantKind to Specifier and clean up code
Commit: c8a9a4109ac7756af3f0f5aab8c70e686a2f30b7
https://github.com/llvm/llvm-project/commit/c8a9a4109ac7756af3f0f5aab8c70e686a2f30b7
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/operation.py
Log Message:
-----------
[MLIR] [python] A few improvements to the Python bindings (#131686)
* `PyRegionList` is now sliceable. The dialect bindings generator seems
to assume it is sliceable already (!), yet accessing e.g. `cases` on
`scf.IndexedSwitchOp` raises a `TypeError` at runtime.
* `PyBlockList` and `PyOperationList` support negative indexing. It is
common for containers to do that in Python, and most container in the
MLIR Python bindings already allow the index to be negative.
Commit: aa4e6d846fceed9e0fe275f6486dc8ccee9caf0a
https://github.com/llvm/llvm-project/commit/aa4e6d846fceed9e0fe275f6486dc8ccee9caf0a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
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/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.h
Log Message:
-----------
[Mips] Rename MipsExprKind to Specifier
Follow the X86 renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
In addition, rename MipsMCExpr::getKind, which confusingly shadows the base class getKind.
Commit: c2692afc0a92cd5da140dfcdfff7818a5b8ce997
https://github.com/llvm/llvm-project/commit/c2692afc0a92cd5da140dfcdfff7818a5b8ce997
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.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/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/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
Log Message:
-----------
[PowerPC] Rename VariantKind to Specifier
Follow the X86 and Mips renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM’s usage, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: 13bb2f450ef9f64f393fe5527e5ac68362af8ccd
https://github.com/llvm/llvm-project/commit/13bb2f450ef9f64f393fe5527e5ac68362af8ccd
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
Log Message:
-----------
[MC] Rename some VariantKind functions to use Specifier
Use the more appropriate term "relocation specifier" and avoid the
variable name `Kind`, which conflicts with MCExpr and FixupKind.
Commit: 599005686a1c27ffe97bb4eb07fcd98359a2af99
https://github.com/llvm/llvm-project/commit/599005686a1c27ffe97bb4eb07fcd98359a2af99
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/lib/Analysis/MemorySSA.cpp
M llvm/lib/Analysis/PhiValues.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineCopyPropagation.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/IR/LegacyPassManager.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/IR/ReplaceConstant.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/TableGen/SetTheory.cpp
M llvm/tools/llvm-exegesis/lib/Clustering.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
M llvm/tools/llvm-profgen/ProfiledBinary.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/OptionParserEmitter.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#132325)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: 3041fa6c7a3033040dce0933455be014760c6cb1
https://github.com/llvm/llvm-project/commit/3041fa6c7a3033040dce0933455be014760c6cb1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Analysis/SliceAnalysis.cpp
M mlir/lib/Analysis/TopologicalSortUtils.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/Transforms/KernelOutlining.cpp
M mlir/lib/Dialect/GPU/Utils/DistributionUtils.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Utils/StructuredOpsUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/IR/Location.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Transforms/Mem2Reg.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgElementwiseFusion.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir] Use *Set::insert_range (NFC) (#132326)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: 42a8813757dca4eed0ac462ed371f15b4ff004eb
https://github.com/llvm/llvm-project/commit/42a8813757dca4eed0ac462ed371f15b4ff004eb
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.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 VariantKind to Specifier
Follow the X86 and Mips renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: c9055e9780683735392ac0e74163020015eabf15
https://github.com/llvm/llvm-project/commit/c9055e9780683735392ac0e74163020015eabf15
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 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
Log Message:
-----------
[RISCV] Remove Specifier::VK_Invalid
Commit: 75c6fd3c8324d82daf713bcd1c6031dae64759f6
https://github.com/llvm/llvm-project/commit/75c6fd3c8324d82daf713bcd1c6031dae64759f6
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 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/SparcMCExpr.cpp
M 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/SparcMCInstLower.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
[Sparc] Rename VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: f5f6af8e7c0168327015717fc0b452f6152319af
https://github.com/llvm/llvm-project/commit/f5f6af8e7c0168327015717fc0b452f6152319af
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
A llvm/test/CodeGen/AArch64/cond-br-tuning-instr-ref.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-cond-br-tuning. (#132081)
The aarch64-cond-br-tuning pass transforms a CBZX instruction into a
conditional branch (B.cond). One of the by products of the
transformation is that the source instruction of the CBZX, which is an
ANDXri instruction, gets transformed into a ANDSXri instruction, however
this transformation doesn't preserve it's debug instruction number.
This patch fixes that issue.
Commit: 910f7f45f27d1f3cfad779669d0e0f15ff5b9686
https://github.com/llvm/llvm-project/commit/910f7f45f27d1f3cfad779669d0e0f15ff5b9686
Author: Brad Smith <brad at comstyle.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
Log Message:
-----------
[Driver] Haiku address sanitizer support (#132335)
Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>
Commit: 111cc472d1297386bc3220659d3faec2c29795cf
https://github.com/llvm/llvm-project/commit/111cc472d1297386bc3220659d3faec2c29795cf
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.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 VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: ad0827d364293a42540885ae41b78995e2818581
https://github.com/llvm/llvm-project/commit/ad0827d364293a42540885ae41b78995e2818581
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/test/Transforms/GVN/assume.ll
M llvm/test/Transforms/GVN/basic.ll
M llvm/test/Transforms/GVN/nonescaping.ll
M llvm/test/Transforms/GVN/pr14166.ll
Log Message:
-----------
[GVN] Add MemorySSA checks in tests 1/N (#130261)
Add MemorySSA checks in some GVN tests. This is first patch of the series and many more might come based on tests pass/fail.
Commit: 1667a2afd86ffbfc376cb2550205abf0f1a4f064
https://github.com/llvm/llvm-project/commit/1667a2afd86ffbfc376cb2550205abf0f1a4f064
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
Log Message:
-----------
[clang][ExprConst] Check record base classes for valid structs (#132270)
In error cases, the base might be None.
Fixes https://github.com/llvm/llvm-project/issues/132257
Commit: 2089b081ff2b8acb50bc0b9da7a3cf44387d797e
https://github.com/llvm/llvm-project/commit/2089b081ff2b8acb50bc0b9da7a3cf44387d797e
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
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 VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: 103119a435c9cd1c73da92758a503abee1bac3da
https://github.com/llvm/llvm-project/commit/103119a435c9cd1c73da92758a503abee1bac3da
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/wide-simd-mul.ll
Log Message:
-----------
[WebAssembly] Lower wide SIMD i8 muls (#130785)
Currently, 'wide' i32 simd multiplication, with extended i8 elements,
will perform the multiplication with i32 So, for IR like the following:
```
%wide.a = sext <8 x i8> %a to <8 x i32>
%wide.b = sext <8 x i8> %a to <8 x i32>
%mul = mul <8 x i32> %wide.a, %wide.b
ret <8 x i32> %mul
```
We would generate the following sequence:
```
i16x8.extend_low_i8x16_s $push6=, $1
local.tee $push5=, $3=, $pop6
i32x4.extmul_low_i16x8_s $push0=, $pop5, $3
v128.store 0($0), $pop0
i8x16.shuffle $push1=, $1, $1, 4, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
i16x8.extend_low_i8x16_s $push4=, $pop1
local.tee $push3=, $1=, $pop4
i32x4.extmul_low_i16x8_s $push2=, $pop3, $1
v128.store 16($0), $pop2
return
```
But now we perform the multiplication with i16, resulting in:
```
i16x8.extmul_low_i8x16_s $push3=, $1, $1
local.tee $push2=, $1=, $pop3
i32x4.extend_high_i16x8_s $push0=, $pop2
v128.store 16($0), $pop0
i32x4.extend_low_i16x8_s $push1=, $1
v128.store 0($0), $pop1
return
```
Commit: 058a4e8170f2c66764b78c88e574d5c364c6bd93
https://github.com/llvm/llvm-project/commit/058a4e8170f2c66764b78c88e574d5c364c6bd93
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-20 (Thu, 20 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchMCInstLower.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCCodeEmitter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
[LoongArch] Rename VariantKind to Specifier
Follow the X86, Mips, and RISCV renaming.
> "Relocation modifier" suggests adjustments happen during the linker's relocation step rather than the assembler's expression evaluation.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
The parseSpecifier name follows Sparc.
Commit: be258a2c2de0417716800fd07ef91572fbf20fce
https://github.com/llvm/llvm-project/commit/be258a2c2de0417716800fd07ef91572fbf20fce
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SSAUpdaterBulk.h
M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
M llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp
Log Message:
-----------
[SSAUpdaterBulk] Fix incorrect live-in values for a block. (#131762)
The previous implementation incorrectly calculated incoming values from
loop backedges, as demonstrated by the tests. The issue was that it did
not distinguish between live-in and live-out values for blocks. This
patch addresses the problem and fixes
https://github.com/llvm/llvm-project/pull/131761.
To avoid bloating storage in `R.Defines`, processing data has been moved
to a temporary map `BBInfos`. This change helps manage heap allocation
more efficiently and likely improves caching.
Commit: 17b202fc17f2b4b1df3e8fc842226597a0ed364e
https://github.com/llvm/llvm-project/commit/17b202fc17f2b4b1df3e8fc842226597a0ed364e
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Add an option to prioritize vectorization (#131988)
The LoopInterchange cost-model consists of several decision rules. They
are called one by one, and if some rule can determine the profitability,
then the subsequent rules aren't called. In the current implementation,
the rule for `CacheCostAnalysis` is called first, and if it fails to
determine the profitability, then the rule for vectorization is called.
However, there are cases where interchanging loops for vectorization
makes the code faster even if such exchanges are detrimental to the
cache. For example, exchanging the inner two loops in the following
example looks about x3 faster in my local (compiled with `-O3
-mcpu=neoverse-v2 -mllvm -cache-line-size=64`), even though it's
rejected by the rule based on cache cost. (NOTE: LoopInterchange cannot
exchange these loops due to legality checks. This should also be
improved.)
```c
__attribute__((aligned(64))) float aa[256][256],bb[256][256],cc[256][256],
dd[256][256],ee[256][256],ff[256][256];
// Alternative of TSVC s231 with more array accesses than the original.
void s231_alternative() {
for (int nl = 0; nl < 100*(100000/256); nl++) {
for (int i = 0; i < 256; ++i) {
for (int j = 1; j < 256; j++) {
aa[j][i] = aa[j-1][i] + bb[j][i] + cc[i][j]
+ dd[i][j] + ee[i][j] + ff[i][j];
}
}
}
}
```
This patch introduces a new option to prioritize the vectorization rule
over the cache cost rule.
Related issue: #131130
---------
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: d6dc74e19f5cdb6995b13329480e330aff113f96
https://github.com/llvm/llvm-project/commit/d6dc74e19f5cdb6995b13329480e330aff113f96
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
Log Message:
-----------
[LoongArch] Fix the type of tls-le symbols (#132324)
Commit: 29e1a7673c969e702f0b86527d811e7160cfe4ef
https://github.com/llvm/llvm-project/commit/29e1a7673c969e702f0b86527d811e7160cfe4ef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Assembler.cpp
Log Message:
-----------
[llvm-exegesis] Avoid repeated hash lookups (NFC) (#132331)
Commit: 03557169e0ad0fe6bdfc680473c5ebdeb63d9ddb
https://github.com/llvm/llvm-project/commit/03557169e0ad0fe6bdfc680473c5ebdeb63d9ddb
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
R bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
A bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: streamline issue reporting (#131896)
In preparation for adding more gadget kinds to detect, streamline
issue reporting.
Rename classes representing issue reports. In particular, rename
`Annotation` base class to `Report`, as it has nothing to do with
"annotations" in `MCPlus` terms anymore. Remove references to "return
instructions" from variable names and report messages, use generic
terms instead. Rename NonPacProtectedRetAnalysis to PAuthGadgetScanner.
Remove `GeneralDiagnostic` as a separate class, make `GenericReport`
(former `GenDiag`) store `std::string Text` directly. Remove unused
`operator=` and `operator==` methods, as `Report`s are created on the
heap and referenced via `shared_ptr`s.
Introduce `GadgetKind` class - currently, it only wraps a `const char *`
description to display to the user. This description is intended to be
a per-gadget-kind constant (or a few hard-coded constants), so no need
to store it to `std::string` field in each report instance. To handle
both free-form `GenericReport`s and statically-allocated messages
without unnecessary overhead, move printing of the report header to the
base class (and take the message argument as a `StringRef`).
Commit: 6da8f5661961416c704061a9d401ea6ae480cbc1
https://github.com/llvm/llvm-project/commit/6da8f5661961416c704061a9d401ea6ae480cbc1
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/parallel_for_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
Log Message:
-----------
[OpenMP 6.0] Parse/Sema support for reduction over private variable with reduction clause. (#129938)
Initial Parse/Sema support for reduction over private variable with
reduction clause.
Section 7.6.10 in in OpenMP 6.0 spec.
- list item in a reduction clause can now be private in the enclosing
context.
- Added support for _original-sharing-modifier_ with reduction clause.
---------
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: f4ec179bf5295f92aa0346392a58fad54f9b458e
https://github.com/llvm/llvm-project/commit/f4ec179bf5295f92aa0346392a58fad54f9b458e
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/MathExtras.h
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Fix undefined behavior in `isLegalAddImmediate` (#132219)
Building clang under UBsan, it reported an integer overflow in this
function when the input value was -2^63, because it's UB to pass the
maximum negative value of an integer type to `std::abs`.
Fixed by adding a new absolute-value function in `MathExtras.h` whose
return type is the unsigned version of the argument type, and using that
instead.
(This seems like the kind of thing C++ should have already had, but
apparently it doesn't, and I couldn't find an existing one in LLVM
Support either.)
Commit: 2170d77e5dfd0a096ab16ecb3c3d82b86dc83a45
https://github.com/llvm/llvm-project/commit/2170d77e5dfd0a096ab16ecb3c3d82b86dc83a45
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/AffineAnalysis.cpp
M mlir/test/Dialect/Affine/scalrep.mlir
Log Message:
-----------
[MLIR][Affine] Fix getAccessRelation for 0-d memrefs (#132347)
Fix getAccessRelation for 0-d memref accesses in certain cases. Fixes
corner case crashes when using scalrep, affine dep analysis, etc.
Fixes: https://github.com/llvm/llvm-project/issues/132163
Commit: f89a7fa319ccd903a9db69a9e32e1e63d866c5f8
https://github.com/llvm/llvm-project/commit/f89a7fa319ccd903a9db69a9e32e1e63d866c5f8
Author: Robert O'Callahan <rocallahan at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
Log Message:
-----------
[lldb] Ignore registers that the debugserver fails to read (#132122)
On Mac x86-64, the debugserver reports a register ('ds' at least) but
returns an error when we try to read it. Just skip storing such
registers in snapshots so we won't try to restore them.
Commit: cd6b7448d5fd18cfc69efaa03c082eed51d53009
https://github.com/llvm/llvm-project/commit/cd6b7448d5fd18cfc69efaa03c082eed51d53009
Author: Josep Pinot <josep.pinot at bsc.es>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_tasking.cpp
R openmp/runtime/test/tasking/omp_record_replay_random_id.cpp
R openmp/runtime/test/tasking/omp_record_replay_reset.cpp
Log Message:
-----------
Revert "Update OpenMP runtime to adopt taskgraph clause from 6.0 Specs" (#131571)
Commit: 77edfbb96cf5978bd2719978a34dfb4cf62d37c9
https://github.com/llvm/llvm-project/commit/77edfbb96cf5978bd2719978a34dfb4cf62d37c9
Author: Nathan Gauër <brioche at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Don't count canceled buildkite builds (#132015)
We don't count canceled jobs on GCP, so we shouldn't count canceled jobs
on Buildkite neither.
Signed-off-by: Nathan Gauër <brioche at google.com>
Commit: 7f8451c868cdc91481f9629517db3f53349514b7
https://github.com/llvm/llvm-project/commit/7f8451c868cdc91481f9629517db3f53349514b7
Author: Kito Cheng <kito.cheng at sifive.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/allocate-lmul-2-4-8.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-vector.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector-csr.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-vector.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
Log Message:
-----------
[RISCV] Use vsetvli instead of vlenb in Prologue/Epilogue (#113756)
Currently, we use `csrr` with `vlenb` to obtain the `VLEN`, but this is
not the only option. We can also use `vsetvli` with `e8`/`m1` to get
`VLENMAX`, which is equal to the VLEN. This method is preferable on some
microarchitectures and makes it easier to obtain values like `VLEN * 2`,
`VLEN * 4`, or `VLEN * 8`, reducing the number of instructions needed to
calculate VLEN multiples.
However, this approach is *NOT* always interchangeable, as it changes
the state of `VTYPE` and `VL`, which can alter the behavior of vector
instructions, potentially causing incorrect code generation if applied
after a vsetvli insertion. Therefore, we limit its use to the
prologue/epilogue for now, as there are no vector operations within the
prologue/epilogue sequence.
With further analysis, we may extend this approach beyond the
prologue/epilogue in the future, but starting here should be a good
first step.
This feature is gurded by the `+prefer-vsetvli-over-read-vlenb` feature,
which is disabled by default for now.
Commit: 690b8b4e942e28988fc35bfd13ddc69db20b8de9
https://github.com/llvm/llvm-project/commit/690b8b4e942e28988fc35bfd13ddc69db20b8de9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/COFF/Writer.cpp
Log Message:
-----------
[lld] Avoid repeated map lookups (NFC) (#132327)
Commit: 4e69258bf390b51ed5bc65e7cea4cbcfbb62bd44
https://github.com/llvm/llvm-project/commit/4e69258bf390b51ed5bc65e7cea4cbcfbb62bd44
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
A llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
Log Message:
-----------
[LoopVectorize] Add cost of generating tail-folding mask to the loop (#130565)
At the moment if we decide to enable tail-folding we do not include
the cost of generating the mask per VF. This can mean we make some
poor choices of VF, which is definitely true for SVE-enabled AArch64
targets where mask generation for fixed-width vectors is more
expensive than for scalable vectors.
I've added a VPInstruction::computeCost function to return the costs
of the ActiveLaneMask and ExplicitVectorLength operations.
Unfortunately, in order to prevent asserts firing I've also had to
duplicate the same code in the legacy cost model to make sure the
chosen VFs match up. I've wrapped this up in a ifndef NDEBUG for
now. The alternative would be to disable the assert completely when
tail-folding, which I imagine is just as bad.
New tests added:
Transforms/LoopVectorize/AArch64/sve-tail-folding-cost.ll
Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
Commit: 2e3fa4ba9e0b65cf59f7b67a8bdf2377611cd067
https://github.com/llvm/llvm-project/commit/2e3fa4ba9e0b65cf59f7b67a8bdf2377611cd067
Author: Stephen Thomas <104134586+stepthomas at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/force-wait-after-always-gds.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.add.gs.reg.rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.ordered.swap.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.sub.gs.reg.rtn.ll
Log Message:
-----------
[AMDGPU] Insert before and after instructions that always use GDS (#131338)
It is an architectural requirement that there must be no outstanding GDS
instructions when an "always GDS" instruction is issued, and also that
an always GDS instruction must be allowed to complete.
Insert waits on DScnt/LGKMcnt prior to (if necessary) and subsequent to
(unconditionally) any always GDS instruction, and an additional S_NOP if
the subsequent wait was followed by S_ENDPGM.
Always GDS instructions are GWS instructions, DS_ORDERED_COUNT,
DS_ADD_GS_REG_RTN, and DS_SUB_GS_REG_RTN (the latter two as considered
always GDS as of this patch).
Commit: 5488ad8f25cf6052ad5d03a911c68dd9d5c6460f
https://github.com/llvm/llvm-project/commit/5488ad8f25cf6052ad5d03a911c68dd9d5c6460f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for X86ISD::VPERMILPV nodes (#132355)
Concat the nodes if we can merge either of the operands for free.
Commit: 387f3e8f986d53067a68aa0d7b058a0ce81ec941
https://github.com/llvm/llvm-project/commit/387f3e8f986d53067a68aa0d7b058a0ce81ec941
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] s/ValidRange/ValidRanges in UnwindPlan (#127661)
To be able to describe discontinuous functions, this patch changes the
UnwindPlan to accept more than one address range.
I've also squeezed in a couple improvements/modernizations, for example
using the lower_bound function instead of a linear scan.
Commit: 44261dae5b3cd330cfcbd7ada51a8ed532103e98
https://github.com/llvm/llvm-project/commit/44261dae5b3cd330cfcbd7ada51a8ed532103e98
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/test/HLFIR/all-lowering.fir
M flang/test/HLFIR/any-lowering.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/count-lowering.fir
M flang/test/HLFIR/cshift-lowering.fir
M flang/test/HLFIR/dot_product-lowering.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/maxloc-lowering.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/minloc-lowering.fir
M flang/test/HLFIR/minval-lowering.fir
M flang/test/HLFIR/mul_transpose.f90
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/product-lowering.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/HLFIR/sum-lowering.fir
M flang/test/HLFIR/transpose-lowering.fir
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/associate-construct.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-issue-124043.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-as-inquired.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/reshape.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/loc.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/second.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/shape.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
M flang/test/Lower/OpenMP/scan.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/simd_x86_64.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/threadprivate-integer-different-kinds.f90
M flang/test/Lower/OpenMP/threadprivate-pointer-allocatable.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-asynchronous.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
Log Message:
-----------
[flang][NFC] use hlfir.declare first result when both results are raw pointers (#132261)
Currently, the helpers to get fir::ExtendedValue out of hlfir::Entity
use hlfir.declare second result (`#1`) in most cases. This is because
this result is the same as the input and matches what FIR was getting
before lowering to HLFIR.
But this creates odd situations when both hlfir.declare are raw pointers
and either result ends-up being used in the IR depending on whether the
code was generated by a helper using fir::ExtendedValue, or via "pure
HLFIR" helpers using the first result.
This will typically prevent simple CSE and easy identification that two
operation (e.g load/store) are touching the exact same memory location
without using alias analysis or "manual detection" (looking for common
hlfir.declare defining op).
Hence, when hlfir.declare results are both raw pointers, use `#0` when
producing `fir::ExtendedValue`.
When `#0` is a fir.box, keep using `#1` because these are not the same.
The only code change is in HLFIRTools.cpp and is pretty small, but there
is a big test fallout of `#1` to `#0`.
Commit: 3bcab6f20ab73098f3c3e46db21bb1bccf11f782
https://github.com/llvm/llvm-project/commit/3bcab6f20ab73098f3c3e46db21bb1bccf11f782
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/depend01.f90
Log Message:
-----------
[flang][OpenMP][Semantics] improve semantic checks for array sections (#132230)
I'm not sure why strides were not allowed in array sections: the stride
is explicitly allowed by the standard from the first version where array
sections were introduced. The limitation is that the stride must not be
negative.
Here I have added the check for a negative stride and updated the test
for a zero length section to take account of the stride.
Commit: 4b419840c883b0de03ae72c7d352c37f24c1932c
https://github.com/llvm/llvm-project/commit/4b419840c883b0de03ae72c7d352c37f24c1932c
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb] Show target.debug-file-search-paths setting from python SBDebugger (#131683)
When printing setting variables using the python SBDebugger API if the type is of OptionValueFileSpec
it defaults to null as the value even if it has a value. This patch fixes that.
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 52de49e4b9cd69957b7dc50a5fed061ecd0b0d77
https://github.com/llvm/llvm-project/commit/52de49e4b9cd69957b7dc50a5fed061ecd0b0d77
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
Log Message:
-----------
[lldb][debugserver][MacOSX] Work around sanitizer misaligned address errors when reading exception data (#132193)
We've been dealing with UBSAN issues around this code for some time now
(see `9c36859b33b386fbfa9599646de1e2ae01158180` and
`1a2122e9e9d1d495fdf337a4a9445b61ca56df6f`). On recent macOS versions, a
UBSAN-enabled debugserver will crash when performing a `memcpy` of the
input `mach_exception_data_t`. The pointer to the beginning of the
exception data may not be aligned on a doubleword boundary, leading to
UBSAN failures such as:
```
$ ./bin/debugserver 0.0.0.0:5555 /Volumes/SSD/llvm-builds/llvm-worktrees/clang-work/build-sanitized-release/tools/lldb/test/Shell/Recognizer/Output/verbose_trap.test.tmp.out
/Volumes/SSD/llvm-builds/llvm-worktrees/clang-work/lldb/tools/debugserver/source/MacOSX/MachException.cpp:35:12: runtime error: store to misaligned address 0x00016ddfa634 for type 'mach_exception_data_type_t *' (aka 'long long *'), which requires 8 byte alignment
0x00016ddfa634: note: pointer points here
02 00 00 00 03 00 01 00 00 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00
^
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Volumes/SSD/llvm-builds/llvm-worktrees/clang-work/lldb/tools/debugserver/source/MacOSX/MachException.cpp:35:12
```
Work around these failures by pretending the input data is a `char*`
buffer.
Drive-by changes:
* I factored out some duplicated code into a static
`AppendExceptionData` and made the types consistent
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 123eb75cd43a5181c324efc033e978f0f1ed4598
https://github.com/llvm/llvm-project/commit/123eb75cd43a5181c324efc033e978f0f1ed4598
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
Log Message:
-----------
[Flang] Do not emit numeric_storage_size into object file (#131463)
The value of numeric_storage_size depends on compilation options and
therefore its value is not yet known when building the builtins runtime.
Instead, the parameter is folding a __numeric_storage_size() expression
which is loaded into the user program. For the iso_fortran_env object
file, omit the symbol as it is never used.
Similar tests that ensure that __numeric_storage_size() is not folded
until compiling the actual user program exist in FortranEvalutate:
https://github.com/llvm/llvm-project/blob/1e6ba3cd2fe96be00b6ed6ba28b3d9f9271d784d/flang/lib/Evaluate/check-expression.cpp#L487-L492
https://github.com/llvm/llvm-project/blob/1e6ba3cd2fe96be00b6ed6ba28b3d9f9271d784d/flang/lib/Evaluate/fold-integer.cpp#L1457-L1460
Required for using CMake to compile the builtin module files. See RFC at
https://discourse.llvm.org/t/rfc-building-flangs-builtin-mod-files/84626
Commit: ff8a960ab1e3525ed23a9296a0ac89ff75d5bf08
https://github.com/llvm/llvm-project/commit/ff8a960ab1e3525ed23a9296a0ac89ff75d5bf08
Author: CHANDRA GHALE <chandra.nitdgp at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
Minor unused variable error for sanitizer builds (#132372)
Fix #132371
Minor error , sanitizer builds are failing for unused variable.
sanitizer-aarch64-linux/build/llvm-project/clang/lib/Serialization/ASTReader.cpp:11764:17:
error: unused variable 'I' [-Werror,-Wunused-variable]
11764 | for (unsigned I : llvm::seq<unsigned>(NumFlags))
This was modified as part of
[https://github.com/llvm/llvm-project/pull/129938](https://github.com/llvm/llvm-project/pull/129938)
, which got missed.
Co-authored-by: Chandra Ghale <ghale at pe31.hpc.amslabs.hpecorp.net>
Commit: 09feaa9261448e72ce21394613e0a12f84c1b8d9
https://github.com/llvm/llvm-project/commit/09feaa9261448e72ce21394613e0a12f84c1b8d9
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrFMA3Info.cpp
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2ni-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10_2ni-32.txt
M llvm/test/MC/Disassembler/X86/avx10_2ni-64.txt
M llvm/test/MC/X86/avx10_2ni-32-intel.s
M llvm/test/MC/X86/avx10_2ni-64-att.s
Log Message:
-----------
Revert "[X86][AVX10.2] Support YMM rounding new instructions (#101825)" (#132362)
This reverts commit 0dba5381d8c8e4cadc32a067bf2fe5e3486ae53d.
YMM rounding was removed from AVX10 whitepaper. Ref:
https://cdrdv2.intel.com/v1/dl/getContent/784343
The MINMAX and SATURATING CONVERT instructions will be removed as a
follow up.
Commit: ea03bdee7081f25c652d581e274b10cb7c552357
https://github.com/llvm/llvm-project/commit/ea03bdee7081f25c652d581e274b10cb7c552357
Author: Zhuoran Yin <zhuoryin at amd.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.td
M mlir/lib/Dialect/AMDGPU/Transforms/CMakeLists.txt
A mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
A mlir/test/Dialect/AMDGPU/transfer-read-to-load.mlir
Log Message:
-----------
[MLIR][AMDGPU] Adding Vector transfer_read to load rewrite pattern (#131803)
This PR adds the Vector transfer_read to load rewrite pattern. The
pattern creates a transfer read op lowering. A vector trasfer read op
will be lowered to a combination of `vector.load`, `arith.select` and
`vector.broadcast` if:
- The transfer op is masked.
- The memref is in buffer address space.
- Other conditions introduced from `TransferReadToVectorLoadLowering`
The motivation of this PR is due to the lack of support of masked load
from amdgpu backend. `llvm.intr.masked.load` lower to a series of
conditional scalar loads refer to (`scalarize-masked-mem-intrin` pass).
This PR will make it possible for masked transfer_read to be lowered
towards buffer load with bounds check, allowing a more optimized global
load accessing pattern compared with existing implementation of
`llvm.intr.masked.load` on vectors.
Commit: 281028e37ca6c97c62ba68cd43eda2ff95bc70c4
https://github.com/llvm/llvm-project/commit/281028e37ca6c97c62ba68cd43eda2ff95bc70c4
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
A llvm/test/Transforms/LoopInterchange/profitability-redundant-interchange.ll
Log Message:
-----------
[LoopInterchange] Prevent from undoing its own transformation (#127473)
LoopInterchange uses the bubble-sort fashion algorithm to sort the loops
in a loop nest. For two loops `A` and `B`, it calls `isProfitable(A, B)`
to determine whether these loops should be exchanged. The result of
`isProfitable(A, B)` should be conservative, that is, it should return
true only when we are sure exchanging `A` and `B` will improve
performance. If it's not conservative enough, it's possible that a
subsequent `isProfitable(B, A)` will also return true, in which case
LoopInterchange will undo its previous transformation. To avoid such
cases, `isProfitable(B, A)` must not return true if `isProfitable(A, B)`
returned true in the past. However, the current implementation can be in
such a situation. This patch resolves it by correcting the handling of
two loops that have the same cache cost.
This resolve the problem mentioned in
https://github.com/llvm/llvm-project/pull/118267#issuecomment-2510759354.
Commit: 42d49a1a5b940c9a9a5da2488474be7adeb26095
https://github.com/llvm/llvm-project/commit/42d49a1a5b940c9a9a5da2488474be7adeb26095
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
Log Message:
-----------
[flang] fix openmp tests after #132261 (#132391)
I missed these tests in my test update after #132261 because they are
under `! REQUIRES: openmp_runtime`.
Broke build bots:
https://lab.llvm.org/buildbot/#/builders/50/builds/11789
Commit: 6b59b33358d250a6a1424de4a4379c52f7df2244
https://github.com/llvm/llvm-project/commit/6b59b33358d250a6a1424de4a4379c52f7df2244
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/test/Transforms/inlining.mlir
Log Message:
-----------
[MLIR] Handle call site locations when inlining (#132247)
When inlining a `callee` with a call site debug location, the inlining
infrastructure was trivially combining the `callee` and the `caller`
locations, forming a "tree" of call stacks. Because of this, the remarks
were printing an incomplete inlining stack.
This commit handles this case and appends the `caller` location at the
end of the `callee`'s stack, extending the chain.
Commit: 369be311a7b8344699d12719a8fa557fe8934e46
https://github.com/llvm/llvm-project/commit/369be311a7b8344699d12719a8fa557fe8934e46
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/test/Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
Log Message:
-----------
[X86,SimplifyCFG] Support conditional faulting load or store only (#132032)
This is to fix a bug when a target only support conditional faulting
load, see test case hoist_store_without_cstore.
Split `-simplifycfg-hoist-loads-stores-with-cond-faulting` into
`-simplifycfg-hoist-loads-with-cond-faulting` and
`-simplifycfg-hoist-stores-with-cond-faulting` to control conditional
faulting load and store respectively.
Commit: 561dcb26d4597b592caa417d36c1a4e09fb2be2d
https://github.com/llvm/llvm-project/commit/561dcb26d4597b592caa417d36c1a4e09fb2be2d
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/offload-Xarch.c
Log Message:
-----------
[Clang] Permit `-Xarch_` to be used with `--offload-arch` (#131884)
Summary:
The `--offload-arch` option is very complicated, but roughly behaves as
the `-march` option for several compilations at once. This creates
problems when we try to combine multiple separate architectures into
one, as happens with SYCL, OpenMP, and HIP w/ SPIR-V.
The existing solution used by OpenMP is the `-Xopenmp-target` option,
this lets you select which `--offload-arch` options go to which
toolchain. This patch permits `-Xarch_` to be used in the same way.
There are concerns about whether or not this falls into the `-Xarch_`
umbrella because it changes the driver behaviour, but I think this is
the
easiest way to handle this problem. The existing solution seems to be
prefixing things and adding more magic handling into `--offload-arch`.
Like SYCL is doing `nvidia_gpu_sm_89` instead of just `-Xarch_nvptx64
--offload-arch=sm_89`.
The only reason this is more complicated than just doing `-Xarch_sm_89
-march=...` is because we need to know to create multiple jobs for each
architecture.
Commit: e385ec90e2cbc6398cc6f445d995cf875bbc15b2
https://github.com/llvm/llvm-project/commit/e385ec90e2cbc6398cc6f445d995cf875bbc15b2
Author: Leonard Grey <lgrey at chromium.org>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/MachO/Writer.cpp
M lld/test/MachO/sub-library.s
Log Message:
-----------
[lld-macho] Don't double emit reexported libraries (#132275)
When a library is specified with both `-l` and `-reexport_libraries`,
lld will emit two load commands for it, in contrast with ld64.
In an upcoming version of macOS, this fails dyld validation; see
https://crbug.com/404905688
---------
Co-authored-by: Mark Rowe <markrowe at chromium.org>>
Commit: af93db9344919085551fac38d6d6a4f774a7220a
https://github.com/llvm/llvm-project/commit/af93db9344919085551fac38d6d6a4f774a7220a
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/COFF/MinGW.cpp
Log Message:
-----------
[LLD] [COFF] Add a few more mingw libs to skip autoexports for (#132289)
"libmsvcrt-os" was added to the list of excluded libs in binutils in
9d9c67b06c1bf4c4550e3de0eb575c2bfbe96df9 in 2017.
"libucrt" was added in c4a8df19ba0a82aa8dea88d9f72ed9e63cb1fa84 in 2022.
"libucrtapp" isn't in the binutils exclusion list yet, but a patch for
adding it has been submitted. Since
0d403d5dd13ce22c07418058f3b640708992890c in mingw-w64 (in 2020), there's
such a third variant of the UCRT import library available.
Since 18df3e8323dcf9fdfec56b5f12c04a9c723a0931 in 2025, "libpthread" and
"libwinpthread" are also excluded.
Commit: 610ade2ed7253593198287aa53a9b05852ef0ede
https://github.com/llvm/llvm-project/commit/610ade2ed7253593198287aa53a9b05852ef0ede
Author: bernhardu <bernhardu at mailbox.org>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
Log Message:
-----------
[win/asan] GetInstructionSize: Detect `66 90` two-byte NOP at 32-bit too. (#132267)
Observed in Wine when trying to intercept `ExitThread`, which forwards
to `ntdll.RtlExitUserThread`.
`gdb` interprets it as `xchg %ax,%ax`.
`llvm-mc` outputs simply `nop`.
```
==Asan-i386-calls-Dynamic-Test.exe==964==interception_win: unhandled instruction at 0x7be27cf0: 66 90 55 89 e5 56 50 8b
```
```
Wine-gdb> bt
#0 0x789a1766 in __interception::GetInstructionSize (address=<optimized out>, rel_offset=<optimized out>) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:983
#1 0x789ab480 in __sanitizer::SharedPrintfCode(bool, char const*, char*) () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_printf.cpp:311
#2 0x789a18e7 in __interception::OverrideFunctionWithHotPatch (old_func=2078440688, new_func=2023702608, orig_old_func=warning: (Internal error: pc 0x792f1a2c in read in CU, but not in symtab.)warning: (Error: pc 0x792f1a2c in address map, but not in symtab.)0x792f1a2c) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:1118
#3 0x789a1f34 in __interception::OverrideFunction (old_func=2078440688, new_func=2023702608, orig_old_func=warning: (Internal error: pc 0x792f1a2c in read in CU, but not in symtab.)warning: (Error: pc 0x792f1a2c in address map, but not in symtab.)0x792f1a2c) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:1224
#4 0x789a24ce in __interception::OverrideFunction (func_name=0x78a0bc43 <vtable for __asan::AsanThreadContext+1163> "ExitThread", new_func=2023702608, orig_old_func=warning: (Internal error: pc 0x792f1a2c in read in CU, but not in symtab.)warning: (Error: pc 0x792f1a2c in address map, but not in symtab.)0x792f1a2c) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/interception/interception_win.cpp:1369
#5 0x789f40ef in __asan::InitializePlatformInterceptors () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_win.cpp:190
#6 0x789e0c3c in __asan::InitializeAsanInterceptors () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_interceptors.cpp:802
#7 0x789ee6b5 in __asan::AsanInitInternal () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:442
#8 0x789eefb0 in __asan::AsanInitFromRtl () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:522
#9 __asan::AsanInitializer::AsanInitializer (this=<optimized out>) at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:542
#10 __cxx_global_var_init () at C:/llvm-mingw/llvm-mingw/llvm-project/compiler-rt/lib/asan/asan_rtl.cpp:546
...
Wine-gdb> disassemble /r 2078440688,2078440688+20
Dump of assembler code from 0x7be27cf0 to 0x7be27d04:
0x7be27cf0 <_RtlExitUserThread at 4+0>: 66 90 xchg %ax,%ax
...
```
Commit: ac9049df7e62e2ca4dc5d103593b51639b5715e3
https://github.com/llvm/llvm-project/commit/ac9049df7e62e2ca4dc5d103593b51639b5715e3
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
A llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
A llvm/test/Transforms/LoopIdiom/strlen.ll
A llvm/test/Transforms/LoopIdiom/wcslen16.ll
A llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
Reland "[Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)" (#131412)
Relands https://github.com/llvm/llvm-project/pull/108985
This PR continues the effort made in
https://discourse.llvm.org/t/rfc-strlen-loop-idiom-recognition-folding/55848
and https://reviews.llvm.org/D83392 and https://reviews.llvm.org/D88460
to extend `LoopIdiomRecognize` to find and replace loops of the form
```c
base = str;
while (*str)
++str;
```
and transforming the `strlen` loop idiom into the appropriate `strlen`
and `wcslen` library call which will give a small performance boost if
replaced.
```c
str = base + strlen(base)
len = str - base
```
Commit: 141656644959ea43b61868ef16e3d2782d40ea51
https://github.com/llvm/llvm-project/commit/141656644959ea43b61868ef16e3d2782d40ea51
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaCXX/ms-member-pointer.cpp
Log Message:
-----------
Reland: [clang] NFC: Clear some uses of MemberPointerType::getClass (#132317)
Relands Original PR: https://github.com/llvm/llvm-project/pull/131965
Addresses
https://github.com/llvm/llvm-project/pull/131965#issuecomment-2741619498
* Fixes isIncompleteType for injected classes
This clears up some uses of getClass on MemberPointerType when
equivalent uses of getMostRecentCXXRecordDecl would be just as simple or
simpler.
This is split-off from a larger patch which removes getClass, in order
to facilitate review.
Commit: 5286511adc94529c2d0ee9ea37c121ff7eaea223
https://github.com/llvm/llvm-project/commit/5286511adc94529c2d0ee9ea37c121ff7eaea223
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][NFC] use platform independent path separator in testSettings.py. (#132392)
The build bot was failing when running remote test from windows to
linux.
>From #131683
---------
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 857a04cd7670b629b560ba7e67c758a0c15e0841
https://github.com/llvm/llvm-project/commit/857a04cd7670b629b560ba7e67c758a0c15e0841
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
A llvm/test/CodeGen/AArch64/sms-unpipeline-insts3.mir
Log Message:
-----------
[MachinePipeliner] Fix incorrect handlings of unpipelineable insts (#126057)
There was a case where `normalizeNonPipelinedInstructions` didn't
schedule unpipelineable instructions correctly, which could generate
illegal code. This patch fixes this issue by rejecting the schedule if
we fail to insert the unpipelineable instructions at stage 0.
Here is a part of the debug output for `sms-unpipeline-insts3.mir`
before applying this patch.
```
SU(0): %27:gpr32 = PHI %21:gpr32all, %bb.3, %28:gpr32all, %bb.4
Successors:
SU(14): Data Latency=0 Reg=%27
SU(15): Anti Latency=1
...
SU(14): %41:gpr32 = ADDWrr %27:gpr32, %12:gpr32common
Predecessors:
SU(0): Data Latency=0 Reg=%27
SU(16): Ord Latency=0 Artificial
Successors:
SU(15): Data Latency=1 Reg=%41
SU(15): %28:gpr32all = COPY %41:gpr32
Predecessors:
SU(14): Data Latency=1 Reg=%41
SU(0): Anti Latency=1
SU(16): %30:ppr = WHILELO_PWW_S %27:gpr32, %15:gpr32, implicit-def $nzcv
Predecessors:
SU(0): Data Latency=0 Reg=%27
Successors:
SU(14): Ord Latency=0 Artificial
...
Do not pipeline SU(16)
Do not pipeline SU(1)
Do not pipeline SU(0)
Do not pipeline SU(15)
Do not pipeline SU(14)
SU(0) is not pipelined; moving from cycle 19 to 0 Instr: ...
SU(1) is not pipelined; moving from cycle 10 to 0 Instr: ...
SU(15) is not pipelined; moving from cycle 28 to 19 Instr: ...
SU(16) is not pipelined; moving from cycle 19 to 0 Instr: ...
Schedule Found? 1 (II=10)
...
cycle 9 (1) (14) %41:gpr32 = ADDWrr %27:gpr32, %12:gpr32common
cycle 9 (1) (15) %28:gpr32all = COPY %41:gpr32
```
The SUs are traversed in the order of the original basic block, so in
this case a new cycle of each instruction is determined in the order of
`SU(0)`, `SU(1)`, `SU(14)`, `SU(15)`, `SU(16)`. Since there is an
artificial dependence from `SU(16)` to `SU(14)`, which is contradict to
the original SU order, the new cycle of `SU(14)` must be greater than or
equal to the cycle of `SU(16)` at that time. This results in the failure
of scheduling `SU(14)` at stage 0. For now, we reject the schedule for
such cases.
Commit: c4eec9eb52c604c1d54d86181bcce92f3cbc61ec
https://github.com/llvm/llvm-project/commit/c4eec9eb52c604c1d54d86181bcce92f3cbc61ec
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/matrix-multiply.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for consecutive extracts of upper subvectors (#132389)
We already fold concat(extract_subvector(x,0), extract_subvector(x,numsubelts)) -> (wider lower half) extract_subvector(x,0)
This patch extends this handling for the concat(extract_subvector(x,c), extract_subvector(x,c+numsubelts)) -> (wider upper half) extract_subvector(x,c) case as well
Commit: 13c2378599ffd887319b2d314f307ea761596ec1
https://github.com/llvm/llvm-project/commit/13c2378599ffd887319b2d314f307ea761596ec1
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/stores-of-loads-merging.ll
R llvm/test/CodeGen/RISCV/stores-of-loads-merging.ll
Log Message:
-----------
[RISCV] Expand test coverage for DAG store merging
Two sets of additions:
1) Exercise the rotation path, both for integer and float
2) Exercise the aligned and unaligned paths separately
Commit: f0eeb9fb24d848012d6fab1cf018f99bd4d22127
https://github.com/llvm/llvm-project/commit/f0eeb9fb24d848012d6fab1cf018f99bd4d22127
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineGatherScatter - pull out repeated index sign bits code. NFC. (#132399)
Minor cleanup to make it easier to handle more index simplification and truncation to vXi32 types in future patches.
Commit: 0ea4fb92648b2aa7cbab486bb493e122b4dcc062
https://github.com/llvm/llvm-project/commit/0ea4fb92648b2aa7cbab486bb493e122b4dcc062
Author: Yi Qian <68618497+yiqian1 at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats-ocp.mlir
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats-ocp.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMD][ROCDL] Add packed conversions fp8/bf8->bf16 and fp8/bf8->fp32 in ROCDL dialect (#131850)
- Add packed conversions fp8/bf8->bf16 for gfx950 and fp8/bf8->fp32 for
gfx942 in ROCDL dialect
- Update amdgpu.ext_packed_fp8 lowering to use ROCDL packed fp8/bf8->f32
conversions for vector target types and ROCDL scalar fp8/bf8->fp32 for
scalar target type.
---------
Co-authored-by: Jungwook Park <jungwook.park at amd.com>
Commit: 924c7ea76af0c3ab53dc7287d046fb614b4e33dc
https://github.com/llvm/llvm-project/commit/924c7ea76af0c3ab53dc7287d046fb614b4e33dc
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2convert-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2convert-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2convert-64.txt
M llvm/test/MC/X86/avx10.2convert-32-att.s
M llvm/test/MC/X86/avx10.2convert-32-intel.s
M llvm/test/MC/X86/avx10.2convert-64-att.s
M llvm/test/MC/X86/avx10.2convert-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VCVT2PS2PHX (#132397)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: 968ecc7bfe2eb98bd087fbb0ac529a4c1b81b482
https://github.com/llvm/llvm-project/commit/968ecc7bfe2eb98bd087fbb0ac529a4c1b81b482
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Avoid repeated hash lookups (NFC) (#132328)
Commit: 67a631b40673ed061abcb842feb840d982dfc6d9
https://github.com/llvm/llvm-project/commit/67a631b40673ed061abcb842feb840d982dfc6d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/StackColoring.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#132329)
Commit: e97a4cde8c6a135ceb85612d10ceaa5ab3dbcc53
https://github.com/llvm/llvm-project/commit/e97a4cde8c6a135ceb85612d10ceaa5ab3dbcc53
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#132330)
Commit: a2661a9904f3633e438bcdc3922d99ef72ef27fb
https://github.com/llvm/llvm-project/commit/a2661a9904f3633e438bcdc3922d99ef72ef27fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
Log Message:
-----------
[mlir] Avoid repeated hash lookups (NFC) (#132332)
Commit: a013387f73cec51c2df4f7732fa87aa01709cc89
https://github.com/llvm/llvm-project/commit/a013387f73cec51c2df4f7732fa87aa01709cc89
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
Log Message:
-----------
[DebugInfo] Use heterogenous lookups with std::map (NFC) (#132354)
Heterogenous lookups allow us to call find with StringRef, avoiding a
temporary heap allocation of std::string.
Commit: d4ce57cb98dbe753d246ae5395cc5ac6da8afa88
https://github.com/llvm/llvm-project/commit/d4ce57cb98dbe753d246ae5395cc5ac6da8afa88
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/generic/CMakeLists.txt
Log Message:
-----------
[libc] Fix unresolved stdio symbols (#132403)
Summary:
We have 'generic' implementations for some functions stdio functions.
The current logic mandates that all generic functions are implemented by
the target. This obviously isn't true and this caused the GPU builds to
fail once baremtal added some extra ones.
This patch changes the logic to always include the generic sources only
if they aren't already defined. This can probably be cleaned up and
formalized later, since this pattern is copied in many places, but for
now this fixes the failing GPU build bots.
Commit: f7a32b85b56b20382a8100498874ef9d3c5b0b77
https://github.com/llvm/llvm-project/commit/f7a32b85b56b20382a8100498874ef9d3c5b0b77
Author: tltao <tony.le.tao at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/TargetRegistry.h
M llvm/lib/MC/TargetRegistry.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
A llvm/test/CodeGen/SystemZ/zos-hlasm-out.ll
Log Message:
-----------
[MC][SystemZ] Introduce Target Specific HLASM Streamer for z/OS (#130535)
A more fleshed out version of a previous PR
https://github.com/llvm/llvm-project/pull/107415. The goal is to provide
platforms an alternative to the current MCAsmStreamer which only
supports the GNU Asm syntax.
RFC:
https://discourse.llvm.org/t/rfc-llvm-add-support-for-target-specific-asm-streamer/85095
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: fa4bf3a11a42a098cae63cc81d99b262d34479fb
https://github.com/llvm/llvm-project/commit/fa4bf3a11a42a098cae63cc81d99b262d34479fb
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/test/API/commands/settings/TestSettings.py
Log Message:
-----------
[lldb][NFC] Fix test settings JSON check to compare expected path list. (#132410)
Previously, the test compared the JSON output to `setting_value` which
was incorrect. Updated the assertion to validate against the correct
list of paths `[path1, path2]` to ensure accurate test behavior.
Ran the test on the local computer
Signed-off-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 6bbd45dec7f3aef58accb935c685e802d6972dec
https://github.com/llvm/llvm-project/commit/6bbd45dec7f3aef58accb935c685e802d6972dec
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
Log Message:
-----------
[NFC][BOLT] Refactor ForcePatch option (#127812)
Move force-patch flag to CommandLineOpts and add details on
PatchEntries.
Commit: 79079c94699a4210bd500556d2864cbdf4a37e78
https://github.com/llvm/llvm-project/commit/79079c94699a4210bd500556d2864cbdf4a37e78
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/DeclOpenACC.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/SemaOpenACC/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M clang/test/SemaOpenACC/routine-construct.cpp
R clang/test/SemaOpenACC/unimplemented-construct.c
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[OpenACC] Finish implementing 'routine' AST/Sema.
This is the last item of the OpenACC 3.3 spec. It includes the
implicit-name version of 'routine', plus significant refactorings to
make the two work together. The implicit name version is represented as
an attribute on the function call. This patch also implements the
clauses for the implicit-name version, as well as the A.3.4 warning.
Commit: 954a3de7838a8c496ef1d1730127415b3e9786f9
https://github.com/llvm/llvm-project/commit/954a3de7838a8c496ef1d1730127415b3e9786f9
Author: Justin Cady <desk at justincady.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/test/CoverageMapping/terminate-statements.cpp
A compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
Log Message:
-----------
Reland [Coverage] Fix region termination for GNU statement expressions (#132222)
Relands #130976 with adjustments to test requirements.
Calls to __noreturn__ functions result in region termination for
coverage mapping. But this creates incorrect coverage results when
__noreturn__ functions (or other constructs that result in region
termination) occur within [GNU statement expressions][1].
In this scenario an extra gap region is introduced within VisitStmt,
such that if the following line does not introduce a new region it
is unconditionally counted as uncovered.
This change adjusts the mapping such that terminate statements
within statement expressions do not propagate that termination
state after the statement expression is processed.
[1]: https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html
Fixes #124296
Commit: f8865aa876a663a26d0b9ce5d26c9d6df6b9d18f
https://github.com/llvm/llvm-project/commit/f8865aa876a663a26d0b9ce5d26c9d6df6b9d18f
Author: David Peixotto <peix at meta.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lldb/test/API/commands/process/launch/TestProcessLaunch.py
M lldb/test/API/source-manager/TestSourceManager.py
Log Message:
-----------
[lldb] Fix tests to resolve symlinks when checking paths (#132053)
The inferior used in the process launch test prints out its working
directory using the `getcwd` function, which is not allowed to return
symbolic links in the path components. When testing against the output
from `getcwd` we should resolve the full path to match the expected
output.
The source manager test sets a breakpoint on a main-copy.c file that is
copied into the build output directory. The source manager resolves this
path to its real location. When testing the output from the source cache
we need to resolve the expected path in the test to remove symlinks.
Commit: 4a2ab3afdb2dfed90fc2dc53c52fb3c97806e0f4
https://github.com/llvm/llvm-project/commit/4a2ab3afdb2dfed90fc2dc53c52fb3c97806e0f4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
Log Message:
-----------
[RISCV] Remove trailing whitespace. NFC
Commit: bd6df0fe21faeaf3fd2a8ad17074f10620c78378
https://github.com/llvm/llvm-project/commit/bd6df0fe21faeaf3fd2a8ad17074f10620c78378
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/src/__support/RPC/rpc_server.h
R libc/utils/gpu/CMakeLists.txt
R libc/utils/gpu/loader/CMakeLists.txt
R libc/utils/gpu/loader/Loader.h
R libc/utils/gpu/loader/Main.cpp
R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
R libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M llvm/tools/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/CMakeLists.txt
A llvm/tools/llvm-gpu-loader/amdhsa.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.cpp
A llvm/tools/llvm-gpu-loader/llvm-gpu-loader.h
A llvm/tools/llvm-gpu-loader/nvptx.cpp
A llvm/tools/llvm-gpu-loader/server.h
Log Message:
-----------
Reapply "[LLVM] Make the GPU loader utilities an LLVM tool (#132096)" (#132277)
Summary:
There were a few issues with the first one, leading to some errors and
warnings. Most importantly, this was building on MSVC which isn't
supported.
Commit: f51e5f3f651af8a83d429fde54bf24ccb03fa420
https://github.com/llvm/llvm-project/commit/f51e5f3f651af8a83d429fde54bf24ccb03fa420
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/Transforms/loop.cir
Log Message:
-----------
[CIR] Upstream initial for-loop support (#132266)
This change adds support for empty for-loops. This will be the
infrastructre needed for complete for loops, but that depends on compare
operations, which have not been upstreamed yet.
Commit: 4dd7feab2bc81273f72c494f17ae0dc9661fdcf8
https://github.com/llvm/llvm-project/commit/4dd7feab2bc81273f72c494f17ae0dc9661fdcf8
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
A mlir/test/Dialect/Tosa/error_if_check.mlir
Log Message:
-----------
[mlir][tosa] Add more error_if checks for Resize Op (#132290)
Some of the error_if checks were missed in this PR:
https://github.com/llvm/llvm-project/pull/124956
Add back those tests to check suitable sizes for Resize
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 14f7bd63b95d0f61a6f47119ac66398ca230559a
https://github.com/llvm/llvm-project/commit/14f7bd63b95d0f61a6f47119ac66398ca230559a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/attr-print-emit.cpp
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/Index/print-type.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/tools/libclang/CXType.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
Log Message:
-----------
Reland: [clang] preserve class type sugar when taking pointer to member (#132401)
Original PR: #130537
Originally reverted due to revert of dependent commit. Relanding with no
changes.
This changes the MemberPointerType representation to use a
NestedNameSpecifier instead of a Type to represent the base class.
Since the qualifiers are always parsed as nested names, there was an
impedance mismatch when converting these back and forth into types, and
this led to issues in preserving sugar.
The nested names are indeed a better match for these, as the differences
which a QualType can represent cannot be expressed syntatically, and
they represent the use case more exactly, being either dependent or
referring to a CXXRecord, unqualified.
This patch also makes the MemberPointerType able to represent sugar for
a {up/downcast}cast conversion of the base class, although for now the
underlying type is canonical, as preserving the sugar up to that point
requires further work.
As usual, includes a few drive-by fixes in order to make use of the
improvements.
Commit: b858ba0f6597c66e5c276ca9e2564ca27e7e28e7
https://github.com/llvm/llvm-project/commit/b858ba0f6597c66e5c276ca9e2564ca27e7e28e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Fix capitalization of CHECK prefix in riscv-target-features.c. NFC
Commit: 5afa0fa9a6ba482cdc87945b71f5cd626b754d8f
https://github.com/llvm/llvm-project/commit/5afa0fa9a6ba482cdc87945b71f5cd626b754d8f
Author: Daniel Zabawa <daniel.zabawa at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
A llvm/test/CodeGen/X86/apx/ndd-false-deps-asm.mir
A llvm/test/CodeGen/X86/apx/ndd-false-deps.mir
Log Message:
-----------
[X86] Prevent APX NDD compression when it creates a partial write (#132051)
APX NDD instructions may be compressed when the result is also a source.
For 8/16b instructions, this may create partial register write hazards
if a previous super-register def is within the partial reg update
clearance, or incorrect code if the super-register is not dead.
This change prevents compression when the super-register is marked as an
implicit define, which the virtual rewriter already adds in the case
where a subregister is defined but the super-register is not dead.
The BreakFalseDeps interface is also updated to add implicit
super-register defs for NDD instructions that would incur partial-write
stalls if compressed to legacy ops.
Commit: 72d1058af0f065c63cc5bb36a93cc5824429fac7
https://github.com/llvm/llvm-project/commit/72d1058af0f065c63cc5bb36a93cc5824429fac7
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: refactor analysis of RET instructions (#131897)
In preparation for implementing detection of more gadget kinds,
refactor checking for non-protected return instructions.
Commit: ff9c5c334ad4a93b33703396a401838df2dedc35
https://github.com/llvm/llvm-project/commit/ff9c5c334ad4a93b33703396a401838df2dedc35
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/lib/CodeGen/ShrinkWrap.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/test/CodeGen/PowerPC/shrink-wrap-frame-pointer.ll
Log Message:
-----------
[shrinkwrap] PowerPC's FP register should be honored when processing the save point for prologue. (#129855)
When generating code for functions that have `__builtin_frame_address`
calls and `noinline` attribute, prologue was not emitted correctly
leading to an assertion failure in PowerPC. The issue was due to
improper insertion of prologue for a function that contain llvm
`__builtin_frame_address`.
Shrink-wrap pass computes the save and restore points of a function.
Default points are the entry and exit points of the function. During
shrink-wrapping the frame-pointer was not honored like the stack pointer
and it was considered as a callee-saved register. This change will treat
the FP similar to SP and will insert the prolog on top the instruction
containing FP.
---------
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: d7e7e0af485a5266819cb90dc72e09d67898510f
https://github.com/llvm/llvm-project/commit/d7e7e0af485a5266819cb90dc72e09d67898510f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Sema/SemaX86.cpp
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2minmax-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2minmax-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2minmax-64.txt
M llvm/test/MC/X86/avx10.2minmax-32-att.s
M llvm/test/MC/X86/avx10.2minmax-32-intel.s
M llvm/test/MC/X86/avx10.2minmax-64-att.s
M llvm/test/MC/X86/avx10.2minmax-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VMINMAXP[H,S,D] (#132405)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: 7be243add2bb89461f647ae74af730e149833c1b
https://github.com/llvm/llvm-project/commit/7be243add2bb89461f647ae74af730e149833c1b
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/include/__chrono/convert_to_tm.h
Log Message:
-----------
[NFC][libc++][chrono] Removes dead code. (#132104)
For certain time_points there are specializations of __convert_to_tm.
This means the non-specialized version is never called. This means some
of the `if constexpr` will never be true. These are removed.
Since there is a `static_assert` accidental removal of the
specialization will make the code ill-formed.
Commit: f60bec9b42dead6ad5a0dc4c9bd546671977df95
https://github.com/llvm/llvm-project/commit/f60bec9b42dead6ad5a0dc4c9bd546671977df95
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libcxx/include/chrono
Log Message:
-----------
[libc++][chrono] Adds a missing main include. (#132100)
Commit: 5f949924578c0314a1f7c3cfdd63b1ef8edb62ba
https://github.com/llvm/llvm-project/commit/5f949924578c0314a1f7c3cfdd63b1ef8edb62ba
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
Log Message:
-----------
[RISCV] isLoadFromStackSlot and isStoreToStackSlot for vector spill/fill (#132296)
This is an adapted version of arsenm's
https://github.com/llvm/llvm-project/pull/120524.
The intention of the change is to enable dead stack slot copy
elimination in StackSlotColoring for vector loads and stores. In terms
of testing, see stack-slot-coloring.mir. This has little impact on in
tree tests otherwise.
This change has a different and smaller set of test diffs then then
@arsenm's patch because I'm using scalable sizes for the LMULs, not a
single signal value. His patch allowed vector load/store pairs of
different width to be deleted, mine does not. There's also simply been a
lot of churn in regalloc behavior on these particular tests recently, so
that may explain some of the diff as well.
Commit: e1a16033dcb856669c97f35c09656db73bf36a73
https://github.com/llvm/llvm-project/commit/e1a16033dcb856669c97f35c09656db73bf36a73
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Sema/SemaX86.cpp
R clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2satcvtds-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2-satcvtds-64.txt
M llvm/test/MC/X86/avx10_2satcvtds-32-att.s
M llvm/test/MC/X86/avx10_2satcvtds-32-intel.s
M llvm/test/MC/X86/avx10_2satcvtds-64-att.s
M llvm/test/MC/X86/avx10_2satcvtds-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VCVTTP.*QS (#132414)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: b3e64fbc31702ea7e4d96fa410888a94223b599e
https://github.com/llvm/llvm-project/commit/b3e64fbc31702ea7e4d96fa410888a94223b599e
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.h
Log Message:
-----------
[ARM] Prepare for VariantKind to specifier rename. NFC
Commit: 1cbcaa458020d7fa2b9b5d91db609f5a81d59346
https://github.com/llvm/llvm-project/commit/1cbcaa458020d7fa2b9b5d91db609f5a81d59346
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[clang][dataflow] Add matcher for pointer-like types to be cached (#132314)
This is used e.g. for iterators.
Commit: 3b0ec611565ca603389db6d71e1c917f22439456
https://github.com/llvm/llvm-project/commit/3b0ec611565ca603389db6d71e1c917f22439456
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC] Redesign schedule bundle, separate from schedule data, NFC
That's the initial patch, intended to support revectorization of the
previously vectorized scalars. If the scalar is marked for the
vectorization, it becomes a part of the schedule bundle, used to check
dependencies and then schedule tree entry scalars into a single batch of
instructions. Unfortunately, currently this info is part of the
ScheduleData struct and it does not allow making scalars part of many
bundles. The patch separates schedule bundles from the ScheduleData,
introduces explicit class ScheduleBundle for bundles, allowing later to
extend it to support revectorization of the previously vectorized
scalars.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/131625
Commit: cb2ee1e64db663ec8b39554a3cf93cc924d89818
https://github.com/llvm/llvm-project/commit/cb2ee1e64db663ec8b39554a3cf93cc924d89818
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXPassRegistry.def
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
Log Message:
-----------
[NVPTX][NVPTXLowerArgs] Add NewPM interface for NVPTXLowerArgs (#128960)
Add a NewPM interface for NVPTXLowerArgs
Commit: b13373db251f4ee0e6471783ce8d86e74c3f1928
https://github.com/llvm/llvm-project/commit/b13373db251f4ee0e6471783ce8d86e74c3f1928
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.h
Log Message:
-----------
[SystemZ] Use hasAddressTaken() with verifyNarrowIntegerArgs (NFC). (#131039)
Use hasAddressTaken() in SystemZ instead of doing this computation in
isFullyInternal(), and make sure to only do this once per Function.
Commit: 993311799b8f12dfebdc7cb1ea5c06061df700c6
https://github.com/llvm/llvm-project/commit/993311799b8f12dfebdc7cb1ea5c06061df700c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M bolt/lib/Passes/PAuthGadgetScanner.cpp
Log Message:
-----------
[BOLT] Fix a warning
This patch fixes:
bolt/lib/Passes/PAuthGadgetScanner.cpp:438:18: error: unused
variable 'BC' [-Werror,-Wunused-variable]
Commit: 8d78b7cc7d6983a3984fefc056f28687a8a5cfc6
https://github.com/llvm/llvm-project/commit/8d78b7cc7d6983a3984fefc056f28687a8a5cfc6
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/IR/Type.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
Log Message:
-----------
[RISCV] Introduce RISCV::RVVBytesPerBlock to simplify code [nfc] (#132436)
Commit: a17b03f0e450eee8c8a2e0ec58bf2a1dede23aba
https://github.com/llvm/llvm-project/commit/a17b03f0e450eee8c8a2e0ec58bf2a1dede23aba
Author: lntue <lntue at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libc/config/darwin/arm/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/config/windows/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan.cpp
M libc/src/math/generic/atan2.cpp
A libc/src/math/generic/atan_utils.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/atan_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/atan_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][math] Implement fast pass for double precision atan function. (#132333)
Implement fast pass for double precision `atan` using range reduction
modulo 1/64 and degree-9 Taylor polynomial.
Relative error is bounded by 2^-66.
Commit: 312051591c0b99042b78ade7a17a7daaabbaa992
https://github.com/llvm/llvm-project/commit/312051591c0b99042b78ade7a17a7daaabbaa992
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .github/workflows/scorecard.yml
Log Message:
-----------
[Github] Fix scorecard action (#131472)
This patch fixes the scorecard action. It is currently failing with an
error due to the upload-artifact action being too far out of date.
https://github.com/llvm/llvm-project/actions/runs/13865016326/job/38802095257
is an example of a job failure.
This patch also bumps the other actions versions while we are at it.
Commit: 9f919661dd2ffe0f9666564e186da68fae401a9e
https://github.com/llvm/llvm-project/commit/9f919661dd2ffe0f9666564e186da68fae401a9e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
Log Message:
-----------
[Github] Bump most actions to ubuntu 24.04 (#131760)
This patch bumps most of the workflows to ubuntu 24.04, with the
exception of worklfows that depend on the CI container, which will need
to be updated separately before we are then able to use it for the other
workflows.
Commit: d6a2cca77e3c88755e0f6b0acefffdcfa5eb2fec
https://github.com/llvm/llvm-project/commit/d6a2cca77e3c88755e0f6b0acefffdcfa5eb2fec
Author: pzzp <pzzp11 at outlook.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGExprConstant.cpp
M llvm/include/llvm/IR/Constants.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[llvm:ir] Add support for constant data exceeding 4GiB (#126481)
The test file is over 4GiB, which is too big, so I didn’t submit it.
Commit: 5ecbf46f8645e6294fab129c989fca67fd85d689
https://github.com/llvm/llvm-project/commit/5ecbf46f8645e6294fab129c989fca67fd85d689
Author: metkarpoonam <poonammetkar at microsoft.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/asuint16.hlsl
A clang/test/SemaHLSL/BuiltIns/asuint16-errors.hlsl
Log Message:
-----------
Hlsl asuint16 function (#132315)
Implemented the asuint16 function and added test cases for codegen,
Sema, and SPIR-V backend.
fixes https://github.com/llvm/llvm-project/issues/99185
Commit: 0f400cb3ac2aebfde27324f871d86f94f355605a
https://github.com/llvm/llvm-project/commit/0f400cb3ac2aebfde27324f871d86f94f355605a
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_DispatchThreadID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupID.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/SV_GroupThreadID.ll
Log Message:
-----------
[SPIR-V] Don't add linkage attributes for input variables (#132301)
Fixes #131878
Commit: 3757ecf5f16c0d9b8cbfc1c9d41965df537d43e6
https://github.com/llvm/llvm-project/commit/3757ecf5f16c0d9b8cbfc1c9d41965df537d43e6
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
Log Message:
-----------
[HLSL] Add support for SV_GroupIndex in SPIR-V (#130672)
Lower the `SV_GroupIndex` semantic as the
`llvm.spv.flattened.thread.id.in.group` intrinsic.
Depends on #130670.
---------
Co-authored-by: Steven Perron <stevenperron at google.com>
Commit: 7f920e2e5f70b25c79adbc0b1005b1d1286d4681
https://github.com/llvm/llvm-project/commit/7f920e2e5f70b25c79adbc0b1005b1d1286d4681
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/lib/CodeGen/CGBuiltin.h
M clang/lib/CodeGen/CMakeLists.txt
A clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
A clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
A clang/lib/CodeGen/TargetBuiltins/PPC.cpp
A clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
A clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
A clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
A clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
A clang/lib/CodeGen/TargetBuiltins/X86.cpp
Log Message:
-----------
[NFC][clang] Split clang/lib/CodeGen/CGBuiltin.cpp into target-specific files (#132252)
clang/lib/CodeGen/CGBuiltin.cpp is over 1MB long (>23k LoC), and can
take minutes to recompile (depending on compiler and host system) when
modified, and 5 seconds for clangd to update for every edit. Splitting
this file was discussed in this thread:
https://discourse.llvm.org/t/splitting-clang-s-cgbuiltin-cpp-over-23k-lines-long-takes-1min-to-compile/
and the idea has received a number of +1 votes, hence this change.
Commit: c031579cb7d7f2d0cdcc0157ce780faf43f0d8ed
https://github.com/llvm/llvm-project/commit/c031579cb7d7f2d0cdcc0157ce780faf43f0d8ed
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Hoist reduction info from nested `loop` ops to parent `teams` ops (#132003)
Fixes a bug in reductions when converting `teams loop` constructs with
`reduction` clauses.
According to the spec (v5.2, p340, 36):
```
The effect of the reduction clause is as if it is applied to all leaf
constructs that permit the clause, except for the following constructs:
* ....
* The teams construct, when combined with the loop construct.
```
Therefore, for a combined directive similar to: `!$omp teams loop
reduction(...)`, the earlier stages of the compiler assign the
`reduction` clauses only to the `loop` leaf and not to the `teams` leaf.
On the other hand, if we have a combined construct similar to: `!$omp
teams distribute parallel do`, the `reduction` clauses are assigned both
to the `teams` and the `do` leaves. We need to match this behavior when
we convert `teams` op with a nested `loop` op since the target set of
constructs/ops will be incorrect without moving the reductions up to the
`teams` op as well.
This PR introduces a pattern that does exactly this. Given the following
input:
```
omp.teams {
omp.loop reduction(@red_sym %red_op -> %red_arg : !fir.ref<i32>) {
omp.loop_nest ... {
...
}
}
}
```
this pattern updates the `omp.teams` op in-place to:
```
omp.teams reduction(@red_sym %red_op -> %teams_red_arg : !fir.ref<i32>) {
omp.loop reduction(@red_sym %teams_red_arg -> %red_arg : !fir.ref<i32>) {
omp.loop_nest ... {
...
}
}
}
```
Note the following:
* The nested `omp.loop` is not rewritten by this pattern, this happens
through `GenericLoopConversionPattern`.
* The reduction info are cloned from the nested `omp.loop` op to the
parent `omp.teams` op.
* The reduction operand of the `omp.loop` op is updated to be the
**new** reduction block argument of the `omp.teams` op.
Commit: f1ac2afe213f2e438e2959fe54578776e6919fe2
https://github.com/llvm/llvm-project/commit/f1ac2afe213f2e438e2959fe54578776e6919fe2
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
M clang/test/Driver/hip-device-libs.hip
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
A llvm/test/CodeGen/AMDGPU/default_amdhsa_code_object_version.ll
Log Message:
-----------
Reapply "[AMDGPU] Use COV6 by default (#118515)" (#130963)
This reverts commit 68bcba6d7a1cc18996c0bcb7c62267c62d2040d0.
Commit: bf5648a3be313f65939c74e2690cb7e8058f5a13
https://github.com/llvm/llvm-project/commit/bf5648a3be313f65939c74e2690cb7e8058f5a13
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .github/workflows/issue-write.yml
Log Message:
-----------
[Github] Bump actions script version to v7 (#131471)
This patch bumps the actions script version in the issue-write workflow
to v7. This was done before but rolled back due to errors as there were
breaking changes in v5
(https://github.com/actions/github-script#breaking-changes-in-v5). This
was reverted in f984b47.
This patch makes the necessary changes to prevent job failures.
Fixes #130211.
Commit: 052a4b54a75364f13ea5001bba00691da4d8c239
https://github.com/llvm/llvm-project/commit/052a4b54a75364f13ea5001bba00691da4d8c239
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Clean up runtimes builds (#131913)
This patch cleans up the runtimes build in premerge due to queuing
delays, dropping the C++03 testing, but keeping the C++20 and Modules
configurations as they are deemed important by clang contributors.
This patch also makes it easier in the future when we need to rework the
runtimes build to anticipate the deprecation of building most of the
runtimes with LLVM_ENABLE_PROJECTS.
Commit: 6b00ae6359b6442b827d0961357a09ec8dce72a4
https://github.com/llvm/llvm-project/commit/6b00ae6359b6442b827d0961357a09ec8dce72a4
Author: Ethan Kaji <ethan.kaji at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] SDPatternMatch - add matchers for reassociatable binops (#119985)
fixes https://github.com/llvm/llvm-project/issues/118847
implements matchers for reassociatable opcodes as well as helpers for
commonly used reassociatable binary matchers.
---------
Co-authored-by: Min-Yih Hsu <min at myhsu.dev>
Commit: cf6c451a38ce786bbbf225509290c8d7f2695005
https://github.com/llvm/llvm-project/commit/cf6c451a38ce786bbbf225509290c8d7f2695005
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
Log Message:
-----------
[flang] set the paths for the symbol extracting tool (#131375)
This patch is to set the paths for tools used in the
`export_executable_symbols` function in standalone build and set the
necessary macros for compiling the runtime source.
Commit: 5b090793744ad892166e97a7b2c05ddf904d915b
https://github.com/llvm/llvm-project/commit/5b090793744ad892166e97a7b2c05ddf904d915b
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
Minor developer policy edits for clarity (#132313)
There should be no substantial policy change here.
I reordered the breaking change docs after the major change docs, since
that flow made sense to me. I smoothed out some of the incremental
development policy wording to be a bit less black and white, and talk
about "preferred" and "discouraged" approaches.
Commit: 900be712ce4fe56e2165bfe4e9213b555bfe3887
https://github.com/llvm/llvm-project/commit/900be712ce4fe56e2165bfe4e9213b555bfe3887
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][Linalg] Preserve encodings in static shape inference. (#132311)
Previously, the encodings are unconditionally dropped during the shape
inference. The revision adds the support for preserving the encodings in
the linalg ops.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 7606f6773cb5abe701b615b0bec54e68758955d7
https://github.com/llvm/llvm-project/commit/7606f6773cb5abe701b615b0bec54e68758955d7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Serialization/GeneratePCH.cpp
Log Message:
-----------
[clang] NFCI: Mutate `HeaderSearchOptions` earlier (#130823)
Commit: 896df5c4bf77a9a8933c0a5cfdcabccad4c50471
https://github.com/llvm/llvm-project/commit/896df5c4bf77a9a8933c0a5cfdcabccad4c50471
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/issue100880-mismatched-call-type.ll
A llvm/test/tools/llvm-reduce/operands-to-args-wrong-call-type-issue69312.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix assert if call type mismatches function type (#131981)
Commit: 72e596f35951e849de9fc739238e84ec1217b939
https://github.com/llvm/llvm-project/commit/72e596f35951e849de9fc739238e84ec1217b939
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Serialization/ASTReader.cpp
Log Message:
-----------
[clang] Make `HeaderSearchOptions` references const (#130825)
This PR makes the `HeaderSearchOptions` object referenced by
`HeaderSearch` constant. Depends on #130823.
Commit: 8d67d00a945d1b2b74b422edc8214cb1081e6487
https://github.com/llvm/llvm-project/commit/8d67d00a945d1b2b74b422edc8214cb1081e6487
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
gn build: libcxx: Select the std_thread pstl backend.
In the CMake build the default pstl backend for libc++ when threads are
enabled is std_thread. By selecting the wrong backend we were triggering
some transitive_includes test failures.
Reviewers: aeubanks, nico
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/132455
Commit: acdb0c1f99a50ef357ac75ae1151991ca40aba10
https://github.com/llvm/llvm-project/commit/acdb0c1f99a50ef357ac75ae1151991ca40aba10
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/unittests/Target/DirectX/CMakeLists.txt
Log Message:
-----------
[test][DXIL] Add to LLVM_LINK_COMPONENTS to fix BUILD_SHARED_LIBS build
Commit: ecaef010f31e2557d94b4d98774ca4b4d5fe2149
https://github.com/llvm/llvm-project/commit/ecaef010f31e2557d94b4d98774ca4b4d5fe2149
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M flang-rt/lib/cuda/memory.cpp
Log Message:
-----------
[flang][cuda] Support corner case of data transfer (#132451)
The flang runtime will complain when the number of elements in the two
descriptors involved in the data transfer are not matching.
In some cases, we can still perform the data transfer to match the
behavior of the reference compiler.
When the RHS elements count is bigger than the LHS elements count and
both descriptors are contiguous, we can perform the data transfer with
the bare pointers and the number of bytes from the LHS.
We don't really have unit tests set up for data transfer, this is why I
didn't include one here.
Commit: 98dc8bb892e984bc5dbd0f30f4c3a2876791c518
https://github.com/llvm/llvm-project/commit/98dc8bb892e984bc5dbd0f30f4c3a2876791c518
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.h
Log Message:
-----------
[clang-doc][NFC] fix description typo (#132310)
Fix the description typo for `JsScripts` in the context
discussed in #131280
Commit: 7c52886700a5a70d873400ec022a99d7dce8b03b
https://github.com/llvm/llvm-project/commit/7c52886700a5a70d873400ec022a99d7dce8b03b
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
M llvm/test/Transforms/LoopIdiom/strlen.ll
M llvm/test/Transforms/LoopIdiom/wcslen16.ll
M llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
[Transform] Clean up strlen loop idiom (#132421)
We should bailout of modifying the CFG if the library functions are not
emittable or disabled.
Commit: 44573bc1528831b13b17afac158f4860af42570e
https://github.com/llvm/llvm-project/commit/44573bc1528831b13b17afac158f4860af42570e
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Sema/HeuristicResolver.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
Log Message:
-----------
[clang][HeuristicResolver] Default argument heuristic for template parameters (#132465)
Fixes https://github.com/clangd/clangd/discussions/1056
Commit: 718838d128f201279c489f0a2959fec4f47a42be
https://github.com/llvm/llvm-project/commit/718838d128f201279c489f0a2959fec4f47a42be
Author: metkarpoonam <poonammetkar at microsoft.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/asint16.hlsl
A clang/test/SemaHLSL/BuiltIns/asint16-errors.hlsl
M llvm/test/CodeGen/SPIRV/bitcast.ll
Log Message:
-----------
Hlsl asint16 intrinsic (#131900)
Implemented the asint16 function and added test cases for codegen, Sema,
and SPIR-V backend.
fixes https://github.com/llvm/llvm-project/issues/99184
---------
Co-authored-by: Ashley Coleman <ascoleman at microsoft.com>
Commit: 6419905f53d4dbdb9d49358115ccba873f674dd4
https://github.com/llvm/llvm-project/commit/6419905f53d4dbdb9d49358115ccba873f674dd4
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Correct qc.e.li instruction definition (#132380)
The instruction has no tied operands. It was incorrectly using
QCIRVInstEAI which has a tied operand for the destination register.
Commit: 4517a332df63e4c77ff7dbdb12b428613d45fd62
https://github.com/llvm/llvm-project/commit/4517a332df63e4c77ff7dbdb12b428613d45fd62
Author: Paddy McDonald <paddy_mcdonald at apple.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
Log Message:
-----------
[Darwin][ASan][Test] Create a unoptimized wrapper function in unsanitized dylib for reliable suppression in test. (#131906)
CFStringCreateWithBytes may not always appear on stack due to
optimizations.
Create a wrapper function for the purposes of testing suppression files
that will always appear on stack for test stability.
Test should be suppressing ASan for a function outside of sanitized
code.
Update function to be extern "C" to match function decoration in
original framework and avoid the leak caused by DemangleCXXABI.
rdar://144800068
Commit: df4257b03824f8e4ff4e06d7dff1bed153a9862d
https://github.com/llvm/llvm-project/commit/df4257b03824f8e4ff4e06d7dff1bed153a9862d
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/Headers/avx10_2satcvtintrin.h
M clang/lib/Sema/SemaX86.cpp
R clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
M llvm/include/llvm/IR/IntrinsicsX86.td
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/lib/Target/X86/X86IntrinsicsInfo.h
M llvm/test/CodeGen/X86/avx10_2satcvt-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2-satcvt-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2-satcvt-64.txt
M llvm/test/MC/X86/avx10.2satcvt-32-att.s
M llvm/test/MC/X86/avx10.2satcvt-32-intel.s
M llvm/test/MC/X86/avx10.2satcvt-64-att.s
M llvm/test/MC/X86/avx10.2satcvt-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Remove YMM rounding from VCVT[,T]PS2I[,U]BS (#132426)
Ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
Commit: c0b2c10e9f3a939c227a26aec3ba377f7cc25667
https://github.com/llvm/llvm-project/commit/c0b2c10e9f3a939c227a26aec3ba377f7cc25667
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M lld/ELF/Arch/Hexagon.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/emulation-hexagon.s
M lld/test/ELF/hexagon-eflag.s
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/test/CodeGen/Hexagon/arg-copy-elison.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/Hexagon/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/Hexagon/bank-conflict.mir
M llvm/test/CodeGen/Hexagon/branchfolder-insert-impdef.mir
M llvm/test/CodeGen/Hexagon/fixed-spill-mutable.ll
M llvm/test/CodeGen/Hexagon/isel-memory-vNi1.ll
M llvm/test/CodeGen/Hexagon/isel/logical.ll
M llvm/test/CodeGen/Hexagon/isel/select-i1.ll
M llvm/test/CodeGen/Hexagon/postinc-baseoffset.mir
M llvm/test/CodeGen/Hexagon/setmemrefs.ll
M llvm/test/MC/Hexagon/arch-support.s
M llvm/test/MC/Hexagon/hexagon_attributes.s
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.generated.expected
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.nogenerated.expected
Log Message:
-----------
[hexagon] Bump the default version to v68 (#132304)
Set the default processor version to v68 when the user does not specify
one in the command line. This includes changes in the LLVM backed and
linker (lld). Since lld normally sets the version based on inputs, this
change will only affect cases when there are no inputs.
Fixes #127558
Commit: 4adefcfb856aa304b7b0a9de1eec1814f3820e83
https://github.com/llvm/llvm-project/commit/4adefcfb856aa304b7b0a9de1eec1814f3820e83
Author: vporpo <vporpodas at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/EphemeralValuesCache.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/lib/Analysis/EphemeralValuesCache.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
M llvm/unittests/Analysis/EphemeralValuesCacheTest.cpp
Log Message:
-----------
[Analysis][EphemeralValuesAnalysis][NFCI] Remove EphemeralValuesCache class (#132454)
This is a follow-up to https://github.com/llvm/llvm-project/pull/130210.
The EphemeralValuesAnalysis pass used to return an EphemeralValuesCache
object which used to hold the ephemeral values and used to provide a
lazy collection of the ephemeral values, and an invalidation using the
`clear()` function.
This patch removes the EphemeralValuesCache class completely and instead
returns the SmallVector containing the ephemeral values.
Commit: 619ba920efc25aebb5e7e9e7a777964588616441
https://github.com/llvm/llvm-project/commit/619ba920efc25aebb5e7e9e7a777964588616441
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
Log Message:
-----------
[libclang/python] Change all global variables to snake case (#132378)
Commit: 17b5d6b2420ea3f1638b62a3b721c355be533dcd
https://github.com/llvm/llvm-project/commit/17b5d6b2420ea3f1638b62a3b721c355be533dcd
Author: lntue <lntue at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[libc] Temporarily disable the type trait test affected by issue 132494. (#132501)
This test causes clang to crash due to #132494.
Commit: 3840f787a21a66686f5d8bf61877d41f3a65f205
https://github.com/llvm/llvm-project/commit/3840f787a21a66686f5d8bf61877d41f3a65f205
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcisync-invalid.s
A llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcisync (Sync Delay) extension (#132184)
This extension adds nine instructions, eight for non-memory-mapped
devices synchronization and delay instruction.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: fe7776eab87b3c79372b2056a6e0dd9ef1c4b10e
https://github.com/llvm/llvm-project/commit/fe7776eab87b3c79372b2056a6e0dd9ef1c4b10e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
R llvm/test/MC/RISCV/xqcisync-invalid.s
R llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
Revert "[RISCV] Add Qualcomm uC Xqcisync (Sync Delay) extension (#132184)"
This reverts commit 3840f787a21a66686f5d8bf61877d41f3a65f205.
Multiple builtbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132184
Commit: b9180c5cc647af06eadba81a976bf9041a94e203
https://github.com/llvm/llvm-project/commit/b9180c5cc647af06eadba81a976bf9041a94e203
Author: tltao <tony.le.tao at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
Log Message:
-----------
[SystemZ] Move some SystemZTargetStreamer classes to proper file (#132476)
Now that we have a SystemZTargetStreamer file from
https://github.com/llvm/llvm-project/pull/130535, move some
TargetStreamer classes and methods from TargetDesc to the proper file.
---------
Co-authored-by: Tony Tao <tonytao at ca.ibm.com>
Commit: 45270853192db53022ccadf4767999af4fe4e332
https://github.com/llvm/llvm-project/commit/45270853192db53022ccadf4767999af4fe4e332
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/member-pointer.cpp
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[clang] diagnose invalid member pointer class on instantiation (#132516)
Commit: f459cfed7b017ab57b8e825fc0198f89288168a4
https://github.com/llvm/llvm-project/commit/f459cfed7b017ab57b8e825fc0198f89288168a4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#132511)
Commit: 597accfea6150e77304427fb97d0c3798178e040
https://github.com/llvm/llvm-project/commit/597accfea6150e77304427fb97d0c3798178e040
Author: Ben Shi <2283975856 at qq.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/test/CodeGen/avr/argument.c
Log Message:
-----------
[clang][CodeGen][AVR] Fix a crash in AVRABIInfo (#131976)
fixes https://github.com/llvm/llvm-project/issues/131967
Commit: 34f80126e9cc11a82825dd503c28942145dce8c8
https://github.com/llvm/llvm-project/commit/34f80126e9cc11a82825dd503c28942145dce8c8
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/test/MC/ARM/symbol-variants.s
Log Message:
-----------
[ARM] Improve STT_TLS tests and remove unsupported (tlsld) specifier
Test that symbols referenced through TLS-specific relocation specifiers
are set STT_TLS. As a minor issue, (tlsldo) does not set STT_TLS yet.
(tlsld) is not a valid specifier.
Commit: e7107973b83b7053f3ba92a40a33a27db0c90529
https://github.com/llvm/llvm-project/commit/e7107973b83b7053f3ba92a40a33a27db0c90529
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcisync-invalid.s
A llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
Recommit "[RISCV] Add Qualcomm uC Xqcisync (Sync Delay) extension (#132184)" (#132520)
With a minor fix for the build failures.
Original message:
This extension adds nine instructions, eight for non-memory-mapped devices synchronization and delay instruction.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli quic_svs at quicinc.com
Commit: dad7f799b4b7ad85472cebf7e0b433e8067894ae
https://github.com/llvm/llvm-project/commit/dad7f799b4b7ad85472cebf7e0b433e8067894ae
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/test/MC/ARM/fdpic.s
M llvm/test/MC/ARM/symbol-variants.s
Log Message:
-----------
[ARM] Set STT_TLS for a few relocation specifiers
Symbols referenced through TLSLDO and FDPIC TLS-specific specifiers
should be set to STT_TLS as well.
Commit: 4b417992dd95060f5815fdfacb08f1c898f85b41
https://github.com/llvm/llvm-project/commit/4b417992dd95060f5815fdfacb08f1c898f85b41
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/X86/X86TargetObjectFile.cpp
Log Message:
-----------
[CodeGen] Rename PLTRelativeVariantKind. NFC
Migrate away from the deprecated MCSymbolRefExpr::VariantKind.
The name "Specifier" is utilized in a few *MCExpr.
> "Relocation specifier" is clear, aligns with Arm and IBM AIX's documentation, and fits the assembler's role seamlessly.
Commit: 1edefc3ea056ea32984a20eabd848d36d8d43be3
https://github.com/llvm/llvm-project/commit/1edefc3ea056ea32984a20eabd848d36d8d43be3
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
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/ARMMCExpr.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
Log Message:
-----------
Move ARM-specific MCSymbolRefExpr::VariantKind to ARMMCExpr::Specifier
Similar to previous migration done for other targets (PowerPC, X86,
etc).
Note: ARMELFObjectWriter::needsRelocateWithSymbol is conservative and
already includes most specifiers.
Commit: d67951694b3c7e918b9a5e6a0e6e346e42d72755
https://github.com/llvm/llvm-project/commit/d67951694b3c7e918b9a5e6a0e6e346e42d72755
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Support overlapping regions in __builtin_memmove (#132523)
Unfortunately, a few circumstances make the implementation here less
than ideal, but we need to handle overlapping regions anyway.
Commit: 1d133420dc512487e2be0e9d86755f2a7c3497a7
https://github.com/llvm/llvm-project/commit/1d133420dc512487e2be0e9d86755f2a7c3497a7
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-21 (Fri, 21 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
[MC] Use FirstTargetSpecifier
Commit: 20b5728b7b1ccc4509a316efb270d46cc9526d69
https://github.com/llvm/llvm-project/commit/20b5728b7b1ccc4509a316efb270d46cc9526d69
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/attribute.s
M llvm/test/MC/RISCV/option-arch.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Implement the implications of C extension (#132259)
Implement the following implications according to the [Zc
spec](https://github.com/riscvarchive/riscv-code-size-reduction/blob/main/Zc-specification/Zc.adoc#13-c)
> As C defines the same instructions as Zca, Zcf and Zcd, the rule is
that:
> * C always implies Zca
> * C+F implies Zcf (RV32 only)
> * C+D implies Zcd
Commit: 6c8e9a6192a812237415d7d03d5ae234bc244c97
https://github.com/llvm/llvm-project/commit/6c8e9a6192a812237415d7d03d5ae234bc244c97
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Add assert to ptrauth_string_discriminator (#132527)
As pointed out by @shafik, this confuses static analysis and most
probably humans as well. Add an assertion to ensure the given array has
at least one element.
Commit: a27da0a20cbfb9f0c600d53bf2520f068b222f59
https://github.com/llvm/llvm-project/commit/a27da0a20cbfb9f0c600d53bf2520f068b222f59
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
A llvm/test/Bitcode/DW_AT_APPLE_enum_kind.ll
Log Message:
-----------
[llvm][MetadataLoader] Make sure we correctly load DW_APPLE_ENUM_KIND from bitcode (#132374)
This was pointed out in
https://github.com/llvm/llvm-project/pull/124752#issuecomment-2730052773
There was no test that roundtrips this attribute through LLVM bitcode,
so this was never caught.
Commit: 2f2100c879a8c1644e42fb191e88773a77fe886a
https://github.com/llvm/llvm-project/commit/2f2100c879a8c1644e42fb191e88773a77fe886a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[LV] Add additional tests for #106441.
Further increase test coverage for
https://github.com/llvm/llvm-project/pull/106441
Also regenerate checks with -filter-out-after.
Commit: dd97324f119af515944b7ec79fe627cfa70d4a2a
https://github.com/llvm/llvm-project/commit/dd97324f119af515944b7ec79fe627cfa70d4a2a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libc++][CI] Adds GCC trunk image. (#132271)
As discussed during the last monthly meeting we want to be able to test
the GCC development version in our CI, but we don't want to commit to
support this compiler version.
This adds the image to the CI Docker image. At the moment GCC-15 will
not pass the CI. Having it in the Docker image makes it possible to
validate fixes.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Co-authored-by: Hristo Hristov <hghristov.rmm at gmail.com>
Commit: 1fdd8cb91e88cf9e71701bd286e2dee98e48540f
https://github.com/llvm/llvm-project/commit/1fdd8cb91e88cf9e71701bd286e2dee98e48540f
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
M llvm/test/Transforms/LoopIdiom/strlen.ll
M llvm/test/Transforms/LoopIdiom/wcslen16.ll
M llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
Revert "[Transform] Clean up strlen loop idiom (#132421)"
This reverts commit 7c52886700a5a70d873400ec022a99d7dce8b03b.
Reverting this as I have to revert another preceding commit,
ac9049df7e62e2ca4dc5d103593b51639b5715e3.
Commit: 2a4522229c7b744dcd268a790ba61e4eb2bfa315
https://github.com/llvm/llvm-project/commit/2a4522229c7b744dcd268a790ba61e4eb2bfa315
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/LoopIdiomRecognize.h
M llvm/include/llvm/Transforms/Utils/BuildLibCalls.h
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Utils/BuildLibCalls.cpp
R llvm/test/Transforms/LoopIdiom/strlen-not-emittable.ll
R llvm/test/Transforms/LoopIdiom/strlen.ll
R llvm/test/Transforms/LoopIdiom/wcslen16.ll
R llvm/test/Transforms/LoopIdiom/wcslen32.ll
Log Message:
-----------
Revert "Reland "[Transforms] LoopIdiomRecognize recognize strlen and wcslen (#108985)" (#131412)"
This reverts commit ac9049df7e62e2ca4dc5d103593b51639b5715e3.
This change broke Wine (causing it to hang on startup), see
https://github.com/llvm/llvm-project/pull/108985 for discussion.
Commit: 2909c420f6b1919989819d91d5194d5d50f3910d
https://github.com/llvm/llvm-project/commit/2909c420f6b1919989819d91d5194d5d50f3910d
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
Log Message:
-----------
[clang-tidy] modernize-use-starts-ends-with: fix false positives on `find` and `rfind` (#129564)
Also document cases with two or three arguments (matching default arguments)
this check matches.
Closes https://github.com/llvm/llvm-project/issues/129498.
Commit: fbaf3b895c028c055290588221cde3f5146cd661
https://github.com/llvm/llvm-project/commit/fbaf3b895c028c055290588221cde3f5146cd661
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M lld/test/ELF/lto/riscv-attributes.ll
M lld/test/ELF/riscv-attributes.s
Log Message:
-----------
[RISCV] Update lld tests for the C ext implication change (#132541)
Commit: f138e36d522ea5b7d6e8cb614246cc457b696df6
https://github.com/llvm/llvm-project/commit/f138e36d522ea5b7d6e8cb614246cc457b696df6
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/test/CodeGen/RISCV/rvv/stores-of-loads-merging.ll
Log Message:
-----------
[SelectionDAG][RISCV] Avoid store merging across function calls (#130430)
This patch improves DAGCombiner's handling of potential store merges by
detecting function calls between loads and stores. When a function call
exists in the chain between a load and its corresponding store, we avoid
merging these stores if the spilling is unprofitable.
We had to implement a hook on TLI, since TTI is unavailable in
DAGCombine. Currently, it's only enabled for riscv.
This is the DAG equivalent of PR #129258
Commit: 51aab96ebfc309caef9f98841a8b14848e6c5077
https://github.com/llvm/llvm-project/commit/51aab96ebfc309caef9f98841a8b14848e6c5077
Author: Stephan T. Lavavej <stl at nuwen.net>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
M libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
Log Message:
-----------
[libc++][test] Small fixes for time tests (#132532)
* Fix copy-paste damage in `formatter.tai_time.pass.cpp`.
+ Comparing the `#if` to the `#else` case, it's clear that this
half-copied check should be removed.
* Mark `is_steady` as `[[maybe_unused]]`.
+ It's only used within `LIBCPP_STATIC_ASSERT`.
Commit: c51d396f4dec65bac24e00ace3f5ce5582d2c699
https://github.com/llvm/llvm-project/commit/c51d396f4dec65bac24e00ace3f5ce5582d2c699
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/placement-new.cpp
Log Message:
-----------
[clang][bytecode] Fix __builtin_memmove type diagnostics (#132544)
Set the source type when allocating primitives so we can later retrieve
it.
Commit: 2186199d085b80fe5d254148c0e1f99412da9026
https://github.com/llvm/llvm-project/commit/2186199d085b80fe5d254148c0e1f99412da9026
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/debugloc.ll
Log Message:
-----------
[LV] Add test showing missing debug location on VPScalarIVStepsRecipe.
Commit: 032ad590d6bac76965fac17b9f2ce41e076a5a0a
https://github.com/llvm/llvm-project/commit/032ad590d6bac76965fac17b9f2ce41e076a5a0a
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/ctad.cpp
Log Message:
-----------
[Clang] Fix various bugs in alias CTAD transform (#132061)
Commit: c5d4dfb291af1f9c099c25b78dd2ea0a6496a45f
https://github.com/llvm/llvm-project/commit/c5d4dfb291af1f9c099c25b78dd2ea0a6496a45f
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
Log Message:
-----------
[Clang][NFC] Use MarkUsedTemplateParameters in building alias CTAD guides (#132369)
It turns out that TemplateParamsReferencedInTemplateArgumentList() and
MarkUsedTemplateParameters() have the similar goal, so let's drop the
hand-written ASTVisitor.
Commit: c6c394634c46156313cfbcaf87678f25e0245dbe
https://github.com/llvm/llvm-project/commit/c6c394634c46156313cfbcaf87678f25e0245dbe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
M clang/tools/libclang/Indexing.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/utils/TableGen/NeonEmitter.cpp
Log Message:
-----------
[clang] Use *Set::insert_range (NFC) (#132507)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
This patch does not touch custom begin like succ_begin for now.
Commit: 1b189cab5e582a183f6946dcb3e20913add58476
https://github.com/llvm/llvm-project/commit/1b189cab5e582a183f6946dcb3e20913add58476
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInsertDelayAlu.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#132509)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch uses insert_range in
conjunction with llvm::{predecessors,successors} and
MachineBasicBlock::{predecessors,successors}.
Commit: 2fa59b3371e6d749436d56057c54bcbf89c6995b
https://github.com/llvm/llvm-project/commit/2fa59b3371e6d749436d56057c54bcbf89c6995b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#132512)
Commit: cb729be11cbfb4f0f180e683e2c2d2a3750d4374
https://github.com/llvm/llvm-project/commit/cb729be11cbfb4f0f180e683e2c2d2a3750d4374
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GCMetadata.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#132513)
Commit: d8d2e7c4914ca03e68546898ef37ba3ed038b8b9
https://github.com/llvm/llvm-project/commit/d8d2e7c4914ca03e68546898ef37ba3ed038b8b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#132514)
Commit: 547181005a5e36efcc500ef45d67b6c200a7f87e
https://github.com/llvm/llvm-project/commit/547181005a5e36efcc500ef45d67b6c200a7f87e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#132515)
Commit: 2b69a499407a2bfa55f20486e7810b91f20ea910
https://github.com/llvm/llvm-project/commit/2b69a499407a2bfa55f20486e7810b91f20ea910
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Support/SuffixTree.cpp
Log Message:
-----------
[Support] Avoid repeated hash lookups (NFC) (#132517)
Commit: 5999be0f4770e9dd0f88ee9051a37119c8f5a1e4
https://github.com/llvm/llvm-project/commit/5999be0f4770e9dd0f88ee9051a37119c8f5a1e4
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/test/SemaCXX/member-pointer.cpp
Log Message:
-----------
[clang] fix RecursiveASTVisitor traversal from type to decl (#132551)
Commit: 5fc891b965223d66b552397e49fb4b09d781d5da
https://github.com/llvm/llvm-project/commit/5fc891b965223d66b552397e49fb4b09d781d5da
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode][NFC] Use getElemType() in __builtin_memchr as well (#132550)
For consistency.
Commit: 34631744af05ce59a94e736eb7feb4ac69677fbe
https://github.com/llvm/llvm-project/commit/34631744af05ce59a94e736eb7feb4ac69677fbe
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Get DataLayout from SE in VPExpandSCEVRecipe::execute (NFC)
This doesn't rely on State.CFG.
Commit: 868c89ff0e0ef09ac504873cb9bab8197f5fca2d
https://github.com/llvm/llvm-project/commit/868c89ff0e0ef09ac504873cb9bab8197f5fca2d
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/test/SemaCXX/ctad.cpp
Log Message:
-----------
[Clang] Fix a bot failure after 032ad590 (#132555)
See
https://github.com/llvm/llvm-project/pull/132061?notification_referrer_id=NT_kwDOBv04MLUxNTM5NjQwOTM5MToxMTcyNTgyODg#issuecomment-2745313527
Commit: ccc18ca1479dee73b0fdafa75d9403c50c17ee28
https://github.com/llvm/llvm-project/commit/ccc18ca1479dee73b0fdafa75d9403c50c17ee28
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
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/RISCVMCAsmInfo.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/RISCVTargetObjectFile.cpp
Log Message:
-----------
[RISCV] Move VK_GOTPCREL and VK_PLT to RISCVMCExpr::Specifier
to migrate away from the deprecated MCSymbolRefExpr::VariantKind. In the
future, @GOTPCREL and @PLT in data directives should be encoded as part
of RISCVMCExpr instead of MCSymbolRefExpr.
Commit: db7475a770c360a42560aa01859d5dcbb808ade8
https://github.com/llvm/llvm-project/commit/db7475a770c360a42560aa01859d5dcbb808ade8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/literals.cpp
Log Message:
-----------
[clang][bytecode] Ignore overflow in unary operators if requested (#132557)
Add PreInc and PreDec ops for this purpose and ignore the overflow if
UnaryOperator::canOverflow() returns false.
Commit: 973ea045aa89febc533cea165e78686e976b3805
https://github.com/llvm/llvm-project/commit/973ea045aa89febc533cea165e78686e976b3805
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/EphemeralValuesCache.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/lib/Analysis/EphemeralValuesCache.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Transforms/IPO/Inliner.cpp
M llvm/test/Transforms/Inline/cgscc-incremental-invalidate.ll
M llvm/unittests/Analysis/EphemeralValuesCacheTest.cpp
Log Message:
-----------
Revert "[Analysis][EphemeralValuesAnalysis][NFCI] Remove EphemeralValuesCache class (#132454)"
This reverts commit 4adefcfb856aa304b7b0a9de1eec1814f3820e83.
Commit: fb44c54d656135a306e403083b5c1eaae9078757
https://github.com/llvm/llvm-project/commit/fb44c54d656135a306e403083b5c1eaae9078757
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/features-info.ll
Log Message:
-----------
[RISCV] Add missing space to optimized-nf*-segment-load-store description. NFC (#132531)
Commit: adcaf1769dea988e13615ef088ff22629966de00
https://github.com/llvm/llvm-project/commit/adcaf1769dea988e13615ef088ff22629966de00
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M libc/docs/uefi/index.rst
Log Message:
-----------
[libc] [NFC] fix type in `docs/uefi/index.rst` (#132553)
Closes #132537
Commit: 6e4e88d4cccb4903dff4144cd86c4f966e4ae09c
https://github.com/llvm/llvm-project/commit/6e4e88d4cccb4903dff4144cd86c4f966e4ae09c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
A llvm/test/MC/RISCV/data-directive-specifier.s
R llvm/test/MC/RISCV/elf-reloc-got32-pcrel.s
R llvm/test/MC/RISCV/elf-reloc-plt32.s
Log Message:
-----------
[test] Improve R_RISCV_PLT32 and R_RISCV_GOT32_PCREL tests
Commit: f3e8e805630e5092458a80e00ba83f7ad45e2302
https://github.com/llvm/llvm-project/commit/f3e8e805630e5092458a80e00ba83f7ad45e2302
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[llvm] Construct SmallVector with ArrayRef (NFC) (#132560)
Commit: 5d540430069795fe149f953bc1f892cf3e77b2ee
https://github.com/llvm/llvm-project/commit/5d540430069795fe149f953bc1f892cf3e77b2ee
Author: Rynco Maekawa <lynzrand at outlook.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/test/Bindings/OCaml/core.ml
Log Message:
-----------
[bindings] Add `global_set_metadata` for function debuginfo
Reviewed by: Alan Hu <ahulambda at gmail.com>
Commit: 0d3ba087f706b12a1b091ea5bc5f48876e1ab67c
https://github.com/llvm/llvm-project/commit/0d3ba087f706b12a1b091ea5bc5f48876e1ab67c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
Log Message:
-----------
[LV] Move IV bypass value creation out of ILV (NFC)
createInductionAdditionalBypassValues is only used for epilogue
vectorization now. Move it out of ILV, which means we do not have to
thread through ExpandedSCEVs and also don't have to track the bypass
values in ILV. Instead, directly create them if needed after executing
the epilogue plan. This moves more the epilogue specific logic out of
the generic executePlan.
Commit: dfa665f19c52d98b8d833a8e9073427ba5641b19
https://github.com/llvm/llvm-project/commit/dfa665f19c52d98b8d833a8e9073427ba5641b19
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
[VPlan] Add transformation to narrow interleave groups. (#106441)
This patch adds a new narrowInterleaveGroups transfrom, which tries
convert a plan with interleave groups with VF elements to a plan that
instead replaces the interleave groups with wide loads and stores
processing VF elements.
This effectively is a very simple form of loop-aware SLP, where we
use interleave groups to identify candidates.
This initial version is quite restricted and hopefully serves as a
starting point for how to best model those kinds of transforms.
Depends on https://github.com/llvm/llvm-project/pull/106431.
Fixes https://github.com/llvm/llvm-project/issues/82936.
PR: https://github.com/llvm/llvm-project/pull/106441
Commit: 616737c386776b0cfbda888a4d52e6036ccf1af8
https://github.com/llvm/llvm-project/commit/616737c386776b0cfbda888a4d52e6036ccf1af8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Use std:vector instead of SmallVector for the list of CompressPatterns. NFC
There are very likely more than 4 compress patterns.
Commit: f9898cf6a826c080547bd82200a197991d23cdda
https://github.com/llvm/llvm-project/commit/f9898cf6a826c080547bd82200a197991d23cdda
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/test/MC/SystemZ/fixups.s
Log Message:
-----------
[SystemZ,test] Test section symbol and STT_TLS adjustment
Commit: 41b572b99cd5f222330effa323af9c4da8d73e10
https://github.com/llvm/llvm-project/commit/41b572b99cd5f222330effa323af9c4da8d73e10
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/examples/OrcV2Examples/LLJITWithLazyReexports/LLJITWithLazyReexports.cpp
Log Message:
-----------
[ORC][examples] Simplify example -- LLJIT already has a mangleAndIntern method.
We don't need a separate MangleAndInterner here any more.
Commit: f3f0b99b1c7520b065cf79f0e0901fc8d2c1d4ec
https://github.com/llvm/llvm-project/commit/f3f0b99b1c7520b065cf79f0e0901fc8d2c1d4ec
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 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
A llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
A llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
Log Message:
-----------
[M68k] Add stub M68kMCExpr and migrate away from MCSymbolRefExpr::VariantKind
Similar to previous migration done for other targets (PowerPC, X86, ARM,
etc).
In the future, relocation specifiers should be encoded as part of
M68kMCExpr instead of MCSymbolRefExpr.
Commit: f73da649cb5742963a641cb21a2dde4c1beb908a
https://github.com/llvm/llvm-project/commit/f73da649cb5742963a641cb21a2dde4c1beb908a
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M compiler-rt/cmake/base-config-ix.cmake
M llvm/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
Revert "[compiler-rt] Disable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#131200)" (#132574)
…
This reverts commit 8e773d8a10cc996fbbe834f59ed9f7044c3539e0.
Commit: b19b6d9fab0bd9a1650ea1a1d631fc31d0f7fbae
https://github.com/llvm/llvm-project/commit/b19b6d9fab0bd9a1650ea1a1d631fc31d0f7fbae
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/ELFObjectWriter.cpp
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/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/SystemZMCInstLower.h
M llvm/lib/Target/SystemZ/SystemZTargetObjectFile.cpp
Log Message:
-----------
Move SystemZ-specific MCSymbolRefExpr::VariantKind to SystemZMCExpr::Specifier
Similar to previous migration done for other targets (PowerPC, X86, ARM,
etc). Switch from the confusing VariantKind to Specifier, which aligns
with Arm and IBM AIX's documentation.
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
In the future, relocation specifiers should be encoded as part of
SystemZMCExpr instead of MCSymbolRefExpr.
Commit: 4379d22013185221e09ec0c2cbbaf006323f64b5
https://github.com/llvm/llvm-project/commit/4379d22013185221e09ec0c2cbbaf006323f64b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[ADT] Add DenseSet(llvm::from_t, Range) (#131832)
This patch adds a constructor of the form:
DenseSet Set(llvm::from_range, Range)
while forward-porting std::from_range from c++23.
Commit: 417390d77d6f828a2f2341e0565784c677ef13ab
https://github.com/llvm/llvm-project/commit/417390d77d6f828a2f2341e0565784c677ef13ab
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
A llvm/test/MC/M68k/Relocations/tls.s
Log Message:
-----------
[M68k] Set STT_TLS for TLS relocations
Commit: ee3e17d67f6ce37a4a78d023a361c10d7398e15f
https://github.com/llvm/llvm-project/commit/ee3e17d67f6ce37a4a78d023a361c10d7398e15f
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/acoshf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acoshf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acoshf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acoshf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add acoshf16 C23 math function. (#130588)
Implementation of acoshf16 function for 16-bit inputs.
Commit: 445837a3630520e9292b84b6b8dc0f86d2eccbae
https://github.com/llvm/llvm-project/commit/445837a3630520e9292b84b6b8dc0f86d2eccbae
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
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/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/fmaf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fmaf16.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/FmaTest.h
A libc/test/src/math/fmaf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FmaTest.h
A libc/test/src/math/smoke/fmaf16_test.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
[libc][math][c23] Add fmaf16 C23 math function. (#130757)
Implementation of fmaf16 function for 16-bit inputs.
Commit: 8ec96cc8866769b6bd17648a922ad1c0b9a39e69
https://github.com/llvm/llvm-project/commit/8ec96cc8866769b6bd17648a922ad1c0b9a39e69
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
[LoongArch] Move STT_TLS setting from fixELFSymbolsInTLSFixups to getRelocType
The legacy generic code uses `ELFObjectWriter::fixSymbolsInTLSFixups` to
set `STT_TLS` (and use an unnecessary expression walk). The better way
is to do this in `getRelocType`, which I have done for AArch64, PowerPC,
RISC-V, and X86.
Commit: 0a0f691af6468372d2f5d31b83317fcc263e89d4
https://github.com/llvm/llvm-project/commit/0a0f691af6468372d2f5d31b83317fcc263e89d4
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
Log Message:
-----------
[Hexagon] Move STT_TLS setting from fixELFSymbolsInTLSFixups to getRelocType
The legacy generic code uses `ELFObjectWriter::fixSymbolsInTLSFixups` to
set `STT_TLS` (and use an unnecessary expression walk). The better way
is to do this in `getRelocType`, which I have done for AArch64, PowerPC,
RISC-V, and X86.
Commit: 75f5a4f0dc7d96134cca86543ef3f86ef218ce77
https://github.com/llvm/llvm-project/commit/75f5a4f0dc7d96134cca86543ef3f86ef218ce77
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
Log Message:
-----------
[VE] Move STT_TLS setting from fixELFSymbolsInTLSFixups to getRelocType
The legacy generic code uses `ELFObjectWriter::fixSymbolsInTLSFixups` to
set `STT_TLS` (and use an unnecessary expression walk). The better way
is to do this in `getRelocType`, which I have done for AArch64, PowerPC,
RISC-V, and X86.
Commit: 8553fafff0f3ee9576fe6ff02d63f6e3197ca010
https://github.com/llvm/llvm-project/commit/8553fafff0f3ee9576fe6ff02d63f6e3197ca010
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCELFObjectWriter.h
M llvm/lib/MC/ELFObjectWriter.cpp
Log Message:
-----------
[MC] Remove ELFObjectWriter::fixSymbolsInTLSFixups
Finish the migration started by
eea7d32bd262bb5f61790c42ebaa147aa26c3979.
STT_TLS setting has been moved to backend getRelocType.
75f5a4f0dc7d96134cca86543ef3f86ef218ce77 migrated the last target, VE.
Commit: ebcf1de065266c4c1b3f1a5b48ad7ced02e153c1
https://github.com/llvm/llvm-project/commit/ebcf1de065266c4c1b3f1a5b48ad7ced02e153c1
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
Log Message:
-----------
[libc][math] Disable acoshf16 Test on AArch64 to resolve test failures. (#132580)
Commit: 88601d97a4b33ff157d3ffe8a9026c5e8162851b
https://github.com/llvm/llvm-project/commit/88601d97a4b33ff157d3ffe8a9026c5e8162851b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/CSKY/CSKYAsmPrinter.cpp
M llvm/lib/Target/CSKY/CSKYMCInstLower.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.h
Log Message:
-----------
[CSKY] Rename VK_CSKY_ to VK_ and VariantKind to Specifier
Similar to the simplification for RISCV and other targets.
Commit: beab1a6ddebafdba906bf222b628033a9b8f6e3d
https://github.com/llvm/llvm-project/commit/beab1a6ddebafdba906bf222b628033a9b8f6e3d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/CSKY/AsmParser/CSKYAsmParser.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCAsmInfo.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYTargetStreamer.cpp
Log Message:
-----------
[CSKY] Migrate away from legacy MCSymbolRefExpr::VariantKind
Commit: fabd71e6c23a58f1feafba5d7c85414f96a38ab0
https://github.com/llvm/llvm-project/commit/fabd71e6c23a58f1feafba5d7c85414f96a38ab0
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
A llvm/test/MC/CSKY/relocation-specifier.s
Log Message:
-----------
[CSKY] STT_TLS
Commit: 912579f428bd3d3d42cdb39155de911524065eeb
https://github.com/llvm/llvm-project/commit/912579f428bd3d3d42cdb39155de911524065eeb
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/test/MC/CSKY/relocation-specifier.s
Log Message:
-----------
[CSKY,test] Test section symbol and STT_TLS adjustment
Commit: 441c9a9273c5d040f218986bf301c8a5c4d4c011
https://github.com/llvm/llvm-project/commit/441c9a9273c5d040f218986bf301c8a5c4d4c011
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
Log Message:
-----------
[MC] Delete deprecated fixELFSymbolsInTLSFixups
In-tree targets have been updated to set STT_TLS in derived
MCELFObjectTargetWriter::getRelocType functions.
Commit: 00cb966209955878cee903068333d4d2d4f7b259
https://github.com/llvm/llvm-project/commit/00cb966209955878cee903068333d4d2d4f7b259
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld] Use *Set::insert_range (NFC) (#132590)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
Commit: fae34938f6bb1aa1f18d6e285c50f05ef04b021e
https://github.com/llvm/llvm-project/commit/fae34938f6bb1aa1f18d6e285c50f05ef04b021e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/IR/Type.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#132591)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch uses insert_range with
iterator ranges. For each case, I've verified that foos is defined as
make_range(foo_begin(), foo_end()) or in a similar manner.
Commit: ad8d5495056f8ec23ab1f0c60ffdd6358605e1ec
https://github.com/llvm/llvm-project/commit/ad8d5495056f8ec23ab1f0c60ffdd6358605e1ec
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#132588)
Commit: b4061a5a80a37ed5c500b2f0ef25e0328e5b60a8
https://github.com/llvm/llvm-project/commit/b4061a5a80a37ed5c500b2f0ef25e0328e5b60a8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#132583)
Commit: 112277eeafafb5ee1c77ab92334cf351d2b73fdb
https://github.com/llvm/llvm-project/commit/112277eeafafb5ee1c77ab92334cf351d2b73fdb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-22 (Sat, 22 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/features-info.ll
Log Message:
-----------
[RISCV] Add missing features to features-info.ll. NFC (#132530)
Use CHECK-NEXT so we can't forget any in the future.
Commit: c440563da724cbf60c5cdb1cd7c61a21aec04145
https://github.com/llvm/llvm-project/commit/c440563da724cbf60c5cdb1cd7c61a21aec04145
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCCodeEmitter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/test/MC/CSKY/relocation-specifier.s
Log Message:
-----------
[CSKY] Fix CSKYMCCodeEmitter::getTargetFixup and set STT_TLS for TLS relocation specifiers
Commit: 4a7643400c44db434983c172d2329bf31679e8fa
https://github.com/llvm/llvm-project/commit/4a7643400c44db434983c172d2329bf31679e8fa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
Log Message:
-----------
[clang-tools-extra] Use *Set::insert_range (NFC) (#132589)
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range. This patch replaces:
Dest.insert(Src.begin(), Src.end());
with:
Dest.insert_range(Src);
Commit: 2fe75856865e20633da33f6b526e47367a035152
https://github.com/llvm/llvm-project/commit/2fe75856865e20633da33f6b526e47367a035152
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/mismatched-iterator.cpp
Log Message:
-----------
[clang][analyzer] Improve the modeling of insert in MismatchedIteratorChecker (#132596)
Fixes #132010
Associative containers in STL has an unique `insert` overload member
function comparing to un-associative
containers(https://en.cppreference.com/w/cpp/container/unordered_set/insert):
```
template< class InputIt >
void insert( InputIt first, InputIt last );
```
Add support for this `insert` overload in `MismatchedIteratorChecker`,
verify if `first` and `last` belongs to the same container in this case.
Commit: c482b8faeace855332a8c070cffaf3d0732cc79e
https://github.com/llvm/llvm-project/commit/c482b8faeace855332a8c070cffaf3d0732cc79e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Only execute VPExpandSCEVRecipes once and remove them (NFC).
Instead of executing the whole entry VPIRBB twice, first only execute
the VPExpandSCEVRecipes and replace their uses with the expanded
VPValue, which will be a live-in. This allows removing special logic in
VPExpandSCEVRecipe to support executing twice and allows moving the
ExpandedSCEVs map out of VPTransformState.
It will also allow adding other recipes to the entry VPBB in the future.
Commit: bcd08f4d2cf660026a965e11a6a4c9845bf44d41
https://github.com/llvm/llvm-project/commit/bcd08f4d2cf660026a965e11a6a4c9845bf44d41
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
Log Message:
-----------
[mlir][llvmir] Add SameOperandsAndResultType trait to LLVM_CountZerosIntrOp (#131133)
According to https://llvm.org/docs/LangRef.html#llvm-ctlz-intrinsic and
https://llvm.org/docs/LangRef.html#llvm-cttz-intrinsic, The return type
of `llvm.intr.ctlz` and `llvm.intr.cttz` must match the first argument
type.
Commit: cfd53ffb44f5d3c438c909b2bc9ae5604f452f39
https://github.com/llvm/llvm-project/commit/cfd53ffb44f5d3c438c909b2bc9ae5604f452f39
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
Log Message:
-----------
[InstCombine] Use MapVector for SourceAggregates. (#132564)
foldAggregateConstructionIntoAggregateReuse iterates over the entries of
SourceAggregates and the order of inserted instructions depends on the
order of the iterator. Using a regular DenseMap can lead to
non-deterministic value naming/numbering.
I don't think it can actually impact the generated binary, but it makes
diffing IR more difficult.
PR: https://github.com/llvm/llvm-project/pull/132564
Commit: c4caf949aa934a219e84d4ba0530bd535e698cdb
https://github.com/llvm/llvm-project/commit/c4caf949aa934a219e84d4ba0530bd535e698cdb
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
A llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
A llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
A llvm/test/CodeGen/AArch64/machine-combiner-reassociate-accumulators.mir
Log Message:
-----------
[AArch64][MachineCombiner] Recombine long chains of accumulation instructions into a tree to increase ILP (#126060)
This pattern shows up often in media libraries. The optimization should only
kick in for O3. Currently only supports a single family of accumulation
instructions, but can easily be expanded to support additional
instructions in the future.
Commit: 7bda9caa4981bf8c378f2c721e4e1b172b0e906c
https://github.com/llvm/llvm-project/commit/7bda9caa4981bf8c378f2c721e4e1b172b0e906c
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineCombinerPattern.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
R llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators-sve.ll
R llvm/test/CodeGen/AArch64/aarch64-reassociate-accumulators.ll
R llvm/test/CodeGen/AArch64/machine-combiner-reassociate-accumulators.mir
Log Message:
-----------
Revert "[AArch64][MachineCombiner] Recombine long chains of accumulation instructions into a tree to increase ILP (#126060) (#132607)
This reverts commit c4caf949aa934a219e84d4ba0530bd535e698cdb.
Commit: 81d7eef13453f21303acfba773d0903b27ad754b
https://github.com/llvm/llvm-project/commit/81d7eef13453f21303acfba773d0903b27ad754b
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M mlir/include/mlir-c/Dialect/Quant.h
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
M mlir/include/mlir/Dialect/Quant/IR/QuantDialectBytecode.td
M mlir/include/mlir/Dialect/Quant/IR/QuantTypes.h
M mlir/include/mlir/Dialect/Quant/Transforms/Passes.td
M mlir/lib/Bindings/Python/DialectQuant.cpp
M mlir/lib/CAPI/Dialect/Quant.cpp
M mlir/lib/Dialect/Quant/IR/QuantDialectBytecode.cpp
M mlir/lib/Dialect/Quant/IR/QuantOps.cpp
M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
M mlir/lib/Dialect/Quant/IR/TypeDetail.h
M mlir/lib/Dialect/Quant/IR/TypeParser.cpp
M mlir/lib/Dialect/Quant/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Quant/Transforms/LowerQuantOps.cpp
A mlir/lib/Dialect/Quant/Transforms/NormalizeQuantTypes.cpp
M mlir/python/mlir/_mlir_libs/_mlir/dialects/quant.pyi
M mlir/test/CAPI/quant.c
M mlir/test/Dialect/Quant/Bytecode/types.mlir
M mlir/test/Dialect/Quant/invalid.mlir
M mlir/test/Dialect/Quant/lower-quant-ops.mlir
A mlir/test/Dialect/Quant/normalize-quant-types.mlir
M mlir/test/Dialect/Quant/ops.mlir
M mlir/test/Dialect/Quant/parse-uniform-invalid.mlir
M mlir/test/Dialect/Quant/parse-uniform.mlir
M mlir/test/python/dialects/quant.py
Log Message:
-----------
Sub-channel quantized type implementation (#120172)
This is an implementation for [RFC: Supporting Sub-Channel Quantization
in
MLIR](https://discourse.llvm.org/t/rfc-supporting-sub-channel-quantization-in-mlir/82694).
In order to make the review process easier, the PR has been divided into
the following commit labels:
1. **Add implementation for sub-channel type:** Includes the class
design for `UniformQuantizedSubChannelType`, printer/parser and bytecode
read/write support. The existing types (per-tensor and per-axis) are
unaltered.
2. **Add implementation for sub-channel type:** Lowering of
`quant.qcast` and `quant.dcast` operations to Linalg operations.
3. **Adding C/Python Apis:** We first define he C-APIs and build the
Python-APIs on top of those.
4. **Add pass to normalize generic ....:** This pass normalizes
sub-channel quantized types to per-tensor per-axis types, if possible.
A design note:
- **Explicitly storing the `quantized_dimensions`, even when they can be
derived for ranked tensor.**
While it's possible to infer quantized dimensions from the static shape
of the scales (or zero-points) tensor for ranked
data tensors
([ref](https://discourse.llvm.org/t/rfc-supporting-sub-channel-quantization-in-mlir/82694/3)
for background), there are cases where this can lead to ambiguity and
issues with round-tripping.
```
Consider the example: tensor<2x4x!quant.uniform<i8:f32:{0:2, 0:2}, {{s00:z00, s01:z01}}>>
```
The shape of the scales tensor is [1, 2], which might suggest that only
axis 1 is quantized. While this inference is technically correct, as the
block size for axis 0 is a degenerate case (equal to the dimension
size), it can cause problems with round-tripping. Therefore, even for
ranked tensors, we are explicitly storing the quantized dimensions.
Suggestions welcome!
PS: I understand that the upcoming holidays may impact your schedule, so
please take your time with the review. There's no rush.
Commit: 385311625945e65990bd60bea76a045dcaf3f47b
https://github.com/llvm/llvm-project/commit/385311625945e65990bd60bea76a045dcaf3f47b
Author: Koakuma <koachan at protonmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/sparc-ias-Wa.s
Log Message:
-----------
[SPARC][Driver] Set correct IAS mode defaults for Linux and Free/OpenBSD (#130108)
On those OSes, clang should set the assembler to enable VIS by default.
This is already the case when clang calls an external assembler, so make
sure clang+IAS use the same defaults.
This should fix [issue #125124](https://github.com/llvm/llvm-project/issues/125124).
Commit: da01a185f196df4b60b61306fdc4e185f1e9fb39
https://github.com/llvm/llvm-project/commit/da01a185f196df4b60b61306fdc4e185f1e9fb39
Author: Koakuma <koachan at protonmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.cpp
A llvm/test/MC/Sparc/elf-sparc-feature.s
Log Message:
-----------
[SPARC][IAS] Set correct ELF flag values for VIS & VIS2-enabled objects
Reviewers: brad0, s-barannikov, rorth
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/130966
Commit: 3dd42102f7ea2b71d76c58467e95af8792ad4912
https://github.com/llvm/llvm-project/commit/3dd42102f7ea2b71d76c58467e95af8792ad4912
Author: Koakuma <koachan at protonmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M .ci/metrics/metrics.py
M .ci/metrics/requirements.lock.txt
M .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .github/workflows/build-ci-container.yml
M .github/workflows/build-metrics-container.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/issue-release-workflow.yml
M .github/workflows/issue-subscriber.yml
M .github/workflows/issue-write.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libclang-python-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/libcxx-check-generated-files.yml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M .github/workflows/llvm-bugs.yml
M .github/workflows/llvm-project-tests.yml
M .github/workflows/llvm-tests.yml
M .github/workflows/merged-prs.yml
M .github/workflows/new-issues.yml
M .github/workflows/new-prs.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/pr-request-release-note.yml
M .github/workflows/pr-subscriber.yml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/release-documentation.yml
M .github/workflows/release-doxygen.yml
M .github/workflows/release-lit.yml
M .github/workflows/release-sources.yml
M .github/workflows/release-tasks.yml
M .github/workflows/scorecard.yml
M .github/workflows/version-check.yml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
R bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
A bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Rewrite/RewriteInstance.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryData.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/JumpTable.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/Aligner.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/CMakeLists.txt
M bolt/lib/Passes/FrameOptimizer.cpp
R bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/PLTCall.cpp
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Passes/ProfileQualityStats.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Passes/StokeInfo.cpp
M bolt/lib/Passes/TailDuplication.cpp
M bolt/lib/Profile/StaleProfileMatching.cpp
M bolt/lib/Profile/YAMLProfileReader.cpp
M bolt/lib/Rewrite/MachORewriteInstance.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.h
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
A bolt/test/AArch64/computed-goto.s
A bolt/test/AArch64/got-load-symbolization.s
M bolt/test/AArch64/test-indirect-branch.s
A bolt/test/Inputs/indirect_goto.c
R bolt/test/X86/Inputs/indirect_goto.c
M bolt/test/X86/icf-safe-icp.test
M bolt/test/X86/icf-safe-process-rela-data.test
M bolt/test/X86/icf-safe-test1.test
M bolt/test/X86/icf-safe-test2GlobalConstPtrNoPic.test
R bolt/test/X86/indirect-goto-pie.test
M bolt/test/X86/indirect-goto.test
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
A bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
A bolt/test/indirect-goto-relocs.test
M bolt/tools/bat-dump/bat-dump.cpp
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/merge-fdata/merge-fdata.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
A clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/ComparePointerToMemberVirtualFunctionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/OptionalValueConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.cpp
M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/clang-tidy/misc/NoRecursionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDefaultMemberInitCheck.cpp
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/UseStdNumbersCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.cpp
A clang-tools-extra/clang-tidy/readability/AmbiguousSmartptrResetCallCheck.h
M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/utils/ExceptionAnalyzer.cpp
M clang-tools-extra/clang-tidy/utils/UseRangesCheck.cpp
M clang-tools-extra/clangd/ClangdServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/CodeComplete.h
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/IncludeFixer.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/SystemIncludeExtractor.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/refactor/tweaks/AnnotateHighlightings.cpp
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
A clang-tools-extra/docs/clang-tidy/checks/readability/ambiguous-smartptr-reset-call.rst
A clang-tools-extra/test/clang-doc/DR-131697.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/single-file.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/optional-value-conversion-construct-from-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers-values.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-transform-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-wrong-config.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-macro.hpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-ranges.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-numbers.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call-custom-pointers.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/ambiguous-smartptr-reset-call.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming-anon-record-fields.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/file-filter.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/system-headers.cpp
A clang/AreaTeamMembers.txt
M clang/Maintainers.rst
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cdb.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/bindings/python/tests/cindex/test_index.py
M clang/bindings/python/tests/cindex/test_location.py
M clang/bindings/python/tests/cindex/test_translation_unit.py
M clang/bindings/python/tests/cindex/test_type.py
M clang/docs/ClangOffloadBundler.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/docs/analyzer/developer-docs.rst
A clang/docs/analyzer/developer-docs/Statistics.rst
M clang/docs/tools/dump_ast_matchers.py
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Attr.h
M clang/include/clang/AST/AttrIterator.h
M clang/include/clang/AST/CanonicalType.h
M clang/include/clang/AST/DeclOpenACC.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/JSONNodeDumper.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NestedNameSpecifier.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/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchFinder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
M clang/include/clang/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.h
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Analysis/ProgramPoint.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.h
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/DeclNodes.td
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticLexKinds.td
M clang/include/clang/Basic/DiagnosticOptions.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/OpenACCClauses.def
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/OpenMPKinds.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/arm_mve_defs.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/CIR/CIRGenerator.h
A clang/include/clang/CIR/CIRToCIRPasses.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/CMakeLists.txt
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/Dialect/IR/CIROpsEnums.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
A clang/include/clang/CIR/Dialect/Passes.h
A clang/include/clang/CIR/Dialect/Passes.td
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.h
A clang/include/clang/CIR/Interfaces/CIRLoopOpInterface.td
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.h
A clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Action.h
M clang/include/clang/Driver/OffloadBundler.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Frontend/CompilerInstance.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Frontend/FrontendOptions.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/include/clang/Lex/HeaderSearchOptions.h
M clang/include/clang/Lex/Lexer.h
M clang/include/clang/Lex/LiteralSupport.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaCodeCompletion.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
A clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleManager.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/EntryPointStats.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h
A clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.cpp
M clang/lib/AST/ByteCode/ByteCodeEmitter.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/EvalEmitter.cpp
M clang/lib/AST/ByteCode/EvalEmitter.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/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/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclOpenACC.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/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/Mangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/ParentMapContext.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/OSTargets.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/PPC.h
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CMakeLists.txt
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenConstantEmitter.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A 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/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
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/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.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
A clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
A clang/lib/CIR/Dialect/Transforms/PassDetail.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/FrontendAction/CMakeLists.txt
A clang/lib/CIR/Interfaces/CIRLoopOpInterface.cpp
A clang/lib/CIR/Interfaces/CIROpInterfaces.cpp
M clang/lib/CIR/Interfaces/CMakeLists.txt
A clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVMIR.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/lib/CodeGen/CGBuiltin.h
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
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/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
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/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/ModuleBuilder.cpp
M clang/lib/CodeGen/ObjectFilePCHContainerWriter.cpp
A clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
A clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
A clang/lib/CodeGen/TargetBuiltins/PPC.cpp
A clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
A clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
A clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
A clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
A clang/lib/CodeGen/TargetBuiltins/X86.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/AVR.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/TCE.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/CodeGen/VarBypassDetector.cpp
M clang/lib/CodeGen/VarBypassDetector.h
M clang/lib/Driver/Action.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/Arch/ARM.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/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/HLSL.h
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRV.h
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/PrecompiledPreamble.cpp
M clang/lib/FrontendTool/CMakeLists.txt
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/__clang_hip_runtime_wrapper.h
M clang/lib/Headers/__stdarg_va_arg.h
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/avx10_2_512convertintrin.h
M clang/lib/Headers/avx10_2_512satcvtdsintrin.h
M clang/lib/Headers/avx10_2_512satcvtintrin.h
M clang/lib/Headers/avx10_2convertintrin.h
M clang/lib/Headers/avx10_2minmaxintrin.h
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Headers/avx10_2satcvtdsintrin.h
M clang/lib/Headers/avx10_2satcvtintrin.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
A clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_detail.h
A clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.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/Parse/Parser.cpp
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaAvailability.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.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/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAsm.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTCommon.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderInternals.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/Serialization/CMakeLists.txt
M clang/lib/Serialization/GeneratePCH.cpp
M clang/lib/Serialization/GlobalModuleIndex.cpp
A clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Serialization/MultiOnDiskHashTable.h
M clang/lib/Serialization/TemplateArgumentHasher.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/AssumeModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/CMakeLists.txt
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MismatchedIteratorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ReturnValueChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.cpp
R clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/CMakeLists.txt
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
A clang/lib/StaticAnalyzer/Core/EntryPointStats.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/WorkList.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
M clang/lib/Testing/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/CMakeLists.txt
M clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
A clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/lib/Tooling/RefactoringCallbacks.cpp
M clang/test/AST/ByteCode/builtin-constant-p.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/if.cpp
A clang/test/AST/ByteCode/libcxx/memcmp-pointer.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/placement-new.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/AST/HLSL/ast-dump-comment-cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer.hlsl
M clang/test/AST/HLSL/cbuffer_and_namespaces.hlsl
M clang/test/AST/HLSL/is_structured_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/is_typed_resource_element_compatible_concept.hlsl
M clang/test/AST/HLSL/packoffset.hlsl
M clang/test/AST/HLSL/pch_hlsl_buffer.hlsl
M clang/test/AST/HLSL/resource_binding_attr.hlsl
M clang/test/AST/HLSL/vector-alias.hlsl
M clang/test/AST/HLSL/vector-constructors.hlsl
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
A clang/test/AST/ast-print-openacc-routine-construct.cpp
M clang/test/AST/attr-print-emit.cpp
A clang/test/Analysis/ArrayBound/assumption-reporting.c
A clang/test/Analysis/ArrayBound/assumptions.c
A clang/test/Analysis/ArrayBound/brief-tests.c
A clang/test/Analysis/ArrayBound/cplusplus.cpp
A clang/test/Analysis/ArrayBound/verbose-tests.c
M clang/test/Analysis/Checkers/WebKit/call-args.cpp
A clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use-arc.mm
A clang/test/Analysis/Checkers/WebKit/retain-ptr-ctor-adopt-use.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.mm
A clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-lambda-captures.mm
A clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/Inputs/system-header-simulator-cxx.h
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/analyzer-enabled-checkers.c
A clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/builtin_assume.cpp
A clang/test/Analysis/csv2json.py
M clang/test/Analysis/cxx-uninitialized-object-ptr-ref.cpp
A clang/test/Analysis/cxx23-assume-attribute.cpp
A clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/mismatched-iterator.cpp
R clang/test/Analysis/out-of-bounds-constraint-check.c
R clang/test/Analysis/out-of-bounds-diagnostics.c
R clang/test/Analysis/out-of-bounds-new.cpp
R clang/test/Analysis/out-of-bounds-notes.c
R clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/std-c-library-functions-POSIX.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/virtualcall.cpp
M clang/test/C/C23/n2819.c
M clang/test/C/C23/n2975.c
A clang/test/C/C2y/n3347.c
A clang/test/C/C2y/n3353.c
A clang/test/C/C2y/n3363.c
A clang/test/C/C2y/n3409.c
A clang/test/C/C2y/n3410.c
A clang/test/C/C2y/n3411.c
A clang/test/C/C2y/n3451.c
A clang/test/C/C2y/n3460.c
A clang/test/C/C2y/n3460_1.c
A clang/test/C/C2y/n3478.c
A clang/test/C/C2y/n3481.c
A clang/test/C/C2y/n3482.c
A clang/test/C/C2y/n3496.c
A clang/test/C/C2y/n3505.c
A clang/test/CIR/CodeGen/array.cpp
A clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/basic.cpp
A clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/local-vars.cpp
A clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/CodeGen/unary-expr-or-type-trait.cpp
A clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/array.cir
A clang/test/CIR/IR/cast.cir
M clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global-var-linkage.cir
M clang/test/CIR/IR/global.cir
A clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/basic.cpp
A clang/test/CIR/Lowering/cast.cir
M clang/test/CIR/Lowering/func-simple.cpp
A clang/test/CIR/Lowering/local-vars.cpp
A clang/test/CIR/Lowering/unary-expr-or-type-trait.cpp
A clang/test/CIR/Tools/cir-translate-triple.cir
A clang/test/CIR/Tools/has-triple-and-data-layout.cir
A clang/test/CIR/Tools/has-triple-no-data-layout.cir
A clang/test/CIR/Tools/invalid-translate-triple.cir
A clang/test/CIR/Tools/no-triple-has-data-layout.cir
A clang/test/CIR/Tools/no-triple-no-data-layout.cir
A clang/test/CIR/Tools/warn-default-triple.cir
A clang/test/CIR/Transforms/canonicalize.cir
A clang/test/CIR/Transforms/loop.cir
A clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/func-simple.cpp
A clang/test/CIR/global-var-linkage.cpp
M clang/test/CIR/global-var-simple.cpp
A clang/test/CIR/mlirargs.c
A clang/test/CIR/mlprint.c
M clang/test/CMakeLists.txt
M clang/test/CXX/basic/basic.lookup/basic.lookup.qual/class.qual/p2.cpp
M clang/test/CXX/class.access/class.access.dcl/p1.cpp
M clang/test/CXX/class.access/class.friend/p3-cxx0x.cpp
M clang/test/CXX/class.access/class.friend/p6.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3.cpp
M clang/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg13xx.cpp
M clang/test/CXX/drs/cwg14xx.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/CXX/drs/cwg19xx.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg22xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg28xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/drs/cwg5xx.cpp
M clang/test/CXX/drs/cwg6xx.cpp
A clang/test/CXX/drs/cwg787.cpp
M clang/test/CXX/drs/cwg7xx.cpp
M clang/test/CXX/special/class.inhctor/elsewhere.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
M clang/test/CXX/temp/temp.pre/p6.cpp
M clang/test/CXX/temp/temp.res/temp.dep/p3.cpp
A clang/test/ClangScanDeps/modules-in-stable-dirs.c
A clang/test/ClangScanDeps/prebuilt-modules-in-stable-dirs.c
A clang/test/CodeCompletion/if-const.cpp
M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
M clang/test/CodeGen/PowerPC/builtins-ppc-p9vector.c
A clang/test/CodeGen/RISCV/pr129995.cc
M clang/test/CodeGen/RISCV/riscv-func-attr-target.c
M clang/test/CodeGen/X86/avx10_2_512convert-builtins.c
M clang/test/CodeGen/X86/avx10_2_512minmax-error.c
R clang/test/CodeGen/X86/avx10_2_512satcvt-builtins-error.c
M clang/test/CodeGen/X86/avx10_2_512satcvt-builtins.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2_512satcvtds-builtins.c
M clang/test/CodeGen/X86/avx10_2convert-builtins.c
M clang/test/CodeGen/X86/avx10_2minmax-builtins.c
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M clang/test/CodeGen/X86/avx10_2satcvt-builtins.c
R clang/test/CodeGen/X86/avx10_2satcvtds-builtins-errors.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins-x64.c
M clang/test/CodeGen/X86/avx10_2satcvtds-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
A clang/test/CodeGen/aarch64-execute-only.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
M clang/test/CodeGen/assignment-tracking/assignment-tracking.cpp
M clang/test/CodeGen/assignment-tracking/memcpy-fragment.cpp
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/attr-target-clones-riscv.c
M clang/test/CodeGen/attr-target-version-riscv.c
M clang/test/CodeGen/avr/argument.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/builtin-constant-p.c
M clang/test/CodeGen/builtins-elementwise-math.c
A clang/test/CodeGen/cx-complex-range-real.c
M clang/test/CodeGen/cx-complex-range.c
M clang/test/CodeGen/fake-use-determinism.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
A clang/test/CodeGen/openacc-noop-decl.c
A clang/test/CodeGen/p0963r3.cpp
A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/varargs.c
M clang/test/CodeGen/vector.c
A clang/test/CodeGen/win-fp128.c
M clang/test/CodeGenCUDA/amdgpu-bf16.cu
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDASPIRV/spirv-attrs.cu
M clang/test/CodeGenCXX/attr-target-clones-riscv.cpp
M clang/test/CodeGenCXX/attr-target-version-riscv.cpp
M clang/test/CodeGenCXX/builtin-constant-p.cpp
M clang/test/CodeGenCXX/builtins.cpp
M clang/test/CodeGenCXX/cxx23-p2280r4.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/derived-to-base.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
A clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCXX/mangle.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
R clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/CodeGenCXX/wasm-eh.cpp
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
A clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-elementtype.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
A clang/test/CodeGenHLSL/builtins/asint16.hlsl
A clang/test/CodeGenHLSL/builtins/asuint16.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/select.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/default_cbuffer.hlsl
A clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/semantics/GroupIndex-codegen.hlsl
A clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel-linking.cl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-dl-insts-gfx11.cl
M clang/test/CodeGenOpenCL/kernel-attributes.cl
M clang/test/CoverageMapping/terminate-statements.cpp
A clang/test/Driver/HLSL/metal-converter.hlsl
A clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/Inputs/rocm_resource_dir/lib64/amdgcn/bitcode/oclc_abi_version_600.bc
A clang/test/Driver/aarch64-execute-only.c
A 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/apple-arm64-arch.c
M clang/test/Driver/arm-thread-pointer.c
M clang/test/Driver/clang-offload-bundler-asserts-on.c
M clang/test/Driver/clang-offload-bundler-standardize.c
M clang/test/Driver/clang-offload-bundler.c
M clang/test/Driver/clang_f_opts.c
M clang/test/Driver/compilation_database_multiarch.c
R clang/test/Driver/cuda-no-pgo-or-coverage.cu
M clang/test/Driver/darwin-ld-platform-version-macos-requires-darwin.c
M clang/test/Driver/dxc_dxv_path.hlsl
M clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/fsanitize.c
M clang/test/Driver/hexagon-toolchain-elf.c
M clang/test/Driver/hexagon-toolchain-linux.c
M clang/test/Driver/hip-cuid-hash.hip
M clang/test/Driver/hip-device-libs.hip
M clang/test/Driver/hip-link-bc-to-bc.hip
M clang/test/Driver/hip-link-bundle-archive.hip
M clang/test/Driver/hip-offload-compress-zlib.hip
M clang/test/Driver/hip-offload-compress-zstd.hip
M clang/test/Driver/hip-partial-link.hip
M clang/test/Driver/hip-rdc-device-only.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/mips-abi.c
M clang/test/Driver/mtargetos-darwin.c
M clang/test/Driver/offload-Xarch.c
A clang/test/Driver/opencl-aot-compilation.cl
M clang/test/Driver/openmp-offload.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/riscv-features.c
M clang/test/Driver/sparc-ias-Wa.s
M clang/test/Driver/spirv-openmp-toolchain.c
M clang/test/Driver/spirv-toolchain.cl
M clang/test/Driver/xros-driver-requires-darwin-host.c
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/gpuintrin.c
M clang/test/Index/pch-from-libclang.c
M clang/test/Index/print-type.cpp
M clang/test/Lexer/ms-extensions.c
R clang/test/Lexer/newline-eof-c++98-compat.cpp
M clang/test/Lexer/newline-eof.c
M clang/test/Misc/time-passes.c
M clang/test/Misc/warning-flags.c
A clang/test/Modules/diag-undefined-template.cpp
M clang/test/Modules/eagerly-load-cxx-named-modules.cppm
M clang/test/Modules/external-but-not-type-external.cppm
A clang/test/Modules/lambda-in-module-purview-2.cppm
A clang/test/Modules/lambda-in-module-purview.cppm
A clang/test/Modules/modules-merge-enum.m
A clang/test/Modules/pr121245.cpp
A clang/test/Modules/pr125999.cppm
A clang/test/Modules/pr129982.cpp
A clang/test/Modules/transitive-system.test
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/cancel_codegen.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/irbuilder_nested_openmp_parallel_empty.c
M clang/test/OpenMP/irbuilder_nested_parallel_for.c
M clang/test/OpenMP/nested_loop_codegen.cpp
M clang/test/OpenMP/parallel_codegen.cpp
M clang/test/OpenMP/parallel_for_reduction_messages.cpp
M clang/test/OpenMP/requires_ast_print.cpp
M clang/test/OpenMP/requires_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
M clang/test/OpenMP/target_data_ast_print.cpp
M clang/test/OpenMP/target_map_messages.cpp
M clang/test/OpenMP/taskgroup_codegen.cpp
M clang/test/Parser/asm.cpp
M clang/test/Parser/cxx-attributes.cpp
M clang/test/Parser/cxx-template-decl.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx2c-variadic-friends.cpp
M clang/test/Parser/decomposed-condition.cpp
M clang/test/Parser/parser_overflow.c
M clang/test/ParserHLSL/hlsl_resource_handle_attrs.hlsl
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/Preprocessor/embed_constexpr.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
M clang/test/Sema/aarch64-special-register.c
M clang/test/Sema/aarch64-sve-vector-exp-ops.c
M clang/test/Sema/aarch64-sve-vector-log-ops.c
M clang/test/Sema/aarch64-sve-vector-pow-ops.c
M clang/test/Sema/aarch64-sve-vector-trig-ops.c
M clang/test/Sema/attr-availability-macosx.cpp
M clang/test/Sema/bool-compare.c
M clang/test/Sema/builtins-elementwise-math.c
M clang/test/Sema/builtins-reduction-math.c
A clang/test/Sema/c23-varargs.c
M clang/test/Sema/compare.c
M clang/test/Sema/count-builtins.c
M clang/test/Sema/for.c
M clang/test/Sema/format-strings.c
M clang/test/Sema/generic-selection-type-extension.c
M clang/test/Sema/generic-selection.c
A clang/test/Sema/offsetof-ucrt.c
M clang/test/Sema/parentheses.cpp
A clang/test/Sema/riscv-interrupt-attr-qci.c
M clang/test/Sema/riscv-rvv-vector-exp-ops.c
M clang/test/Sema/riscv-rvv-vector-log-ops.c
M clang/test/Sema/riscv-rvv-vector-trig-ops.c
M clang/test/Sema/riscv-sve-vector-pow-ops.c
A clang/test/Sema/shift-bool.c
A clang/test/Sema/shift-bool.cpp
M clang/test/Sema/types.c
M clang/test/Sema/varargs-x86-64.c
M clang/test/Sema/varargs.c
A clang/test/Sema/vector-ast.cpp
A clang/test/SemaCUDA/spirv-attrs-diag.cu
M clang/test/SemaCUDA/spirv-attrs.cu
M clang/test/SemaCXX/PR62533.cpp
M clang/test/SemaCXX/addr-of-overloaded-function.cpp
M clang/test/SemaCXX/attr-require-constant-initialization.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/builtin-ptrtomember-ambig.cpp
A clang/test/SemaCXX/builtin-structured-binding-size.cpp
M clang/test/SemaCXX/builtins-elementwise-math.cpp
M clang/test/SemaCXX/calling-conv-compat.cpp
M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
A clang/test/SemaCXX/constexpr-if.cpp
A clang/test/SemaCXX/copy-ctor-template.cpp
R clang/test/SemaCXX/coroutine-decltype.cpp
A clang/test/SemaCXX/coroutine-unevaluate.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx0x-defaulted-functions.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
M clang/test/SemaCXX/cxx11-user-defined-literals.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2c-enum-compare.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/decomposed-condition.cpp
M clang/test/SemaCXX/deduced-return-type-cxx14.cpp
A clang/test/SemaCXX/derived-to-base-propagate-qualifiers.cpp
M clang/test/SemaCXX/err_init_conversion_failed.cpp
M clang/test/SemaCXX/generic-selection.cpp
A clang/test/SemaCXX/gnu-asm-constexpr.cpp
M clang/test/SemaCXX/member-pointer.cpp
A clang/test/SemaCXX/ms-member-pointer.cpp
M clang/test/SemaCXX/ms-property.cpp
A clang/test/SemaCXX/offsetof-ucrt.cpp
M clang/test/SemaCXX/paren-list-agg-init.cpp
M clang/test/SemaCXX/pr25181-crash-on-invalid.cpp
M clang/test/SemaCXX/pr36536.cpp
M clang/test/SemaCXX/source_location.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/uninitialized.cpp
A clang/test/SemaCXX/union-member-destructor.cpp
M clang/test/SemaCXX/unique_object_duplication.h
A clang/test/SemaCXX/unnecessary-virtual-specifier.cpp
A clang/test/SemaCXX/unused-bindings.cpp
M clang/test/SemaCXX/unused.cpp
M clang/test/SemaCXX/using-decl-templates.cpp
M clang/test/SemaCXX/vararg-non-pod.cpp
M clang/test/SemaCXX/varargs.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-in-container-span-construct.cpp
A clang/test/SemaHLSL/BuiltIns/asint16-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/asuint16-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/clamp-errors-16bit.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/distance-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/exp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbithigh-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/firstbitlow-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/fmod-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/half-float-only-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/length-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/mad-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/max-errors-16bit.hlsl
A clang/test/SemaHLSL/BuiltIns/min-errors-16bit.hlsl
M clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/reversebits-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/round-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/select-errors.hlsl
A clang/test/SemaHLSL/Language/NoVirtual.hlsl
M clang/test/SemaHLSL/Semantics/valid_entry_parameter.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/BooleanVectorConstantExpr.hlsl
M clang/test/SemaObjCXX/message.mm
M clang/test/SemaObjCXX/propert-dot-error.mm
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/cache-construct-ast.cpp
M clang/test/SemaOpenACC/combined-construct-ast.cpp
M clang/test/SemaOpenACC/combined-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/combined-construct-device_type-clause.c
M clang/test/SemaOpenACC/combined-construct-if-ast.cpp
M clang/test/SemaOpenACC/combined-construct-num_workers-ast.cpp
M clang/test/SemaOpenACC/compute-construct-ast.cpp
M clang/test/SemaOpenACC/compute-construct-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-device_type-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/data-construct-default-ast.cpp
M clang/test/SemaOpenACC/data-construct-if-ast.cpp
M clang/test/SemaOpenACC/declare-construct-ast.cpp
M clang/test/SemaOpenACC/init-construct-ast.cpp
M clang/test/SemaOpenACC/loop-ast.cpp
M clang/test/SemaOpenACC/loop-construct-auto_seq_independent-clauses.c
M clang/test/SemaOpenACC/loop-construct-device_type-clause.c
A clang/test/SemaOpenACC/routine-construct-ast.cpp
A clang/test/SemaOpenACC/routine-construct-clauses.cpp
A clang/test/SemaOpenACC/routine-construct.cpp
M clang/test/SemaOpenACC/shutdown-construct-ast.cpp
R clang/test/SemaOpenACC/unimplemented-construct.c
M clang/test/SemaOpenCL/invalid-kernel-attrs.cl
M clang/test/SemaSYCL/float128.cpp
M clang/test/SemaTemplate/constructor-template.cpp
M clang/test/SemaTemplate/cwg2398.cpp
M clang/test/SemaTemplate/friend-template.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/test/SemaTemplate/ms-sizeof-missing-typename.cpp
M clang/test/SemaTemplate/nested-template.cpp
M clang/test/SemaTemplate/qualified-id.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/temp_arg_template_p0522.cpp
M clang/test/SemaTemplate/template-id-expr.cpp
M clang/test/SemaTemplate/typename-specifier-3.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
A clang/test/TableGen/HLSLAttribute-errors.td
M clang/test/Tooling/clang-linker-wrapper-spirv-elf.cpp
M clang/test/Tooling/lit.local.cfg
M clang/test/lit.cfg.py
A clang/test/utils/update_cc_test_checks/Inputs/filter_out_after.c
A clang/test/utils/update_cc_test_checks/Inputs/filter_out_after.c.expected
A clang/test/utils/update_cc_test_checks/filter_out_after.test
M clang/tools/CMakeLists.txt
M clang/tools/amdgpu-arch/AMDGPUArch.cpp
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
M clang/tools/c-index-test/c-index-test.c
A clang/tools/cir-lsp-server/CMakeLists.txt
A clang/tools/cir-lsp-server/cir-lsp-server.cpp
M clang/tools/cir-opt/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
A clang/tools/cir-translate/CMakeLists.txt
A clang/tools/cir-translate/cir-translate.cpp
M clang/tools/clang-format/git-clang-format
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-bundler/ClangOffloadBundler.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/cc1_main.cpp
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/libclang/Indexing.cpp
M clang/unittests/AST/DeclPrinterTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/FrontendActionTest.cpp
M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/AnalyzerOptionsTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M clang/www/cxx_status.html
M clang/www/get_involved.html
M clang/www/get_started.html
M clang/www/make_cxx_dr_status
A cmake/Modules/FindLibcCommonUtils.cmake
M cmake/Modules/FindPrefixFromConfig.cmake
M compiler-rt/include/orc_rt/c_api.h
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/asan/asan_internal.h
M compiler-rt/lib/asan/asan_linux.cpp
M compiler-rt/lib/asan/asan_mac.cpp
M compiler-rt/lib/asan/asan_shadow_setup.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
M compiler-rt/lib/hwasan/hwasan_globals.cpp
M compiler-rt/lib/interception/interception_win.cpp
M compiler-rt/lib/interception/tests/interception_win_test.cpp
M compiler-rt/lib/orc/coff_platform.cpp
M compiler-rt/lib/orc/common.h
M compiler-rt/lib/orc/dlfcn_wrapper.cpp
M compiler-rt/lib/orc/elfnix_platform.cpp
M compiler-rt/lib/orc/macho_platform.cpp
M compiler-rt/lib/orc/run_program_wrapper.cpp
M compiler-rt/lib/orc/tests/unit/c_api_test.cpp
M compiler-rt/lib/orc/tests/unit/wrapper_function_utils_test.cpp
M compiler-rt/lib/orc/wrapper_function_utils.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingBuffer.c
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
M compiler-rt/lib/profile/InstrProfilingPlatformDarwin.c
M compiler-rt/lib/profile/InstrProfilingPlatformLinux.c
M compiler-rt/lib/profile/InstrProfilingPlatformOther.c
M compiler-rt/lib/profile/InstrProfilingPlatformWindows.c
M compiler-rt/lib/profile/InstrProfilingUtil.c
M compiler-rt/lib/profile/InstrProfilingUtil.h
M compiler-rt/lib/profile/InstrProfilingWriter.c
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cpp
M compiler-rt/lib/sanitizer_common/tests/sanitizer_procmaps_mac_test.cpp
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/profile/ContinuousSyncMode/basic.c
M compiler-rt/test/profile/ContinuousSyncMode/get-filename.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-mcdc.c
M compiler-rt/test/profile/ContinuousSyncMode/image-with-no-counters.c
M compiler-rt/test/profile/ContinuousSyncMode/multi-threaded.cpp
M compiler-rt/test/profile/ContinuousSyncMode/online-merging-windows.c
M compiler-rt/test/profile/ContinuousSyncMode/online-merging.c
M compiler-rt/test/profile/ContinuousSyncMode/pid-substitution.c
M compiler-rt/test/profile/ContinuousSyncMode/reset-default-profile.c
M compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
M compiler-rt/test/profile/ContinuousSyncMode/set-file-object.c
M compiler-rt/test/profile/ContinuousSyncMode/set-filename.c
R compiler-rt/test/profile/Inputs/instrprof-order-file.c
A compiler-rt/test/profile/Linux/coverage-statement-expression.cpp
M compiler-rt/test/profile/Posix/instrprof-fork.c
M compiler-rt/test/profile/instrprof-darwin-exports.c
A compiler-rt/test/profile/instrprof-no-mmap-during-merging.c
R compiler-rt/test/profile/instrprof-order-file.test
M compiler-rt/test/profile/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
M compiler-rt/test/tysan/lit.cfg.py
M cross-project-tests/debuginfo-tests/llgdb-tests/llgdb.py
M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl
M cross-project-tests/lit.cfg.py
M flang-rt/CMakeLists.txt
A flang-rt/cmake/clang_gcc_root.cpp
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/cmake/quadmath_wrapper.h.in
M flang-rt/include/flang-rt/runtime/descriptor.h
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/quadmath/CMakeLists.txt
M flang-rt/lib/quadmath/complex-math.h
M flang-rt/lib/quadmath/math-entries.h
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/pointer.cpp
M flang-rt/lib/runtime/support.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Runtime/Support.cpp
M flang-rt/unittests/Runtime/Transformational.cpp
M flang/CMakeLists.txt
M flang/cmake/modules/FlangCommon.cmake
A flang/docs/ArrayRepacking.md
M flang/docs/F202X.md
M flang/docs/Intrinsics.md
M flang/docs/OpenMP-descriptor-management.md
M flang/docs/index.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CompilerInstance.h
M flang/include/flang/Frontend/CompilerInvocation.h
M flang/include/flang/Frontend/FrontendActions.h
A flang/include/flang/Frontend/ParserActions.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/BoxAnalyzer.h
M flang/include/flang/Lower/ConvertVariable.h
M flang/include/flang/Lower/Cuda.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
A flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Builder/Runtime/Inquiry.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/Transformational.h
M flang/include/flang/Optimizer/Builder/TemporaryStorage.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/Dialect/CUF/CUFOps.td
M flang/include/flang/Optimizer/Dialect/FIRAttr.td
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
M flang/include/flang/Optimizer/HLFIR/HLFIROpBase.td
M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
A flang/include/flang/Parser/options.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/parsing.h
M flang/include/flang/Parser/preprocessor.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/pointer.h
M flang/include/flang/Runtime/support.h
M flang/include/flang/Runtime/transformational.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/OpenMP-utils.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/variable.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendAction.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/lib/Frontend/ParserActions.cpp
M flang/lib/Lower/Allocatable.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/lib/Lower/OpenMP/ClauseFinder.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/Clauses.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/CUFCommon.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
A flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/Builder/TemporaryStorage.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/FIRAttr.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.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/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
A flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/preprocessor.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/program-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-coarray.cpp
M flang/lib/Semantics/check-coarray.h
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/pointer-assignment.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Support/Fortran.cpp
M flang/lib/Support/OpenMP-utils.cpp
M flang/module/cudadevice.f90
M flang/module/ieee_arithmetic.f90
M flang/runtime/CMakeLists.txt
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
A flang/test/Analysis/AliasAnalysis/source-kind.fir
M flang/test/CMakeLists.txt
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
A flang/test/Driver/dash-x-f95-cpp-input.f
A flang/test/Driver/dash-x-f95-do-not-assume-fixed-form.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/verbose-asm.f90
M flang/test/Fir/CUDA/cuda-code-gen.mlir
A flang/test/Fir/CUDA/cuda-shared-offset.mlir
A flang/test/Fir/CUDA/cuda-shared-to-llvm.mlir
M flang/test/Fir/CUDA/cuda-target-rewrite.mlir
A flang/test/Fir/alloc-32.fir
M flang/test/Fir/alloc.fir
M flang/test/Fir/basic-program.fir
A flang/test/Fir/box-total-elements-fold.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/convert-to-llvm.fir
A flang/test/Fir/copy-codegen.fir
M flang/test/Fir/cuf.mlir
A flang/test/Fir/do_concurrent.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/is-contiguous-box-fold.fir
A flang/test/Fir/omp-teams.fir
M flang/test/Fir/struct-passing-return-loongarch64-bystack.fir
M flang/test/Fir/struct-passing-x86-64-byval.fir
M flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir
M flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir
M flang/test/Fir/struct-return-aarch64.fir
M flang/test/Fir/struct-return-loongarch64-byreg.fir
M flang/test/Fir/struct-return-powerpc64-aix.fir
M flang/test/Fir/struct-return-ppc64le.fir
M flang/test/Fir/struct-return-x86-64.fir
M flang/test/Fir/target-rewrite-complex-10-x86.fir
M flang/test/Fir/target-rewrite-complex.fir
M flang/test/Fir/target-rewrite-complex16.fir
M flang/test/Fir/target-rewrite-indirect-calls.fir
M flang/test/Fir/target-rewrite-integer-loongarch64.fir
M flang/test/Fir/target.fir
M flang/test/HLFIR/all-lowering.fir
M flang/test/HLFIR/any-lowering.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/assumed-type-actual-args.f90
M flang/test/HLFIR/boxchar_emboxing.f90
M flang/test/HLFIR/count-lowering.fir
M flang/test/HLFIR/cshift-lowering.fir
M flang/test/HLFIR/dot_product-lowering.fir
M flang/test/HLFIR/elemental-codegen-nested.fir
M flang/test/HLFIR/maxloc-lowering.fir
M flang/test/HLFIR/maxval-lowering.fir
M flang/test/HLFIR/minloc-lowering.fir
M flang/test/HLFIR/minval-lowering.fir
M flang/test/HLFIR/mul_transpose.f90
M flang/test/HLFIR/opt-bufferization-eval_in_mem.fir
A flang/test/HLFIR/order_assignments/forall-pointer-assignment-scheduling-bounds.f90
A flang/test/HLFIR/order_assignments/forall-pointer-assignment-scheduling-polymorphic.f90
M flang/test/HLFIR/order_assignments/forall-pointer-assignment-scheduling.f90
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-codegen.fir
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-scheduling-character.f90
A flang/test/HLFIR/order_assignments/forall-proc-pointer-assignment-scheduling.f90
M flang/test/HLFIR/order_assignments/user-defined-assignment.fir
M flang/test/HLFIR/product-lowering.fir
M flang/test/HLFIR/reshape-lowering.fir
M flang/test/HLFIR/sum-lowering.fir
M flang/test/HLFIR/transpose-lowering.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/OpenMP/parallel-private-reduction-worstcase.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/debug-complex-1.f90
M flang/test/Lower/CUDA/cuda-allocatable.cuf
M flang/test/Lower/CUDA/cuda-data-attribute.cuf
M flang/test/Lower/CUDA/cuda-data-transfer.cuf
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-kernel-calls.cuf
M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
M flang/test/Lower/CUDA/cuda-pointer.cuf
M flang/test/Lower/CUDA/cuda-return01.cuf
M flang/test/Lower/CUDA/cuda-return02.cuf
A flang/test/Lower/CUDA/cuda-shared.cuf
A flang/test/Lower/CUDA/cuda-shared01.cuf
M flang/test/Lower/HLFIR/actual_target_for_dummy_pointer.f90
M flang/test/Lower/HLFIR/allocatable-and-pointer-status-change.f90
M flang/test/Lower/HLFIR/allocatable-end-of-scope-dealloc.f90
M flang/test/Lower/HLFIR/allocatable-return.f90
M flang/test/Lower/HLFIR/allocatables-and-pointers.f90
M flang/test/Lower/HLFIR/array-ctor-as-elemental.f90
M flang/test/Lower/HLFIR/array-ctor-derived.f90
M flang/test/Lower/HLFIR/array-ctor-index.f90
M flang/test/Lower/HLFIR/associate-construct.f90
M flang/test/Lower/HLFIR/assumed-rank-iface.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries-2.f90
M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
M flang/test/Lower/HLFIR/bindc-entry-stmt.f90
M flang/test/Lower/HLFIR/bindc-value-derived.f90
M flang/test/Lower/HLFIR/call-issue-124043.f90
M flang/test/Lower/HLFIR/call-sequence-associated-descriptors.f90
M flang/test/Lower/HLFIR/calls-array-results.f90
M flang/test/Lower/HLFIR/calls-assumed-shape.f90
M flang/test/Lower/HLFIR/calls-constant-expr-arg.f90
M flang/test/Lower/HLFIR/calls-f77.f90
M flang/test/Lower/HLFIR/calls-optional.f90
M flang/test/Lower/HLFIR/calls-percent-val-ref.f90
M flang/test/Lower/HLFIR/cray-pointers.f90
M flang/test/Lower/HLFIR/custom-intrinsic.f90
M flang/test/Lower/HLFIR/elemental-array-ops.f90
M flang/test/Lower/HLFIR/elemental-call-vector-subscripts.f90
M flang/test/Lower/HLFIR/elemental-user-procedure-ref.f90
M flang/test/Lower/HLFIR/entry_return.f90
M flang/test/Lower/HLFIR/expr-addr.f90
M flang/test/Lower/HLFIR/expr-as-inquired.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/function-return.f90
M flang/test/Lower/HLFIR/goto-do-body.f90
M flang/test/Lower/HLFIR/ignore-rank-unlimited-polymorphic.f90
M flang/test/Lower/HLFIR/implicit-call-mismatch.f90
M flang/test/Lower/HLFIR/intentout-allocatable-components.f90
M flang/test/Lower/HLFIR/internal-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-dynamically-optional.f90
M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
M flang/test/Lower/HLFIR/intrinsic-subroutines.f90
M flang/test/Lower/HLFIR/issue80884.f90
M flang/test/Lower/HLFIR/maxloc.f90
M flang/test/Lower/HLFIR/maxval.f90
M flang/test/Lower/HLFIR/minloc.f90
M flang/test/Lower/HLFIR/minval.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-nopass.f90
M flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
M flang/test/Lower/HLFIR/procedure-designators.f90
M flang/test/Lower/HLFIR/procedure-pointer.f90
M flang/test/Lower/HLFIR/product.f90
M flang/test/Lower/HLFIR/reshape.f90
M flang/test/Lower/HLFIR/select-rank.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/structure-constructor.f90
M flang/test/Lower/HLFIR/sum.f90
M flang/test/Lower/HLFIR/transformational.f90
M flang/test/Lower/HLFIR/user-defined-assignment.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/Intrinsics/acos_complex16.f90
M flang/test/Lower/Intrinsics/acosh_complex16.f90
M flang/test/Lower/Intrinsics/asin_complex16.f90
M flang/test/Lower/Intrinsics/asinh_complex16.f90
M flang/test/Lower/Intrinsics/associated-proc-pointers.f90
M flang/test/Lower/Intrinsics/atan_complex16.f90
M flang/test/Lower/Intrinsics/atanh_complex16.f90
M flang/test/Lower/Intrinsics/c_f_procpointer.f90
M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
M flang/test/Lower/Intrinsics/chdir.f90
M flang/test/Lower/Intrinsics/cos_complex16.f90
M flang/test/Lower/Intrinsics/cosh_complex16.f90
M flang/test/Lower/Intrinsics/exp_complex16.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
M flang/test/Lower/Intrinsics/loc.f90
M flang/test/Lower/Intrinsics/log_complex16.f90
M flang/test/Lower/Intrinsics/min.f90
M flang/test/Lower/Intrinsics/pow_complex16.f90
M flang/test/Lower/Intrinsics/pow_complex16i.f90
M flang/test/Lower/Intrinsics/pow_complex16k.f90
M flang/test/Lower/Intrinsics/product.f90
M flang/test/Lower/Intrinsics/reduce.f90
M flang/test/Lower/Intrinsics/rename.f90
M flang/test/Lower/Intrinsics/second.f90
M flang/test/Lower/Intrinsics/selected_logical_kind.f90
M flang/test/Lower/Intrinsics/shape.f90
M flang/test/Lower/Intrinsics/signal.f90
M flang/test/Lower/Intrinsics/sin_complex16.f90
M flang/test/Lower/Intrinsics/sinh_complex16.f90
M flang/test/Lower/Intrinsics/sqrt_complex16.f90
M flang/test/Lower/Intrinsics/sum.f90
M flang/test/Lower/Intrinsics/system-optional.f90
M flang/test/Lower/Intrinsics/system.f90
M flang/test/Lower/Intrinsics/tan_complex16.f90
M flang/test/Lower/Intrinsics/tanh_complex16.f90
M flang/test/Lower/OpenACC/acc-atomic-capture.f90
M flang/test/Lower/OpenACC/acc-atomic-read.f90
M flang/test/Lower/OpenACC/acc-atomic-update-array.f90
M flang/test/Lower/OpenACC/acc-atomic-update-hlfir.f90
M flang/test/Lower/OpenACC/acc-atomic-update.f90
M flang/test/Lower/OpenACC/acc-atomic-write.f90
M flang/test/Lower/OpenACC/acc-data-operands-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-data-operands.f90
M flang/test/Lower/OpenACC/acc-declare-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-declare.f90
M flang/test/Lower/OpenACC/acc-enter-data-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-enter-data.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-kernels.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-parallel.f90
M flang/test/Lower/OpenACC/acc-private-unwrap-defaultbounds.f90
M flang/test/Lower/OpenACC/acc-private.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenACC/acc-serial.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/distribute-standalone-private.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/wsloop.f90
R flang/test/Lower/OpenMP/Todo/from-expectation-modifier.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-close.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-ompxhold.f90
R flang/test/Lower/OpenMP/Todo/map-modifiers-present.f90
M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
A flang/test/Lower/OpenMP/Todo/taskloop-cancel.f90
R flang/test/Lower/OpenMP/Todo/to-expectation-modifier.f90
M flang/test/Lower/OpenMP/allocatable-array-bounds.f90
M flang/test/Lower/OpenMP/allocatable-map.f90
M flang/test/Lower/OpenMP/array-bounds.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-read.f90
M flang/test/Lower/OpenMP/atomic-update.f90
M flang/test/Lower/OpenMP/atomic-write.f90
M flang/test/Lower/OpenMP/common-atomic-lowering.f90
M flang/test/Lower/OpenMP/copyin-order.f90
M flang/test/Lower/OpenMP/copyin.f90
M flang/test/Lower/OpenMP/critical.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/default-clause.f90
M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
M flang/test/Lower/OpenMP/distribute-parallel-do-simd.f90
M flang/test/Lower/OpenMP/distribute.f90
M flang/test/Lower/OpenMP/flush.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
A flang/test/Lower/OpenMP/has_device_addr-mapinfo.f90
M flang/test/Lower/OpenMP/hlfir-seqloop-parallel.f90
M flang/test/Lower/OpenMP/lastprivate-allocatable.f90
M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
M flang/test/Lower/OpenMP/lastprivate-iv.f90
M flang/test/Lower/OpenMP/lastprivate-simd.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/map-mapper.f90
A flang/test/Lower/OpenMP/map-modifiers.f90
A flang/test/Lower/OpenMP/missing-inode.f90
M flang/test/Lower/OpenMP/order-clause.f90
M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
M flang/test/Lower/OpenMP/parallel-private-clause.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop-lastpriv.f90
M flang/test/Lower/OpenMP/parallel-wsloop.f90
M flang/test/Lower/OpenMP/parallel.f90
M flang/test/Lower/OpenMP/private-commonblock.f90
M flang/test/Lower/OpenMP/private-derived-type.f90
A flang/test/Lower/OpenMP/privatization-proc-ptr.f90
A flang/test/Lower/OpenMP/reduction-equivalence.f90
M flang/test/Lower/OpenMP/scan.f90
M flang/test/Lower/OpenMP/sections.f90
M flang/test/Lower/OpenMP/shared-loop.f90
M flang/test/Lower/OpenMP/simd.f90
M flang/test/Lower/OpenMP/simd_x86_64.f90
M flang/test/Lower/OpenMP/single.f90
M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
A flang/test/Lower/OpenMP/target-map-complex.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/task.f90
M flang/test/Lower/OpenMP/threadprivate-char-array-chararray.f90
A flang/test/Lower/OpenMP/threadprivate-common-block-pointer.f90
M flang/test/Lower/OpenMP/threadprivate-commonblock.f90
M flang/test/Lower/OpenMP/threadprivate-default-clause.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-host-association.f90
M flang/test/Lower/OpenMP/threadprivate-integer-different-kinds.f90
M flang/test/Lower/OpenMP/threadprivate-pointer-allocatable.f90
M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
M flang/test/Lower/OpenMP/threadprivate-use-association-2-hlfir.f90
M flang/test/Lower/OpenMP/threadprivate-use-association.f90
M flang/test/Lower/OpenMP/unstructured.f90
M flang/test/Lower/OpenMP/wsloop-chunks.f90
M flang/test/Lower/OpenMP/wsloop-collapse.f90
M flang/test/Lower/OpenMP/wsloop-monotonic.f90
M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
M flang/test/Lower/OpenMP/wsloop-reduction-pointer.f90
M flang/test/Lower/OpenMP/wsloop-schedule.f90
M flang/test/Lower/OpenMP/wsloop-variable.f90
M flang/test/Lower/OpenMP/wsloop.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/allocate-source-allocatables-2.f90
M flang/test/Lower/array-character.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/complex-operations.f90
M flang/test/Lower/components.f90
M flang/test/Lower/default-initialization.f90
M flang/test/Lower/derived-type-finalization.f90
M flang/test/Lower/derived-type-temp.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/forall/forall-allocatable-2.f90
M flang/test/Lower/intentout-deallocate.f90
M flang/test/Lower/io-asynchronous.f90
M flang/test/Lower/nullify-polymorphic.f90
M flang/test/Lower/pointer-default-init.f90
A flang/test/Lower/repack-arrays-asynchronous.f90
A flang/test/Lower/repack-arrays-finalized-dummy.f90
A flang/test/Lower/repack-arrays-target.f90
A flang/test/Lower/repack-arrays.f90
M flang/test/Lower/structure-constructors-alloc-comp.f90
M flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/depobj-construct.f90
M flang/test/Parser/OpenMP/doacross-clause.f90
M flang/test/Parser/OpenMP/from-clause.f90
M flang/test/Parser/OpenMP/if-clause.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
A flang/test/Parser/OpenMP/metadirective-flush.f90
M flang/test/Parser/OpenMP/metadirective-v50.f90
M flang/test/Parser/OpenMP/metadirective.f90
M flang/test/Parser/OpenMP/ordered-depend.f90
M flang/test/Parser/OpenMP/scan.f90
M flang/test/Parser/OpenMP/target-update-to-clause.f90
A flang/test/Parser/func-label.f
A flang/test/Preprocessing/bug126459.F90
A flang/test/Semantics/OpenMP/cancel.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/depend01.f90
M flang/test/Semantics/OpenMP/depobj-construct-v50.f90
A flang/test/Semantics/OpenMP/equivalence-namelist.f90
M flang/test/Semantics/OpenMP/metadirective-common.f90
A flang/test/Semantics/OpenMP/single03.f90
A flang/test/Semantics/OpenMP/single04.f90
A flang/test/Semantics/OpenMP/test_taskloop_lastprivate_semantic_restrictions.f90
A flang/test/Semantics/OpenMP/test_taskloop_reduction_semantic_restrictions.f90
M flang/test/Semantics/OpenMP/threadprivate04.f90
M flang/test/Semantics/allocate12.f90
M flang/test/Semantics/array-constr-values.f90
M flang/test/Semantics/assign02.f90
M flang/test/Semantics/assign11.f90
M flang/test/Semantics/bindings01.f90
A flang/test/Semantics/bug131579.f90
A flang/test/Semantics/bug396.f90
M flang/test/Semantics/c_f_pointer.f90
M flang/test/Semantics/call04.f90
M flang/test/Semantics/call06.f90
M flang/test/Semantics/call10.f90
M flang/test/Semantics/call12.f90
A flang/test/Semantics/change_team02.f90
M flang/test/Semantics/coarrays02.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/cuf13.cuf
M flang/test/Semantics/data05.f90
M flang/test/Semantics/deallocate05.f90
M flang/test/Semantics/event02b.f90
M flang/test/Semantics/expr-errors06.f90
M flang/test/Semantics/form_team01a.f90
M flang/test/Semantics/form_team01b.f90
M flang/test/Semantics/intrinsics01.f90
M flang/test/Semantics/io11.f90
M flang/test/Semantics/lockstmt03.f90
M flang/test/Semantics/modfile12.f90
A flang/test/Semantics/modfile74.f90
M flang/test/Semantics/move_alloc.f90
A flang/test/Semantics/pdt04.f90
M flang/test/Semantics/resolve105.f90
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
A flang/test/Transforms/debug-dummy-argument.fir
M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir
M flang/test/Transforms/omp-map-info-finalization.fir
A flang/test/Transforms/simplify-fir-operations.fir
M flang/test/Transforms/simplifyintrinsics.fir
M flang/test/Transforms/stack-arrays-hlfir.f90
M flang/tools/bbc/bbc.cpp
M flang/tools/f18/CMakeLists.txt
M flang/tools/flang-driver/CMakeLists.txt
M flang/tools/flang-driver/fc1_main.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/cmake/modules/prepare_libc_gpu_build.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/config.json
M libc/config/darwin/arm/entrypoints.txt
M libc/config/gpu/amdgpu/config.json
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/config.json
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.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/config/linux/x86_64/headers.txt
A libc/config/uefi/config.json
A libc/config/uefi/entrypoints.txt
A libc/config/uefi/headers.txt
M libc/config/windows/entrypoints.txt
M libc/docs/CMakeLists.txt
M libc/docs/configure.rst
M libc/docs/getting_started.rst
M libc/docs/gpu/rpc.rst
M libc/docs/headers/index.rst
M libc/docs/headers/math/index.rst
R libc/docs/headers/math/stdfix.rst
A libc/docs/headers/stdfix.rst
M libc/docs/index.rst
A libc/docs/uefi/building.rst
A libc/docs/uefi/index.rst
A libc/docs/uefi/support.rst
A libc/docs/uefi/testing.rst
A libc/docs/uefi/using.rst
M libc/hdr/CMakeLists.txt
A libc/hdr/locale_macros.h
A libc/hdr/sched_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/cpu_set_t.h
A libc/hdr/types/struct_dl_phdr_info.h
M libc/hdr/wchar_overlay.h
M libc/include/CMakeLists.txt
M libc/include/Uefi.yaml
R libc/include/link.h.def
M libc/include/link.yaml
M libc/include/llvm-libc-macros/CMakeLists.txt
M libc/include/llvm-libc-macros/linux/sched-macros.h
M libc/include/llvm-libc-macros/stdfix-macros.h
A libc/include/llvm-libc-macros/sysexits-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__dl_iterate_phdr_callback_t.h
M libc/include/llvm-libc-types/cpu_set_t.h
A libc/include/llvm-libc-types/struct_dl_phdr_info.h
M libc/include/math.yaml
M libc/include/search.yaml
M libc/include/stdfix.yaml
M libc/include/strings.yaml
A libc/include/sysexits.h.def
A libc/include/sysexits.yaml
M libc/shared/rpc_opcodes.h
A libc/shared/rpc_server.h
M libc/src/CMakeLists.txt
M libc/src/__support/CPP/bit.h
M libc/src/__support/CPP/span.h
M libc/src/__support/CPP/string.h
M libc/src/__support/CPP/string_view.h
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/FPBits.h
M libc/src/__support/FPUtil/NormalFloat.h
M libc/src/__support/FPUtil/aarch64/FEnvImpl.h
M libc/src/__support/FPUtil/aarch64/fenv_darwin_impl.h
M libc/src/__support/FPUtil/double_double.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/generic/CMakeLists.txt
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/FPUtil/generic/sqrt_80_bit_long_double.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/OSUtil/darwin/io.h
M libc/src/__support/OSUtil/io.h
A libc/src/__support/OSUtil/uefi/CMakeLists.txt
A libc/src/__support/OSUtil/uefi/exit.cpp
A libc/src/__support/OSUtil/uefi/io.cpp
A libc/src/__support/OSUtil/uefi/io.h
A libc/src/__support/RPC/rpc_server.h
M libc/src/__support/big_int.h
M libc/src/__support/float_to_string.h
M libc/src/__support/high_precision_decimal.h
M libc/src/__support/integer_literals.h
M libc/src/__support/integer_to_string.h
M libc/src/__support/macros/properties/cpu_features.h
M libc/src/__support/math_extras.h
M libc/src/__support/memory_size.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
A libc/src/link/CMakeLists.txt
A libc/src/link/dl_iterate_phdr.cpp
A libc/src/link/dl_iterate_phdr.h
M libc/src/locale/CMakeLists.txt
M libc/src/locale/duplocale.cpp
M libc/src/locale/freelocale.cpp
M libc/src/locale/locale.cpp
M libc/src/locale/newlocale.cpp
M libc/src/locale/newlocale.h
M libc/src/locale/setlocale.cpp
M libc/src/locale/setlocale.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acoshf16.h
A libc/src/math/fmaf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acosf.cpp
M libc/src/math/generic/acosf16.cpp
M libc/src/math/generic/acoshf.cpp
A libc/src/math/generic/acoshf16.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinhf.cpp
A libc/src/math/generic/atan.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f.cpp
A libc/src/math/generic/atan_utils.h
M libc/src/math/generic/atanf.cpp
M libc/src/math/generic/cbrt.cpp
M libc/src/math/generic/cbrtf.cpp
M libc/src/math/generic/cos.cpp
M libc/src/math/generic/cosf.cpp
M libc/src/math/generic/cosf16.cpp
M libc/src/math/generic/coshf16.cpp
M libc/src/math/generic/cospif.cpp
M libc/src/math/generic/erff.cpp
M libc/src/math/generic/exp10f16.cpp
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp10m1f16.cpp
M libc/src/math/generic/exp2.cpp
M libc/src/math/generic/exp2f16.cpp
M libc/src/math/generic/exp2f_impl.h
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/exp2m1f16.cpp
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/expf16.cpp
M libc/src/math/generic/expm1f.cpp
M libc/src/math/generic/expm1f16.cpp
A libc/src/math/generic/fmaf16.cpp
M libc/src/math/generic/fmul.cpp
M libc/src/math/generic/hypotf.cpp
M libc/src/math/generic/log.cpp
M libc/src/math/generic/log10.cpp
M libc/src/math/generic/log10f.cpp
M libc/src/math/generic/log10f16.cpp
M libc/src/math/generic/log1p.cpp
M libc/src/math/generic/log1pf.cpp
M libc/src/math/generic/log2.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/log2f16.cpp
M libc/src/math/generic/logf.cpp
M libc/src/math/generic/logf16.cpp
M libc/src/math/generic/pow.cpp
M libc/src/math/generic/powf.cpp
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/math/generic/sin.cpp
M libc/src/math/generic/sincos.cpp
M libc/src/math/generic/sincos_eval.h
M libc/src/math/generic/sincosf.cpp
M libc/src/math/generic/sincosf16_utils.h
M libc/src/math/generic/sincosf_utils.h
M libc/src/math/generic/sinf.cpp
M libc/src/math/generic/sinf16.cpp
M libc/src/math/generic/sinhf.cpp
M libc/src/math/generic/sinhf16.cpp
M libc/src/math/generic/tan.cpp
M libc/src/math/generic/tanf.cpp
M libc/src/math/generic/tanf16.cpp
M libc/src/math/generic/tanhf16.cpp
M libc/src/math/generic/tanpif16.cpp
M libc/src/sched/CMakeLists.txt
M libc/src/sched/linux/CMakeLists.txt
M libc/src/sched/linux/sched_getcpucount.cpp
A libc/src/sched/linux/sched_getcpuisset.cpp
A libc/src/sched/linux/sched_setcpuset.cpp
A libc/src/sched/linux/sched_setcpuzero.cpp
A libc/src/sched/sched_getcpuisset.h
A libc/src/sched/sched_setcpuset.h
A libc/src/sched/sched_setcpuzero.h
M libc/src/search/CMakeLists.txt
M libc/src/search/lfind.cpp
A libc/src/search/lsearch.cpp
A libc/src/search/lsearch.h
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/baremetal/getchar.cpp
M libc/src/stdio/baremetal/printf.cpp
A libc/src/stdio/baremetal/scanf.cpp
A libc/src/stdio/baremetal/scanf_internal.h
M libc/src/stdio/baremetal/vprintf.cpp
A libc/src/stdio/baremetal/vscanf.cpp
R libc/src/stdio/fscanf.cpp
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/fscanf.cpp
A libc/src/stdio/generic/scanf.cpp
A libc/src/stdio/generic/vfscanf.cpp
A libc/src/stdio/generic/vscanf.cpp
M libc/src/stdio/printf_core/CMakeLists.txt
M libc/src/stdio/printf_core/char_converter.h
R libc/src/stdio/printf_core/converter.cpp
M libc/src/stdio/printf_core/converter.h
M libc/src/stdio/printf_core/fixed_converter.h
M libc/src/stdio/printf_core/float_dec_converter.h
M libc/src/stdio/printf_core/float_dec_converter_limited.h
M libc/src/stdio/printf_core/float_hex_converter.h
M libc/src/stdio/printf_core/float_inf_nan_converter.h
M libc/src/stdio/printf_core/int_converter.h
M libc/src/stdio/printf_core/parser.h
R libc/src/stdio/printf_core/printf_main.cpp
M libc/src/stdio/printf_core/printf_main.h
M libc/src/stdio/printf_core/ptr_converter.h
M libc/src/stdio/printf_core/strerror_converter.h
M libc/src/stdio/printf_core/string_converter.h
M libc/src/stdio/printf_core/vasprintf_internal.h
M libc/src/stdio/printf_core/vfprintf_internal.h
M libc/src/stdio/printf_core/write_int_converter.h
R libc/src/stdio/printf_core/writer.cpp
M libc/src/stdio/printf_core/writer.h
R libc/src/stdio/scanf.cpp
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/converter.cpp
M libc/src/stdio/scanf_core/converter.h
M libc/src/stdio/scanf_core/current_pos_converter.h
R libc/src/stdio/scanf_core/float_converter.cpp
M libc/src/stdio/scanf_core/float_converter.h
R libc/src/stdio/scanf_core/int_converter.cpp
M libc/src/stdio/scanf_core/int_converter.h
M libc/src/stdio/scanf_core/parser.h
R libc/src/stdio/scanf_core/ptr_converter.cpp
M libc/src/stdio/scanf_core/ptr_converter.h
M libc/src/stdio/scanf_core/reader.h
R libc/src/stdio/scanf_core/scanf_main.cpp
M libc/src/stdio/scanf_core/scanf_main.h
R libc/src/stdio/scanf_core/string_converter.cpp
M libc/src/stdio/scanf_core/string_converter.h
A libc/src/stdio/scanf_core/string_reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/stdio/snprintf.cpp
M libc/src/stdio/sprintf.cpp
M libc/src/stdio/sscanf.cpp
R libc/src/stdio/vfscanf.cpp
R libc/src/stdio/vscanf.cpp
M libc/src/stdio/vsnprintf.cpp
M libc/src/stdio/vsprintf.cpp
M libc/src/stdio/vsscanf.cpp
M libc/src/stdlib/quick_sort.h
M libc/src/stdlib/str_from_util.h
M libc/src/stdlib/strfromd.cpp
M libc/src/stdlib/strfromf.cpp
M libc/src/stdlib/strfroml.cpp
M libc/src/string/memory_utils/inline_bcmp.h
M libc/src/string/memory_utils/inline_memcmp.h
M libc/src/string/memory_utils/inline_memcpy.h
M libc/src/string/memory_utils/inline_memmove.h
M libc/src/string/memory_utils/inline_memset.h
M libc/src/string/memory_utils/utils.h
M libc/src/string/string_utils.h
M libc/src/strings/CMakeLists.txt
A libc/src/strings/ffs.cpp
A libc/src/strings/ffs.h
A libc/src/strings/ffsl.cpp
A libc/src/strings/ffsl.h
A libc/src/strings/ffsll.cpp
A libc/src/strings/ffsll.h
A libc/src/strings/strcasecmp_l.cpp
A libc/src/strings/strcasecmp_l.h
A libc/src/strings/strncasecmp_l.cpp
A libc/src/strings/strncasecmp_l.h
M libc/src/time/strftime.cpp
M libc/src/time/strftime_core/CMakeLists.txt
M libc/src/time/strftime_core/composite_converter.h
R libc/src/time/strftime_core/converter.cpp
M libc/src/time/strftime_core/converter.h
M libc/src/time/strftime_core/num_converter.h
M libc/src/time/strftime_core/str_converter.h
R libc/src/time/strftime_core/strftime_main.cpp
M libc/src/time/strftime_core/strftime_main.h
M libc/src/time/strftime_l.cpp
M libc/test/UnitTest/CMakeLists.txt
A libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/ExecuteFunction.h
M libc/test/UnitTest/ExecuteFunctionUnix.cpp
M libc/test/UnitTest/LibcTest.cpp
M libc/test/UnitTest/MemoryMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/pthread/pthread_rwlock_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/gpu/rpc_test.cpp
M libc/test/src/__support/CPP/bit_test.cpp
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/arg_list_test.cpp
M libc/test/src/__support/big_int_test.cpp
M libc/test/src/__support/blockstore_test.cpp
M libc/test/src/__support/fixed_point/fx_bits_test.cpp
M libc/test/src/__support/fixedvector_test.cpp
M libc/test/src/__support/hash_test.cpp
M libc/test/src/__support/integer_to_string_test.cpp
M libc/test/src/__support/math_extras_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/complex/CImagTest.h
M libc/test/src/complex/CRealTest.h
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/locale/CMakeLists.txt
M libc/test/src/locale/locale_test.cpp
M libc/test/src/locale/localeconv_test.cpp
M libc/test/src/math/AddTest.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/CopySignTest.h
M libc/test/src/math/FMaxTest.h
M libc/test/src/math/FMinTest.h
M libc/test/src/math/FModTest.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/FrexpTest.h
M libc/test/src/math/NextAfterTest.h
M libc/test/src/math/SubTest.h
A libc/test/src/math/acoshf16_test.cpp
A libc/test/src/math/add_same_type_test.cpp
A libc/test/src/math/atan_test.cpp
M libc/test/src/math/exhaustive/exhaustive_test.h
M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
A libc/test/src/math/fmaf16_test.cpp
M libc/test/src/math/smoke/AddTest.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/FmaTest.h
M libc/test/src/math/smoke/NextAfterTest.h
M libc/test/src/math/smoke/NextTowardTest.h
M libc/test/src/math/smoke/SubTest.h
A libc/test/src/math/smoke/acoshf16_test.cpp
A libc/test/src/math/smoke/add_same_type_test.cpp
A libc/test/src/math/smoke/atan_test.cpp
A libc/test/src/math/smoke/fmaf16_test.cpp
A libc/test/src/math/smoke/sub_same_type_test.cpp
A libc/test/src/math/sub_same_type_test.cpp
M libc/test/src/search/CMakeLists.txt
A libc/test/src/search/lsearch_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
M libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
M libc/test/src/stdfix/CMakeLists.txt
A libc/test/src/stdfix/macros_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/printf_core/parser_test.cpp
M libc/test/src/stdio/printf_core/writer_test.cpp
M libc/test/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/converter_test.cpp
M libc/test/src/stdio/scanf_core/reader_test.cpp
M libc/test/src/stdio/sscanf_test.cpp
M libc/test/src/stdlib/SortingTest.h
M libc/test/src/stdlib/StrfromTest.h
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/memory_utils/memory_check_utils.h
M libc/test/src/string/memory_utils/op_tests.cpp
M libc/test/src/string/memory_utils/utils_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/strings/CMakeLists.txt
M libc/test/src/strings/bcopy_test.cpp
A libc/test/src/strings/ffs_test.cpp
A libc/test/src/strings/ffsl_test.cpp
A libc/test/src/strings/ffsll_test.cpp
A libc/test/src/strings/strcasecmp_l_test.cpp
A libc/test/src/strings/strncasecmp_l_test.cpp
M libc/test/src/sys/random/linux/getrandom_test.cpp
M libc/test/src/sys/socket/linux/CMakeLists.txt
M libc/test/src/sys/socket/linux/bind_test.cpp
M libc/test/src/sys/socket/linux/send_recv_test.cpp
M libc/test/src/sys/socket/linux/sendmsg_recvmsg_test.cpp
M libc/test/src/sys/socket/linux/sendto_recvfrom_test.cpp
M libc/test/src/sys/socket/linux/socket_test.cpp
M libc/test/src/sys/socket/linux/socketpair_test.cpp
M libc/test/src/sys/uio/readv_test.cpp
M libc/test/src/sys/uio/writev_test.cpp
M libc/test/src/time/strftime_test.cpp
M libc/test/src/unistd/CMakeLists.txt
M libc/test/src/unistd/access_test.cpp
M libc/test/src/unistd/chdir_test.cpp
M libc/test/src/unistd/dup2_test.cpp
M libc/test/src/unistd/dup3_test.cpp
M libc/test/src/unistd/dup_test.cpp
M libc/test/src/unistd/fchdir_test.cpp
M libc/test/src/unistd/fpathconf_test.cpp
M libc/test/src/unistd/ftruncate_test.cpp
M libc/test/src/unistd/getentropy_test.cpp
M libc/test/src/unistd/getsid_test.cpp
M libc/test/src/unistd/isatty_test.cpp
M libc/test/src/unistd/link_test.cpp
M libc/test/src/unistd/linkat_test.cpp
M libc/test/src/unistd/lseek_test.cpp
M libc/test/src/unistd/pathconf_test.cpp
M libc/test/src/unistd/pipe2_test.cpp
M libc/test/src/unistd/pipe_test.cpp
M libc/test/src/unistd/pread_pwrite_test.cpp
M libc/test/src/unistd/read_write_test.cpp
M libc/test/src/unistd/readlink_test.cpp
M libc/test/src/unistd/readlinkat_test.cpp
M libc/test/src/unistd/rmdir_test.cpp
M libc/test/src/unistd/symlink_test.cpp
M libc/test/src/unistd/symlinkat_test.cpp
M libc/test/src/unistd/syscall_test.cpp
M libc/test/src/unistd/truncate_test.cpp
M libc/test/src/unistd/unlink_test.cpp
M libc/test/src/unistd/unlinkat_test.cpp
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPFRUtils.cpp
A libc/utils/docgen/dirent.yaml
A libc/utils/docgen/glob.yaml
A libc/utils/docgen/sys/utsname.yaml
R libc/utils/gpu/CMakeLists.txt
R libc/utils/gpu/loader/CMakeLists.txt
R libc/utils/gpu/loader/Loader.h
R libc/utils/gpu/loader/Main.cpp
R libc/utils/gpu/loader/amdgpu/CMakeLists.txt
R libc/utils/gpu/loader/amdgpu/amdhsa-loader.cpp
R libc/utils/gpu/loader/nvptx/CMakeLists.txt
R libc/utils/gpu/loader/nvptx/nvptx-loader.cpp
R libc/utils/gpu/server/CMakeLists.txt
R libc/utils/gpu/server/rpc_server.cpp
M libc/utils/hdrgen/hdrgen/header.py
M libclc/CMakeLists.txt
M libclc/clc/include/clc/math/clc_subnormal_config.h
M libclc/clc/include/clc/math/math.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_bitselect.inc
M libclc/clc/lib/amdgcn/math/clc_ldexp_override.cl
M libclc/clc/lib/amdgpu/math/clc_sqrt_fp64.cl
M libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/common/clc_degrees.cl
M libclc/clc/lib/generic/common/clc_radians.cl
M libclc/clc/lib/generic/common/clc_smoothstep.cl
M libclc/clc/lib/generic/math/clc_frexp.cl
M libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/clc/lib/generic/math/clc_hypot.cl
M libclc/clc/lib/generic/math/clc_hypot.inc
M libclc/clc/lib/generic/math/clc_ldexp.cl
M libclc/clc/lib/generic/math/clc_log10.cl
M libclc/clc/lib/generic/math/clc_log2.cl
M libclc/clc/lib/generic/math/clc_log_base.h
M libclc/clc/lib/generic/math/clc_modf.cl
M libclc/clc/lib/generic/math/clc_modf.inc
M libclc/clc/lib/generic/math/clc_rsqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.cl
M libclc/clc/lib/generic/math/clc_sqrt.inc
M libclc/clc/lib/generic/math/clc_sw_fma.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/generic/relational/clc_bitselect.inc
M libclc/clspv/lib/subnormal_config.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/degrees.inc
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/radians.inc
M libclc/generic/include/clc/common/smoothstep.h
M libclc/generic/include/clc/common/smoothstep.inc
M libclc/generic/include/clc/common/step.h
M libclc/generic/include/clc/common/step.inc
M libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/fast_distance.h
M libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
M libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
M libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asinh.h
M libclc/generic/include/clc/math/asinpi.h
M libclc/generic/include/clc/math/atan.h
M libclc/generic/include/clc/math/atan2.h
M libclc/generic/include/clc/math/atan2pi.h
M libclc/generic/include/clc/math/atanh.h
M libclc/generic/include/clc/math/atanpi.h
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/fract.h
M libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/ldexp.h
M libclc/generic/include/clc/math/ldexp.inc
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/modf.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/bitselect.inc
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/radians.cl
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/geometric/distance.cl
M libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
M libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
M libclc/generic/lib/geometric/normalize.cl
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atan.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
M libclc/generic/lib/math/atanpi.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cos.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/fract.cl
M libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/ldexp.cl
M libclc/generic/lib/math/ldexp.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
M libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/sin.cl
M libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/sqrt.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/generic/lib/relational/bitselect.cl
M libclc/generic/lib/relational/bitselect.inc
M libclc/generic/lib/subnormal_config.cl
M libclc/libclc.pc.in
M libclc/spirv/lib/subnormal_config.cl
A libcxx/cmake/caches/Generic-modules-cxx17-lsv.cmake
R libcxx/cmake/caches/Generic-modules-lsv.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Issues.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/TestingLibcxx.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/count.h
M libcxx/include/__algorithm/equal.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/inplace_merge.h
M libcxx/include/__algorithm/ranges_inplace_merge.h
M libcxx/include/__algorithm/ranges_stable_sort.h
M libcxx/include/__algorithm/rotate.h
M libcxx/include/__bit/countr.h
M libcxx/include/__bit/popcount.h
M libcxx/include/__bit_reference
M libcxx/include/__charconv/tables.h
M libcxx/include/__charconv/to_chars_base_10.h
M libcxx/include/__charconv/to_chars_integral.h
M libcxx/include/__charconv/to_chars_result.h
M libcxx/include/__charconv/traits.h
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__concepts/class_or_enum.h
M libcxx/include/__concepts/swappable.h
M libcxx/include/__format/formatter_floating_point.h
M libcxx/include/__format/formatter_integral.h
M libcxx/include/__format/formatter_output.h
M libcxx/include/__functional/binary_function.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/operations.h
M libcxx/include/__functional/unary_function.h
M libcxx/include/__functional/weak_result_type.h
M libcxx/include/__fwd/bit_reference.h
M libcxx/include/__fwd/functional.h
A libcxx/include/__fwd/map.h
A libcxx/include/__fwd/set.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__mutex/once_flag.h
M libcxx/include/__numeric/gcd_lcm.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_pod.h
A libcxx/include/__type_traits/reference_constructs_from_temporary.h
A libcxx/include/__type_traits/reference_converts_from_temporary.h
M libcxx/include/__utility/exception_guard.h
M libcxx/include/__vector/comparison.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/algorithm
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/deque
M libcxx/include/forward_list
M libcxx/include/future
M libcxx/include/list
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/string
M libcxx/include/type_traits
M libcxx/include/version
M libcxx/modules/std/type_traits.inc
M libcxx/test/benchmarks/GenerateInput.h
R libcxx/test/benchmarks/algorithms/count.bench.cpp
R libcxx/test/benchmarks/algorithms/equal.bench.cpp
R libcxx/test/benchmarks/algorithms/fill.bench.cpp
R libcxx/test/benchmarks/algorithms/find.bench.cpp
R libcxx/test/benchmarks/algorithms/for_each.bench.cpp
R libcxx/test/benchmarks/algorithms/mismatch.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/fill_n.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/generate.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/generate_n.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/move.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/move_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/remove.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/remove_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/replace.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/reverse.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/reverse_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/rotate.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/rotate_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/sample.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/shift_left.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/shift_right.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/shuffle.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/swap_ranges.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/transform.binary.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/transform.unary.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/unique.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/unique_copy.bench.cpp
R libcxx/test/benchmarks/algorithms/move.bench.cpp
R libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/adjacent_find.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/any_all_none_of.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/contains.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/contains_subrange.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/count.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/ends_with.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/equal.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find_end.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find_first_of.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/find_last.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/fold.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/is_permutation.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/mismatch.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/search.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/search_n.bench.cpp
A libcxx/test/benchmarks/algorithms/nonmodifying/starts_with.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_ends_with.bench.cpp
R libcxx/test/benchmarks/algorithms/reverse.bench.cpp
R libcxx/test/benchmarks/locale/num_put.bench.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_comparators.pass.cpp
M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_strong.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.compare_exchange_weak.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.ctor.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.load.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.store.pass.cpp
M libcxx/test/libcxx/atomics/atomics.ref/assert.wait.pass.cpp
A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_strong.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/compare_exchange_weak.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/load.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/store.verify.cpp
A libcxx/test/libcxx/atomics/atomics.ref/wait.verify.cpp
M libcxx/test/libcxx/atomics/atomics.syn/incompatible_with_stdatomic.verify.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/ranges_rotate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.count/ranges.count.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.equal/ranges.equal.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.find/ranges.find.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.merge/ranges_inplace_merge.pass.cpp
M libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/ranges.stable.sort.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_omitting_invoke.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/algorithms/robust_against_adl_on_new.pass.cpp
M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
M libcxx/test/std/containers/sequences/array/assert.iterators.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/vector.bool/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/max_size.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
A libcxx/test/std/containers/sequences/vector.bool/reference/ctor_no_default.compile.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/assert.push_back.invalidation.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.modifiers/destroy_elements.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/ifstream.members/offset_range.pass.cpp
M libcxx/test/std/input.output/iostream.format/print.fun/no_file_description.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/algorithm.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/shared_mutex.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/utility.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/numerics/c.math/hermite.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.gcd/gcd.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/add_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.assert.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/div_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/mul_sat.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/saturate_cast.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.compile.pass.cpp
M libcxx/test/std/numerics/numeric.ops/numeric.ops.sat/sub_sat.pass.cpp
M libcxx/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
R libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
M libcxx/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.tai/types.compile.pass.cpp
M libcxx/test/std/time/time.clock/time.clock.utc/types.compile.pass.cpp
M libcxx/test/std/time/time.syn/formatter.tai_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.local/local_info.members.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.info/time.zone.info.sys/sys_info.members.pass.cpp
M libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp
M libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_at_least.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/construct_at.pass.cpp
M libcxx/test/std/utilities/memory/specialized.algorithms/specialized.construct/ranges_construct_at.pass.cpp
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/common.h
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.deprecated.verify.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_constructs_from_temporary.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/reference_converts_from_temporary.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
A libcxx/test/std/utilities/template.bitset/bitset.members/reference.ctor_no_default.compile.pass.cpp
M libcxx/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
A libcxx/test/support/constexpr_random.h
M libcxx/test/support/counting_predicates.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/operator_hijacker.h
M libcxx/test/support/sized_allocator.h
M libcxx/test/support/test_iterators.h
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/ci/run-buildbot-container
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/params.py
M libunwind/src/Registers.hpp
M lld/COFF/Chunks.h
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/MinGW.cpp
M lld/COFF/Options.td
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Symbols.cpp
M lld/COFF/Symbols.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/Hexagon.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/LinkerScript.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/ICF.cpp
M lld/MachO/LTO.cpp
M lld/MachO/Options.td
M lld/MachO/Writer.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/Inputs/defaultlib.yaml
M lld/test/COFF/arm64x-altnames.s
M lld/test/COFF/arm64x-incl.s
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/build-id-sym.s
M lld/test/COFF/locally-imported-arm64x.s
M lld/test/COFF/nodefaultlib.test
M lld/test/ELF/aarch64-feature-gcs.s
M lld/test/ELF/emulation-hexagon.s
M lld/test/ELF/hexagon-eflag.s
A lld/test/ELF/linkerscript/overlay-keep.test
M lld/test/ELF/linkerscript/section-class.test
A lld/test/ELF/loongarch-relax-call36-2.s
A lld/test/ELF/loongarch-relax-call36.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-tls-le.s
M lld/test/ELF/loongarch-tls-gd.s
M lld/test/ELF/loongarch-tls-ld.s
M lld/test/ELF/loongarch-tls-le.s
M lld/test/ELF/lto/riscv-attributes.ll
M lld/test/ELF/riscv-attributes.s
M lld/test/ELF/riscv-relax-hi20-lo12.s
M lld/test/MachO/start-end.s
M lld/test/MachO/sub-library.s
A lld/test/MachO/verify.ll
M lld/wasm/Writer.cpp
M lldb/bindings/headers.swig
M lldb/bindings/interface/SBProcessDocstrings.i
M lldb/bindings/interface/SBProgressDocstrings.i
M lldb/bindings/interface/SBSaveCoreOptionsDocstrings.i
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/resources/build.rst
M lldb/docs/use/python-reference.rst
M lldb/docs/use/symbolfilejson.rst
M lldb/include/lldb/API/SBProcess.h
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Core/Section.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h
M lldb/include/lldb/Expression/IRExecutionUnit.h
R lldb/include/lldb/Host/Alarm.h
M lldb/include/lldb/Host/HostInfoBase.h
M lldb/include/lldb/Host/macosx/HostInfoMacOSX.h
M lldb/include/lldb/Interpreter/OptionValueFileSpecList.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/Language.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadList.h
M lldb/include/lldb/Target/ThreadPlan.h
M lldb/include/lldb/Target/ThreadPlanBase.h
M lldb/include/lldb/Utility/AnsiTerminal.h
M lldb/include/lldb/Utility/FileSpec.h
M lldb/include/lldb/Utility/XcodeSDK.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/gdbclientutils.py
A lldb/packages/Python/lldbsuite/test/lldbgdbproxy.py
M lldb/packages/Python/lldbsuite/test/lldbplatformutil.py
A lldb/packages/Python/lldbsuite/test/lldbreverse.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/lldbgdbserverutils.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBCommandInterpreter.cpp
M lldb/source/API/SBLineEntry.cpp
M lldb/source/API/SBProcess.cpp
M lldb/source/API/SBThread.cpp
M lldb/source/API/SystemInitializerFull.cpp
M lldb/source/Breakpoint/BreakpointResolver.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Disassembler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/Mangled.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/Progress.cpp
M lldb/source/Core/Section.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/DataFormatters/DumpValueObjectOptions.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Expression/IRExecutionUnit.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/Host.cpp
R lldb/source/Host/common/Alarm.cpp
M lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
M lldb/source/Host/macosx/objcxx/MemoryMonitorMacOSX.mm
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/OptionValueFileSpecList.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/ARC/ABISysV_arc.cpp
M lldb/source/Plugins/ABI/ARM/ABIMacOSX_arm.cpp
M lldb/source/Plugins/ABI/ARM/ABISysV_arm.cpp
M lldb/source/Plugins/ABI/Hexagon/ABISysV_hexagon.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/MSP430/ABISysV_msp430.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips.cpp
M lldb/source/Plugins/ABI/Mips/ABISysV_mips64.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc.cpp
M lldb/source/Plugins/ABI/PowerPC/ABISysV_ppc64.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/ABI/SystemZ/ABISysV_s390x.cpp
M lldb/source/Plugins/ABI/X86/ABIMacOSX_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_i386.cpp
M lldb/source/Plugins/ABI/X86/ABISysV_x86_64.cpp
M lldb/source/Plugins/ABI/X86/ABIWindows_x86_64.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
M lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp
M lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp
M lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp
M lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
A lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
A lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.cpp
M lldb/source/Plugins/ObjectFile/JSON/ObjectFileJSON.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.h
M lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp
M lldb/source/Plugins/Platform/Linux/PlatformLinux.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.h
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
A lldb/source/Plugins/Process/AIX/CMakeLists.txt
A lldb/source/Plugins/Process/AIX/NativeProcessAIX.cpp
A lldb/source/Plugins/Process/AIX/NativeProcessAIX.h
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/NativeThreadLinux.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.h
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedProcess.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/ArmUnwindInfo.cpp
M lldb/source/Symbol/CompactUnwindInfo.cpp
M lldb/source/Symbol/DWARFCallFrameInfo.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/Statistics.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadList.cpp
M lldb/source/Target/ThreadPlanBase.cpp
M lldb/source/Utility/FileSpec.cpp
M lldb/source/Utility/XcodeSDK.cpp
M lldb/source/ValueObject/ValueObjectChild.cpp
M lldb/source/ValueObject/ValueObjectSyntheticFilter.cpp
A lldb/test/API/commands/dwim-print/objc/Makefile
A lldb/test/API/commands/dwim-print/objc/TestDWIMPrintObjC.py
A lldb/test/API/commands/dwim-print/objc/main.m
M lldb/test/API/commands/process/launch/TestProcessLaunch.py
M lldb/test/API/commands/settings/TestSettings.py
M lldb/test/API/functionalities/alias/TestBtAliasRepeat.py
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
M lldb/test/API/functionalities/breakpoint/breakpoint_locations/TestBreakpointLocations.py
M lldb/test/API/functionalities/data-formatter/data-formatter-objc/TestDataFormatterObjCNSContainer.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/unordered/TestDataFormatterGenericUnordered.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/span/TestDataFormatterLibcxxSpan.py
M lldb/test/API/functionalities/data-formatter/root-reference-children/TestRootReferenceChildren.py
M lldb/test/API/functionalities/json/object-file/TestObjectFileJSON.py
A lldb/test/API/functionalities/reverse-execution/Makefile
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueNotSupported.py
A lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
A lldb/test/API/functionalities/reverse-execution/main.c
M lldb/test/API/iohandler/unicode/TestUnicode.py
M lldb/test/API/lang/cpp/signed_types/TestSignedTypes.py
M lldb/test/API/lang/objc/foundation/TestObjCMethods.py
M lldb/test/API/lit.cfg.py
A lldb/test/API/macosx/no-nlist-memory-module/Makefile
A lldb/test/API/macosx/no-nlist-memory-module/NoNlists.mk
A lldb/test/API/macosx/no-nlist-memory-module/TestNoNlistsDylib.py
A lldb/test/API/macosx/no-nlist-memory-module/has-nlists.c
A lldb/test/API/macosx/no-nlist-memory-module/main.c
A lldb/test/API/macosx/no-nlist-memory-module/no-nlist-sect.s
A lldb/test/API/macosx/no-nlist-memory-module/no-nlists.c
M lldb/test/API/python_api/sbprogress/TestSBProgress.py
M lldb/test/API/source-manager/TestSourceManager.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-dap/terminated-event/TestDAP_terminatedEvent.py
M lldb/test/API/tools/lldb-dap/variables/TestDAP_variables.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteFork.py
A lldb/test/API/tools/lldb-server/TestGdbRemoteForkResume.py
A lldb/test/API/tools/lldb-server/TestGdbRemote_qMemoryRegion.py
A lldb/test/API/tools/lldb-server/TestGdbRemote_qRegisterInfo.py
M lldb/test/API/tools/lldb-server/TestLldbGdbServer.py
M lldb/test/API/tools/lldb-server/main.cpp
A lldb/test/API/tools/lldb-server/qSupported/Makefile
A lldb/test/API/tools/lldb-server/qSupported/TestGdbRemote_qSupported.py
A lldb/test/API/tools/lldb-server/qSupported/main.c
M lldb/test/API/tools/lldb-server/register-reading/TestGdbRemoteGPacket.py
M lldb/test/API/tools/lldb-server/registers-target-xml-reading/TestGdbRemoteTargetXmlPacket.py
A lldb/test/Shell/Commands/command-statistics-dump.test
M lldb/test/Shell/SymbolFile/DWARF/x86/discontinuous-function.s
M lldb/tools/debugserver/source/MacOSX/MachException.cpp
M lldb/tools/debugserver/source/MacOSX/MachException.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.h
M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/debugserver/source/RNBRemote.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/DAPError.cpp
A lldb/tools/lldb-dap/DAPError.h
M lldb/tools/lldb-dap/DAPForward.h
A lldb/tools/lldb-dap/DAPLog.cpp
A lldb/tools/lldb-dap/DAPLog.h
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
R lldb/tools/lldb-dap/IOStream.cpp
R lldb/tools/lldb-dap/IOStream.h
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/LLDBUtils.cpp
M lldb/tools/lldb-dap/LLDBUtils.h
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
R lldb/tools/lldb-dap/Protocol.cpp
R lldb/tools/lldb-dap/Protocol.h
A lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolBase.h
A lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
A lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
A lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
A lldb/tools/lldb-dap/Transport.cpp
A lldb/tools/lldb-dap/Transport.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/uri-launch-handler.ts
M lldb/tools/lldb-server/CMakeLists.txt
M lldb/unittests/API/CMakeLists.txt
M lldb/unittests/API/SBCommandInterpreterTest.cpp
A lldb/unittests/API/SBLineEntryTest.cpp
M lldb/unittests/Callback/TestBreakpointSetCallback.cpp
M lldb/unittests/Core/ProgressReportTest.cpp
M lldb/unittests/Core/TelemetryTest.cpp
R lldb/unittests/Host/AlarmTest.cpp
M lldb/unittests/Host/CMakeLists.txt
M lldb/unittests/Host/HostInfoTest.cpp
M lldb/unittests/Platform/CMakeLists.txt
M lldb/unittests/Platform/PlatformDarwinTest.cpp
A lldb/unittests/Platform/gdb-server/CMakeLists.txt
A lldb/unittests/Platform/gdb-server/PlatformRemoteGDBServerTest.cpp
M lldb/unittests/Process/gdb-remote/GDBRemoteCommunicationTest.cpp
M lldb/unittests/Symbol/CMakeLists.txt
M lldb/unittests/Symbol/SymtabTest.cpp
A lldb/unittests/Symbol/UnwindPlanTest.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
M lldb/unittests/Utility/AnsiTerminalTest.cpp
M lldb/unittests/Utility/XcodeSDKTest.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CIBestPractices.rst
M llvm/docs/CodeReview.rst
M llvm/docs/CommandGuide/llvm-objcopy.rst
M llvm/docs/CommandGuide/llvm-strip.rst
M llvm/docs/Contributing.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/DirectX/DXContainer.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/GenericOpcode.rst
M llvm/docs/HowToCrossCompileLLVM.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SecurityTransparencyReports.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/WritingAnLLVMPass.rst
M llvm/examples/Kaleidoscope/Chapter8/toy.cpp
M llvm/examples/OrcV2Examples/LLJITWithCustomObjectLinkingLayer/LLJITWithCustomObjectLinkingLayer.cpp
M llvm/examples/OrcV2Examples/LLJITWithGDBRegistrationListener/LLJITWithGDBRegistrationListener.cpp
M llvm/examples/OrcV2Examples/LLJITWithLazyReexports/LLJITWithLazyReexports.cpp
M llvm/examples/OrcV2Examples/LLJITWithObjectLinkingLayerPlugin/LLJITWithObjectLinkingLayerPlugin.cpp
M llvm/examples/OrcV2Examples/LLJITWithThinLTOSummaries/LLJITWithThinLTOSummaries.cpp
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/DenseSet.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/GenericUniformityImpl.h
M llvm/include/llvm/ADT/GenericUniformityInfo.h
M llvm/include/llvm/ADT/SCCIterator.h
M llvm/include/llvm/ADT/STLExtras.h
M llvm/include/llvm/ADT/STLForwardCompat.h
M llvm/include/llvm/ADT/SetVector.h
M llvm/include/llvm/ADT/SmallPtrSet.h
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/include/llvm/ADT/bit.h
M llvm/include/llvm/ADT/ilist_node.h
M llvm/include/llvm/Analysis/BlockFrequencyInfoImpl.h
M llvm/include/llvm/Analysis/CaptureTracking.h
A llvm/include/llvm/Analysis/EphemeralValuesCache.h
M llvm/include/llvm/Analysis/IVDescriptors.h
M llvm/include/llvm/Analysis/InlineCost.h
M llvm/include/llvm/Analysis/OptimizationRemarkEmitter.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/AntiDepBreaker.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
A llvm/include/llvm/CodeGen/BranchFoldingPass.h
M llvm/include/llvm/CodeGen/DebugHandlerBase.h
M llvm/include/llvm/CodeGen/DetectDeadLanes.h
M llvm/include/llvm/CodeGen/ExecutionDomainFix.h
A llvm/include/llvm/CodeGen/ExpandFp.h
R llvm/include/llvm/CodeGen/ExpandLargeFpConvert.h
A llvm/include/llvm/CodeGen/FEntryInserter.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
R runtimes/cmake/Modules/FindLibcCommonUtils.cmake
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.5
[skip ci]
Compare: https://github.com/llvm/llvm-project/compare/838b75db13f8...3dd42102f7ea
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