[all-commits] [llvm/llvm-project] 690b8b: [lld] Avoid repeated map lookups (NFC) (#132327)
Zhaoxin Yang via All-commits
all-commits at lists.llvm.org
Mon Mar 31 03:57:55 PDT 2025
Branch: refs/heads/users/ylzsx/r-tls-ie-to-le-norelax
Home: https://github.com/llvm/llvm-project
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: ce2c4ea658239771dec542249a77dcf2056d8b8a
https://github.com/llvm/llvm-project/commit/ce2c4ea658239771dec542249a77dcf2056d8b8a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h
M llvm/lib/Analysis/InstructionPrecedenceTracking.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#132584)
FirstSpecialInsts caches the first special instruction for each basic
block. This patch "inlines" fill into getFirstSpecialInstruction, the
sole caller, to eliminate repeated hash lookups.
Commit: 6ecc1ff0a45c0065d9f23b91c22d233a0443d5e0
https://github.com/llvm/llvm-project/commit/6ecc1ff0a45c0065d9f23b91c22d233a0443d5e0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachinePipeliner.h
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#132585)
Commit: 0a08d71f2e5966b26bce97db69cd3c5640b1642d
https://github.com/llvm/llvm-project/commit/0a08d71f2e5966b26bce97db69cd3c5640b1642d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#132586)
Commit: 0b181de20665574e086ed147868e34e8787a5286
https://github.com/llvm/llvm-project/commit/0b181de20665574e086ed147868e34e8787a5286
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#132587)
Commit: 2f1416bbcde898d65e9762e6ce498bb0121e4610
https://github.com/llvm/llvm-project/commit/2f1416bbcde898d65e9762e6ce498bb0121e4610
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/ra_iterator.h
A libcxx/include/flat_set
M libcxx/include/module.modulemap
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/modules/std/flat_set.inc
A libcxx/test/libcxx/containers/container.adaptors/flat.set/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/iterator.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/flat_map.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/flat_multimap.nodiscard.verify.cpp
A libcxx/test/libcxx/diagnostics/flat_set.nodiscard.verify.cpp
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
R libcxx/test/std/containers/container.adaptors/flat.map/flat.map.capacity/empty.verify.cpp
R libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.capacity/empty.verify.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.set/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.set/types.compile.pass.cpp
A libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/utils/libcxx/header_information.py
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++] implement std::flat_set (#125241)
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 206b42c98e2073175e1bfa4a02f13bc7ed1482a5
https://github.com/llvm/llvm-project/commit/206b42c98e2073175e1bfa4a02f13bc7ed1482a5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use VPBuilder to create ComputeReductionResult. (NFC)
Update code to use VPBuilder, to simplify follow-up changes.
Commit: a187060de9193ad3ff356195feb04b16f1f28ff0
https://github.com/llvm/llvm-project/commit/a187060de9193ad3ff356195feb04b16f1f28ff0
Author: Jonathan Schleifer <js-github at nil.im>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M clang/include/clang/Basic/ObjCRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
Log Message:
-----------
Allow direct dispatch for the ObjFW runtime (#126382)
Allow direct dispatch for the ObjFW runtime
Commit: 0be69e532c52e99fcea98fe4a824270a921ffc74
https://github.com/llvm/llvm-project/commit/0be69e532c52e99fcea98fe4a824270a921ffc74
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Support/SlowDynamicAPInt.cpp
Log Message:
-----------
[support] SlowDynamicAPInt: use fully qualified namespaces for func definitions (#132575)
Found while trying to amalgamate support lib. And I think current code
style require it anyway.
Commit: a578a75ab54e84a699bd6af436167b54b329f3a5
https://github.com/llvm/llvm-project/commit/a578a75ab54e84a699bd6af436167b54b329f3a5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[Target] Use DenseSet instead of DenseMap (NFC) (#132619)
This patch uses DenseSet instead of DenseMap. Note that the set of
Registers that map to true without this patch is the same as the set
of Registers that are present in the set with this patch. This patch
is inspired by:
commit d7879e524fbbc4c2790dac62343444191f736f00
Author: Craig Topper <craig.topper at sifive.com>
Date: Wed Mar 19 08:32:09 2025 -0700
Commit: 39df4945e1888d407777e58fbf03f6ad1e859c11
https://github.com/llvm/llvm-project/commit/39df4945e1888d407777e58fbf03f6ad1e859c11
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
Log Message:
-----------
[Xtensa] 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: e3966814d55905dcd3aaac1b60d81ff1d686f627
https://github.com/llvm/llvm-project/commit/e3966814d55905dcd3aaac1b60d81ff1d686f627
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
A llvm/test/MC/AArch64/data-directive-specifier.s
R llvm/test/MC/AArch64/elf-reloc-gotpcrel32.s
R llvm/test/MC/AArch64/elf-reloc-plt32.s
Log Message:
-----------
[test] Improve R_AARCH64_PLT32 and R_AARCH64_GOTPCREL32 tests
Commit: c39d39303833c515f11921a96a97d668ed3fddf2
https://github.com/llvm/llvm-project/commit/c39d39303833c515f11921a96a97d668ed3fddf2
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
Log Message:
-----------
ELFObjectWriter: Remove relocation specifier test from shouldRelocateWithSymbol
It's the decision of backend needsRelocateWithSymbol whether the
STT_SECTION adjustment should be suppressed.
test/MC/AArch64/data-directive-specifier.s demonstrates how to test this
property.
Commit: 83c3ec1b07c6c6857379cbdc6819262f2813b8e3
https://github.com/llvm/llvm-project/commit/83c3ec1b07c6c6857379cbdc6819262f2813b8e3
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
Log Message:
-----------
[MC] Move isMemtag test to AArch64
And introduce MCValue::getAddSym & MCValue::getSubSym to simplify code.
We do not utilize the MCSymbol argument of needsRelocateWithSymbol
as it will go away in the future.
Commit: 8a133882bbb2bc89578985973d32d7450bed3611
https://github.com/llvm/llvm-project/commit/8a133882bbb2bc89578985973d32d7450bed3611
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
A llvm/test/MC/RISCV/xqciint-csrs-invalid.s
A llvm/test/MC/RISCV/xqciint-csrs-valid.s
M llvm/test/MC/RISCV/xqciint-invalid.s
M llvm/test/MC/RISCV/xqciint-valid.s
Log Message:
-----------
[RISCV] Xqciint SystemRegs, Final Assembly Insts (#130867)
This adds the Xqciint system registers from the Xqci-0.7 spec, as well
as two leftover instructions: `qc.c.mret` and `qc.c.mnret`
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: b73e144bdf01a27145724d6804a2ab63915428b4
https://github.com/llvm/llvm-project/commit/b73e144bdf01a27145724d6804a2ab63915428b4
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/ELFObjectWriter.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/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
MCValue::SymB is a MCSymbolRefExpr *, which might become MCSymbol * in
the future. Simplify some code that uses MCValue::SymB.
Commit: 46880fe12bd004c9553b2f339b1374d5f054c839
https://github.com/llvm/llvm-project/commit/46880fe12bd004c9553b2f339b1374d5f054c839
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
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/unittests/ADT/SetVectorTest.cpp
M llvm/unittests/ADT/SmallPtrSetTest.cpp
M llvm/unittests/ADT/SmallSetTest.cpp
M llvm/unittests/ADT/StringSetTest.cpp
Log Message:
-----------
[ADT] Add range constructors to *Set (#132623)
DenseSet recently gained a range constructor:
DenseSet<T> Dest(llvm::from_range, Src);
This patch adds the same signature to SetVector, SmallPtrSet,
SmallSet, and StringSet for consistency.
Commit: dfae1f968e7498f0f8487b0539d5a1c322c1daf9
https://github.com/llvm/llvm-project/commit/dfae1f968e7498f0f8487b0539d5a1c322c1daf9
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
Commit: 4781a8ebd0f3c0807adcbf5d8d6c72fd5839eb85
https://github.com/llvm/llvm-project/commit/4781a8ebd0f3c0807adcbf5d8d6c72fd5839eb85
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
Log Message:
-----------
MCValue: add setSpecifier to simplify code
This primarily simplifies backend evaluateAsRelocatableImpl.
Commit: fb44f006413f814ea92690218046732fed049ca5
https://github.com/llvm/llvm-project/commit/fb44f006413f814ea92690218046732fed049ca5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
M libcxx/include/__algorithm/simd_utils.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__compare/compare_three_way_result.h
M libcxx/include/__functional/bind.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__ranges/drop_view.h
M libcxx/include/__ranges/repeat_view.h
M libcxx/include/__ranges/reverse_view.h
M libcxx/include/__ranges/subrange.h
M libcxx/include/__ranges/take_view.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__tuple/make_tuple_types.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/common_reference.h
M libcxx/include/__type_traits/common_type.h
M libcxx/include/__type_traits/strip_signature.h
M libcxx/include/__utility/pair.h
M libcxx/include/array
M libcxx/include/complex
M libcxx/include/experimental/__simd/declaration.h
M libcxx/include/tuple
M libcxx/include/variant
M libcxx/test/tools/clang_tidy_checks/nodebug_on_aliases.cpp
Log Message:
-----------
[libc++] Add [[gnu::nodebug]] on type traits (#128502)
Commit: b2b3cb5f76f15d38e67f70124d275a5696bfdb83
https://github.com/llvm/llvm-project/commit/b2b3cb5f76f15d38e67f70124d275a5696bfdb83
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] memffd_create for linux interception. (#132571)
Commit: ff3e2ba9eb94217f3ad3525dc18b0c7b684e0abf
https://github.com/llvm/llvm-project/commit/ff3e2ba9eb94217f3ad3525dc18b0c7b684e0abf
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-23 (Sun, 23 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:
-----------
Revert "[VPlan] Add transformation to narrow interleave groups. (#106441)"
This reverts commit dfa665f19c52d98b8d833a8e9073427ba5641b19.
This commit caused miscompilations in ffmpeg, see
https://github.com/llvm/llvm-project/pull/106441 for details.
Commit: ff25115ca0e150d723c75ae981b9449e1028ed2d
https://github.com/llvm/llvm-project/commit/ff25115ca0e150d723c75ae981b9449e1028ed2d
Author: Justin Fargnoli <jfargnoli at nvidia.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
M llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
M llvm/test/CodeGen/NVPTX/disjoint-or-addr.ll
M llvm/test/CodeGen/NVPTX/div.ll
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/i128.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test1.ll
M llvm/test/CodeGen/NVPTX/inline-asm-b128-test2.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/no-extra-parens.ll
M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure-ptx.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
Log Message:
-----------
[NVPTX] cleanup & canonicalize `mov` (#129344)
Use a `multiclass` to define `mov` and canonicalize the `mov`
instruction to always use the `b<bit-size>` suffix.
Commit: 549fc0c1f9e7af83b2306029b50ad8d967e08e8a
https://github.com/llvm/llvm-project/commit/549fc0c1f9e7af83b2306029b50ad8d967e08e8a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/GenericCycleImpl.h
Log Message:
-----------
[ADT] Use SetVector::insert_range (NFC) (#132633)
Commit: 06fd10f1da8143a048763e5701e7bd4eb4dc1271
https://github.com/llvm/llvm-project/commit/06fd10f1da8143a048763e5701e7bd4eb4dc1271
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
Log Message:
-----------
[VPlan] Don't create ExtractElement recipes for scalar plans. (#131604)
ExtractElements are no-ops for scalar VPlans. Don't introduce them in
handleUncountableEarlyExit if the plan has only a scalar VF.
This fixes a crash trying to compute the cost of ExtractElement after 26ecf978951b79.
PR: https://github.com/llvm/llvm-project/pull/131604
Commit: 49ce038a1abe594735c81ec6b53789f88d358edc
https://github.com/llvm/llvm-project/commit/49ce038a1abe594735c81ec6b53789f88d358edc
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/MC/RISCV/corev/XCVelw-invalid.s
M llvm/test/MC/RISCV/corev/XCVmem-invalid.s
M llvm/test/MC/RISCV/insn-invalid.s
M llvm/test/MC/RISCV/rv32d-invalid.s
M llvm/test/MC/RISCV/rv32f-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
M llvm/test/MC/RISCV/rv32zfh-invalid.s
M llvm/test/MC/RISCV/rv32zilsd-invalid.s
M llvm/test/MC/RISCV/rv64i-invalid.s
M llvm/test/MC/RISCV/rv64zdinx-invalid.s
M llvm/test/MC/RISCV/rv64zfh-invalid.s
M llvm/test/MC/RISCV/rvi-pseudos-invalid.s
M llvm/test/MC/RISCV/rvzfbfmin-invalid.s
M llvm/test/MC/RISCV/rvzfhmin-invalid.s
M llvm/test/MC/RISCV/tlsdesc.s
M llvm/test/MC/RISCV/xqciac-invalid.s
Log Message:
-----------
RISCVAsmParser: Replace "modifier" with "specifier" in diagnostics
Use the preferred "specifier" term for relocation specifier.
"Relocation modifier" suggests adjustments happen during the linker's
relocation step rather than the assembler's expression evaluation.
The term "relocation specifier" is preferred by Arm for :lower16: and
IBM AIX, and I am trying to standardize in MC.
Pull Request: https://github.com/llvm/llvm-project/pull/132565
Commit: 41b76119ecc2b22546dc27ca51947304cf5aca28
https://github.com/llvm/llvm-project/commit/41b76119ecc2b22546dc27ca51947304cf5aca28
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
M llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp
M llvm/lib/Target/X86/X86RegisterInfo.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/tools/llvm-exegesis/lib/Clustering.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[llvm] Use range constructors for *Set (NFC) (#132636)
Commit: 9d92d4b01ce0ddfdcbb2bd5ec0ec3208ad480ccc
https://github.com/llvm/llvm-project/commit/9d92d4b01ce0ddfdcbb2bd5ec0ec3208ad480ccc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/machine-csr-names.s
Log Message:
-----------
[RISCV] Add alias names for tdata1 and tdata3 CSRs. (#132525)
The RISC-V Debug Specification defines multiple names for these CSRs.
https://github.com/riscv/riscv-debug-spec/releases/tag/1.0
Commit: b32cf756994cbab83e50b9d84df03d5ee03f31f8
https://github.com/llvm/llvm-project/commit/b32cf756994cbab83e50b9d84df03d5ee03f31f8
Author: Alan <ahulambda at gmail.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/include/llvm-c/DebugInfo.h
Log Message:
-----------
[LLVM-C][OCaml] Make LLVMMetadataKind consistent between C and OCaml (#132268)
- Move LLVMDISubrangeTypeMetadataKind to end of LLVMMetadataKind enum.
Inserting a new enum constant in the middle of the enum breaks the ABI for
that enum. Commit e298fc2 introduced this issue, which was revealed because
the OCaml binding tests failed.
- Bring OCaml bindings up to date with LLVMMetadataKind enum.
Commit: 7a056895c59346e75dacee746e101fe92c41a8fd
https://github.com/llvm/llvm-project/commit/7a056895c59346e75dacee746e101fe92c41a8fd
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
M mlir/test/Conversion/MemRefToLLVM/issue-70160.mlir
Log Message:
-----------
[mlir] Fix typo of tests (NFC) (#132396)
Commit: 3b20ac00f915d3c3a34222de429fa0a0a47d7dbc
https://github.com/llvm/llvm-project/commit/3b20ac00f915d3c3a34222de429fa0a0a47d7dbc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Log Message:
-----------
[NFC]Don't use else after a return (#132644)
A trivial code clean-up per
https://llvm.org/docs/CodingStandards.html#don-t-use-else-after-a-return
Commit: 0175dce1380de64f4e0f627093b8f4858e354431
https://github.com/llvm/llvm-project/commit/0175dce1380de64f4e0f627093b8f4858e354431
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/SetVector.h
M llvm/unittests/ADT/SetVectorTest.cpp
Log Message:
-----------
[ADT] Add a range constructor to SmallSetVector (#132645)
DenseSet recently gained a range constructor:
DenseSet<T> Dest(llvm::from_range, Src);
This patch adds the same signature to SmallSetVector for consistency.
Commit: 943a70717c629f43b309ab56e8141ffb131871a6
https://github.com/llvm/llvm-project/commit/943a70717c629f43b309ab56e8141ffb131871a6
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-any-ext.ll
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-sign-ext.ll
Log Message:
-----------
[LoongArch] Pre-commit test for vector sext, zext (#131742)
Commit: 73dc2afd2c334aac735caba94292052d63014c9d
https://github.com/llvm/llvm-project/commit/73dc2afd2c334aac735caba94292052d63014c9d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/PartialInlining.cpp
M llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/lib/Transforms/Utils/LoopUnroll.cpp
M llvm/lib/Transforms/Utils/SSAUpdaterBulk.cpp
Log Message:
-----------
[Transforms] Use *Set::insert_range (NFC) (#132652)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: e409464e955e32aaab7147125982fd57abc534ca
https://github.com/llvm/llvm-project/commit/e409464e955e32aaab7147125982fd57abc534ca
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
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/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_against_proxy_iterators_lifetime_bugs.pass.cpp
M libcxx/test/std/algorithms/robust_re_difference_type.compile.pass.cpp
M libcxx/test/support/test_macros.h
Log Message:
-----------
[libc++][test][NFC] Introduce `TEST_STD_AT_LEAST_26_OR_RUNTIME_EVALUATED` (#132593)
And use it for test cases that became constant-evaluation-suitable due
to P2562R1.
`TEST_STD_AT_LEAST_(20|23)_OR_RUNTIME_EVALUATED` are the precedents.
Commit: 36b1fb5c7afae5583c76f347e247731e5db37190
https://github.com/llvm/llvm-project/commit/36b1fb5c7afae5583c76f347e247731e5db37190
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/orc/tests/unit/error_test.cpp
Log Message:
-----------
[ORC-RT] Fix typos in file comments. NFC.
Commit: 5d8e8e82e1cf0df49afceffe52dbccec3084c15f
https://github.com/llvm/llvm-project/commit/5d8e8e82e1cf0df49afceffe52dbccec3084c15f
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/orc/error.h
R compiler-rt/lib/orc/extensible_rtti.cpp
R compiler-rt/lib/orc/extensible_rtti.h
A compiler-rt/lib/orc/rtti.cpp
A compiler-rt/lib/orc/rtti.h
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
R compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
A compiler-rt/lib/orc/tests/unit/rtti_test.cpp
Log Message:
-----------
[ORC-RT] Rename extensible_rtti.{h,cpp} to rtti.{h,cpp}. NFCI.
The "extensible_" prefix on these files was inherited from LLVM, where it
distinguished the dynamic RTTI APIs from the LLVM's custom static RTTI APIs.
In the ORC runtime these files will be used to hold all of our RTTI APIs
(the current dynamic ones, and any static ones added in the future), so we
shouldn't use this prefix.
Commit: 054e0b41a8a997c6f7cf24c57d6dbe2dcfb2c3be
https://github.com/llvm/llvm-project/commit/054e0b41a8a997c6f7cf24c57d6dbe2dcfb2c3be
Author: Shoreshen <372660931 at qq.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ll
Log Message:
-----------
[AMDGPU] Add all type for bitcast on VReg_512 (#131775)
Add all types pattern for bitcast on VReg_512
Commit: 1019457891fda0b2f32f50ba99d6a261df12ec08
https://github.com/llvm/llvm-project/commit/1019457891fda0b2f32f50ba99d6a261df12ec08
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/IfConversion.cpp
M llvm/lib/CodeGen/IndirectBrExpandPass.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LiveVariables.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/SjLjEHPrepare.cpp
Log Message:
-----------
[CodeGen] Use *Set::insert_range (NFC) (#132651)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
Commit: ef3e521a2b34050d92a6b711c5df811a0bde84f4
https://github.com/llvm/llvm-project/commit/ef3e521a2b34050d92a6b711c5df811a0bde84f4
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
A compiler-rt/lib/orc/tests/unit/unique_function_test.cpp
A compiler-rt/lib/orc/unique_function.h
Log Message:
-----------
[ORC-RT] Add unique_function utility to the ORC runtime.
A bare-bones version of LLVM's unique_function: this behaves like a
std::unique_function, except that it supports move only callable types.
This will be used in upcoming improvements to the ORC runtime.
Commit: 3c2731ce46f01a984a9cc1807207de8d333bc350
https://github.com/llvm/llvm-project/commit/3c2731ce46f01a984a9cc1807207de8d333bc350
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#132657)
Commit: 174110bf3c3b5dc6efa466392f740bb6e9e9acf6
https://github.com/llvm/llvm-project/commit/174110bf3c3b5dc6efa466392f740bb6e9e9acf6
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A llvm/include/llvm/CodeGen/LiveDebugValuesPass.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/LiveDebugValues/LiveDebugValues.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/ARM/dbg-range-extension.mir
M llvm/test/DebugInfo/AArch64/compiler-gen-bbs-livedebugvalues.mir
Log Message:
-----------
[CodeGen][NPM] Port LiveDebugValues to NPM (#131563)
Commit: e3bd1f2b3f2ff8317e72fc828db8bcdbeb50b1aa
https://github.com/llvm/llvm-project/commit/e3bd1f2b3f2ff8317e72fc828db8bcdbeb50b1aa
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-sext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-any-ext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-sign-ext.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
M llvm/test/CodeGen/LoongArch/lsx/vec-zext.ll
Log Message:
-----------
[LoongArch] lower vector shuffle to zero or any extend (#129485)
Commit: 66531c998aa76bfb5538a28656b979c268e7b126
https://github.com/llvm/llvm-project/commit/66531c998aa76bfb5538a28656b979c268e7b126
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libcxx/include/__math/traits.h
M libcxx/test/std/depr/depr.c.headers/math_h.pass.cpp
M libcxx/test/std/numerics/c.math/signbit.pass.cpp
Log Message:
-----------
[libc++] Remove one of the std::signbit overloads (#130505)
We'e specialized `std::signbit` for signed and unsigned integral types
seperately, even though the optimizer can trivially figure out that
`unsigned_value < 0` always false is. This patch removes the
specialization, since there is really not much of a benefit to it.
Commit: ddc62797c4fb30475bb2787101fc5b7acb641af9
https://github.com/llvm/llvm-project/commit/ddc62797c4fb30475bb2787101fc5b7acb641af9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/is_referenceable.h
A libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp
R libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp
M libcxx/test/std/utilities/meta/meta.trans/objc_support.compile.pass.mm
Log Message:
-----------
[libc++] Simplify the implementation of __is_referenceable (#130043)
The `__is_referenceable` builtin has been removed from Clang, since all
its uses have been replaced by builtins themselves. This trait only
exists for GCC compatibility and to word around some issues in the other
traits. The non-builtin implementation has been refactored to use
variable templates instead, making the implementation much simpler.
Commit: 7e6d008023e0892558f75ae3606d0b62000a66d0
https://github.com/llvm/llvm-project/commit/7e6d008023e0892558f75ae3606d0b62000a66d0
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-23 (Sun, 23 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
Log Message:
-----------
AsmPrinter: Remove unneeded lowerRelativeReference overrides
The function is only called by AsmPrinter, where there is a fallback
when lowerRelativeReference returns nullptr.
wasm and XCOFF could use the fallback code.
(lowerRelativeReference was introduced in 2016 (https://reviews.llvm.org/D17938)
for C++ relative vtables, but C++ relative vtables ended up using
dso_local_equivalent. llvm/test/MC/COFF/cross-section-relative.ll also
uses this.)
Commit: 702c38ed7cff8329ed7093b64e51c47c668fadf3
https://github.com/llvm/llvm-project/commit/702c38ed7cff8329ed7093b64e51c47c668fadf3
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_linux.cpp
Log Message:
-----------
[asan] Fix-forward #131975 by renaming 'TryReExecWithoutASLR'
Function definition added in #131975 was missing 'Try' (do or do not ...). My guess is buildbots
mostly didn't trip because usage was gated by 'if (sizeof(uptr) ==
32)', which is rare among buildbots.
Commit: 432328e3f4f22d0cfff8f3a6474f26235799641d
https://github.com/llvm/llvm-project/commit/432328e3f4f22d0cfff8f3a6474f26235799641d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
Log Message:
-----------
[LoongArch] Fix a warning
This patch fixes:
llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp:561:7: error:
unused variable 'ScalarSizeInBits' [-Werror,-Wunused-variable]
Commit: 76b999d70f71dd4339de60f1616c02051f51e001
https://github.com/llvm/llvm-project/commit/76b999d70f71dd4339de60f1616c02051f51e001
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/HeaderGuard.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated map lookups (NFC) (#132656)
Commit: b75dad090c14ebafe445f486e2b27ab47fd12a16
https://github.com/llvm/llvm-project/commit/b75dad090c14ebafe445f486e2b27ab47fd12a16
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/vp-splat-mask.ll
Log Message:
-----------
[RISCV] Support VP_SPLAT mask operations (#132345)
When val is a constant, it will:
(vp.splat val, mask, vl) -> (select val, (riscv_vmset_vl vl),
(riscv_vmclr_vl vl))
Otherwise:
(vp.splat val, mask, vl) -> (vmsne_vl (vmv_v_x_vl (zext val), vl),
splat(zero), mask, vl)
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 41f9a00818d42446168b9904f879c8ab39e7196d
https://github.com/llvm/llvm-project/commit/41f9a00818d42446168b9904f879c8ab39e7196d
Author: Javed Absar <javed.absar at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-empty-tensor-elimination.mlir
Log Message:
-----------
[NFC][mlir][bufferization] (#132637)
Commit: 376aa741b59f9d6a44049f007d29fca832f8a4bf
https://github.com/llvm/llvm-project/commit/376aa741b59f9d6a44049f007d29fca832f8a4bf
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir
Log Message:
-----------
[RegAllocFast] Introduce test for PR131350 (NFC)
Commit: ade22765174e64f6c02233eff8d55e6726e1bab1
https://github.com/llvm/llvm-project/commit/ade22765174e64f6c02233eff8d55e6726e1bab1
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/test/CodeGen/X86/regallocfast-callbr-asm-spills-after-reload.mir
Log Message:
-----------
[RegAllocFast] Ensure live-in vregs get reloaded after INLINEASM_BR spills
We have already ensured in 9cec2b246e719533723562950e56c292fe5dd5ad
that `INLINEASM_BR` output operands get spilled onto the stack, both
in the fallthrough path and in the indirect targets. Since reloads of
live-ins values into physical registers contextually happen after all
MIR instructions (and ops) have been visited, make sure such loads are
placed at the start of the block, but after prologues or `INLINEASM_BR`
spills, as otherwise this may cause stale values to be read from the
stack.
Fixes: #74483, #110251.
Commit: 6e3c24fc0a95b8369c85e0b8f8a6723697e27fbb
https://github.com/llvm/llvm-project/commit/6e3c24fc0a95b8369c85e0b8f8a6723697e27fbb
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/permute_i8.ll
M llvm/test/CodeGen/AMDGPU/sint_to_fp.f64.ll
Log Message:
-----------
[DAG] Combine (sext (sext_in_reg x)) to (sext_in_reg (any_extend x)) (#132386)
Commit: c457c8895181aff3c02e9ffdb7e05f58957aa151
https://github.com/llvm/llvm-project/commit/c457c8895181aff3c02e9ffdb7e05f58957aa151
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CombinerHelperCasts.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/combine-ext-trunc.mir
R llvm/test/CodeGen/AArch64/GlobalISel/combine-with-flags.mir
M llvm/test/CodeGen/AArch64/GlobalISel/prelegalizercombiner-extending-loads.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-trunc-sext.mir
M llvm/test/CodeGen/RISCV/GlobalISel/combine.mir
Log Message:
-----------
[GlobalISel] Combine (sext (trunc x)) to (sext_inreg x) (#131622)
Split from #131312
Commit: ec9546d1699457169da5d6456d4080c52f6972f9
https://github.com/llvm/llvm-project/commit/ec9546d1699457169da5d6456d4080c52f6972f9
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/test/API/tools/lldb-server/TestGdbRemoteForkNonStop.py
Log Message:
-----------
[lldb] Fix TestGdbRemoteForkNonStop.py test (#131293)
During lldb testing on remote targets TestGdbRemoteForkNonStop.py
freezes because in this test we try to create file on remote machine
using absolute file path from local machine. This patch fixes this error
Commit: 38d71c9bdcf6b10c6fe02d5bd74fc8e6efb50a4d
https://github.com/llvm/llvm-project/commit/38d71c9bdcf6b10c6fe02d5bd74fc8e6efb50a4d
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
Log Message:
-----------
[Clang] Fix the assertion condition after b8d1f3d6 (#132669)
Thanks to the example provided by MagentaTreehouse, I realized the
assertion I added in b8d1f3d6 didn't cover all valid cases like, when
inheriting from a class template specialization, the source of a
synthesized template parameter might be an implicit specialization,
whose inner function template is thus living at depth 0, for which we
don’t want it to overflow too.
I've decided to remove that assertion because I don't think it's
particularly useful: we're checking whether Depth = 0 parameters come
from function templates whose parents contribute no template parameters
to the depth, which is redundant given what the template depth already
means.
This also incorporates a drive-by fix for
https://github.com/llvm/llvm-project/pull/132061#discussion_r2008756718,
which I somehow missed.
Commit: 849e5ea94fe8c0007f73ea793ba2a986608a67be
https://github.com/llvm/llvm-project/commit/849e5ea94fe8c0007f73ea793ba2a986608a67be
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
Log Message:
-----------
[clang][bytecode] Add Descriptor::getDataType() (#132681)
This returns the type of data in the Block, which might be different
than the type of the expression or declaration we created the block for.
This lets us remove some special cases from CheckNewDeleteForms() and
CheckNewTypeMismatch().
Commit: ef9c4f4f5cfeb6e3d194a0bb3098c45a5c75d18f
https://github.com/llvm/llvm-project/commit/ef9c4f4f5cfeb6e3d194a0bb3098c45a5c75d18f
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Update assembly format for Image operand types (#130758)
In the example below it is not clear that `(f32)` relates to `%arg2` and
not to `vector<2xf32>`:
```mlir
%0 = spirv.ImageSampleImplicitLod %arg0, %arg1 ["Lod"](%arg2) :
!spirv.sampled_image<...>, vector<2xf32>(f32) -> vector<4xf32>
```
This change applies new format to image operations and image operands
that does not use parenthesis and is less ambiguous:
```mlir
%0 = spirv.ImageSampleImplicitLod %arg0, %arg1 ["Lod"], %arg2 :
!spirv.sampled_image<...>, vector<2xf32>, f32 -> vector<4xf32>
```
Commit: 27d9a3a39e7af51a765aaf453543af0335ac298c
https://github.com/llvm/llvm-project/commit/27d9a3a39e7af51a765aaf453543af0335ac298c
Author: bubblepipe <30717258+bubblepipe at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ScheduleZnver4.td
Log Message:
-----------
[NFC][X86] Correct Zen4 Scheduling (Part 1/2: Rename "19h" to "Zen4") (#131615)
This PR is a non-functional extraction from the original PR
[#128030](https://github.com/llvm/llvm-project/pull/128030).
Renames all instances of "19h" to "Zen4" within Zen'4 scheduling file.
Part 2/2: [[X86] Correct Zen4 Scheduling (Part 2/2: Functional
Changes)](https://github.com/llvm/llvm-project/pull/131616)
---------
Co-authored-by: bubblepipe <nag1sakaw0ru at riseup.net>
Commit: cc5f8293b320d1c6c4d0552cfab481332c83723e
https://github.com/llvm/llvm-project/commit/cc5f8293b320d1c6c4d0552cfab481332c83723e
Author: Florian Ragwitz <florian.ragwitz at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/tools/scan-build/libexec/ccc-analyzer
Log Message:
-----------
[clang][scan-build] Treat --use-cc and --use-c++ as shell commands (#131932)
So that things like --use-cc="ccache gcc" work.
Fixes #26594.
Also use the slightly simpler shellwords instead of quotewords.
Commit: 735d7c153947fd3f1adfb3cda9d29a8359870db0
https://github.com/llvm/llvm-project/commit/735d7c153947fd3f1adfb3cda9d29a8359870db0
Author: Wenju He <wenju.he at intel.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] link_bc target should depends on target builtins.link.clc-arch_suffix (#132338)
Currently link_bc command depends on the bitcode file that is associated
with custom target builtins.link.clc-arch_suffix.
On windows we randomly see following error:
`
Generating builtins.link.clc-${ARCH}--.bc
Generating builtins.link.libspirv-${ARCH}.bc
error : The requested operation cannot be performed on a file with a
user-mapped section open.
`
I suspect that builtins.link.clc-${ARCH}--.bc file is being generated
while it is being used in link_bc.
This PR adds target-level dependency to ensure
builtins.link.clc-${ARCH}--.bc is generated first.
Commit: 7d048674a492d6ef8ec53c234a658da561e81063
https://github.com/llvm/llvm-project/commit/7d048674a492d6ef8ec53c234a658da561e81063
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libclc/amdgcn-amdhsa/lib/workitem/get_global_size.cl
M libclc/amdgcn-amdhsa/lib/workitem/get_local_size.cl
M libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl
M libclc/amdgcn/lib/math/fmax.cl
M libclc/amdgcn/lib/math/fmin.cl
M libclc/amdgcn/lib/mem_fence/fence.cl
M libclc/amdgcn/lib/synchronization/barrier.cl
M libclc/amdgcn/lib/workitem/get_global_offset.cl
M libclc/amdgcn/lib/workitem/get_global_size.cl
M libclc/amdgcn/lib/workitem/get_group_id.cl
M libclc/amdgcn/lib/workitem/get_local_id.cl
M libclc/amdgcn/lib/workitem/get_local_size.cl
M libclc/amdgcn/lib/workitem/get_num_groups.cl
M libclc/amdgcn/lib/workitem/get_work_dim.cl
M libclc/amdgpu/lib/math/half_exp.cl
M libclc/amdgpu/lib/math/half_exp10.cl
M libclc/amdgpu/lib/math/half_exp2.cl
M libclc/amdgpu/lib/math/half_log.cl
M libclc/amdgpu/lib/math/half_log10.cl
M libclc/amdgpu/lib/math/half_log2.cl
M libclc/amdgpu/lib/math/half_native_unary.inc
M libclc/amdgpu/lib/math/half_recip.cl
M libclc/amdgpu/lib/math/half_rsqrt.cl
M libclc/amdgpu/lib/math/half_sqrt.cl
M libclc/amdgpu/lib/math/native_exp.cl
M libclc/amdgpu/lib/math/native_exp.inc
M libclc/amdgpu/lib/math/native_log.cl
M libclc/amdgpu/lib/math/native_log.inc
M libclc/amdgpu/lib/math/native_log10.cl
M libclc/amdgpu/lib/math/native_log10.inc
M libclc/clc/include/clc/clc_as_type.h
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/include/clc/clcfunc.h
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/include/clc/clctypes.h
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/common/clc_smoothstep.inc
M libclc/clc/include/clc/float/definitions.h
M libclc/clc/include/clc/geometric/clc_dot.h
M libclc/clc/include/clc/geometric/clc_dot.inc
M libclc/clc/include/clc/geometric/floatn.inc
M libclc/clc/include/clc/integer/clc_abs.h
M libclc/clc/include/clc/integer/clc_abs.inc
M libclc/clc/include/clc/integer/clc_abs_diff.h
M libclc/clc/include/clc/integer/clc_abs_diff.inc
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_hi.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_popcount.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/integer/clc_upsample.h
M libclc/clc/include/clc/integer/definitions.h
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/integer/gentype24.inc
M libclc/clc/include/clc/internal/clc.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
M libclc/clc/include/clc/math/binary_decl_with_scalar_second_arg.inc
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_ldexp.h
M libclc/clc/include/clc/math/clc_ldexp.inc
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_nan.inc
M libclc/clc/include/clc/math/clc_nextafter.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/include/clc/math/unary_decl.inc
M libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
M libclc/clc/include/clc/math/unary_decl_with_ptr.inc
M libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
M libclc/clc/include/clc/math/unary_def_with_ptr.inc
M libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/include/clc/relational/binary_decl.inc
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnan.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_select.h
M libclc/clc/include/clc/relational/clc_select_decl.inc
M libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/include/clc/relational/floatn.inc
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/include/clc/relational/unary_decl.inc
M libclc/clc/include/clc/shared/binary_decl.inc
M libclc/clc/include/clc/shared/binary_def.inc
M libclc/clc/include/clc/shared/clc_clamp.h
M libclc/clc/include/clc/shared/clc_clamp.inc
M libclc/clc/include/clc/shared/clc_max.h
M libclc/clc/include/clc/shared/clc_max.inc
M libclc/clc/include/clc/shared/clc_min.h
M libclc/clc/include/clc/shared/clc_min.inc
M libclc/clc/include/clc/shared/ternary_decl.inc
M libclc/clc/include/clc/shared/ternary_def.inc
M libclc/clc/include/clc/shared/unary_decl.inc
M libclc/clc/include/clc/shared/unary_def.inc
M libclc/clc/include/clc/utils.h
M libclc/clc/lib/generic/common/clc_sign.cl
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/geometric/clc_dot.cl
M libclc/clc/lib/generic/integer/clc_abs.cl
M libclc/clc/lib/generic/integer/clc_abs.inc
M libclc/clc/lib/generic/integer/clc_abs_diff.cl
M libclc/clc/lib/generic/integer/clc_abs_diff.inc
M libclc/clc/lib/generic/integer/clc_add_sat.cl
M libclc/clc/lib/generic/integer/clc_clz.cl
M libclc/clc/lib/generic/integer/clc_hadd.cl
M libclc/clc/lib/generic/integer/clc_hadd.inc
M libclc/clc/lib/generic/integer/clc_mad24.cl
M libclc/clc/lib/generic/integer/clc_mad24.inc
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul24.cl
M libclc/clc/lib/generic/integer/clc_mul24.inc
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_popcount.cl
M libclc/clc/lib/generic/integer/clc_rhadd.cl
M libclc/clc/lib/generic/integer/clc_rhadd.inc
M libclc/clc/lib/generic/integer/clc_rotate.cl
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/integer/clc_sub_sat.cl
M libclc/clc/lib/generic/integer/clc_upsample.cl
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_copysign.cl
M libclc/clc/lib/generic/math/clc_fabs.cl
M libclc/clc/lib/generic/math/clc_floor.cl
M libclc/clc/lib/generic/math/clc_fma.cl
M libclc/clc/lib/generic/math/clc_fma.inc
M libclc/clc/lib/generic/math/clc_log.cl
M libclc/clc/lib/generic/math/clc_mad.cl
M libclc/clc/lib/generic/math/clc_mad.inc
M libclc/clc/lib/generic/math/clc_nan.cl
M libclc/clc/lib/generic/math/clc_nan.inc
M libclc/clc/lib/generic/math/clc_nextafter.cl
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_rsqrt.inc
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/generic/relational/clc_all.cl
M libclc/clc/lib/generic/relational/clc_any.cl
M libclc/clc/lib/generic/relational/clc_isequal.cl
M libclc/clc/lib/generic/relational/clc_isfinite.cl
M libclc/clc/lib/generic/relational/clc_isgreater.cl
M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
M libclc/clc/lib/generic/relational/clc_isinf.cl
M libclc/clc/lib/generic/relational/clc_isless.cl
M libclc/clc/lib/generic/relational/clc_islessequal.cl
M libclc/clc/lib/generic/relational/clc_islessgreater.cl
M libclc/clc/lib/generic/relational/clc_isnan.cl
M libclc/clc/lib/generic/relational/clc_isnormal.cl
M libclc/clc/lib/generic/relational/clc_isnotequal.cl
M libclc/clc/lib/generic/relational/clc_isordered.cl
M libclc/clc/lib/generic/relational/clc_isunordered.cl
M libclc/clc/lib/generic/relational/clc_select.cl
M libclc/clc/lib/generic/relational/clc_signbit.cl
M libclc/clc/lib/generic/shared/clc_clamp.cl
M libclc/clc/lib/generic/shared/clc_clamp.inc
M libclc/clc/lib/generic/shared/clc_max.cl
M libclc/clc/lib/generic/shared/clc_max.inc
M libclc/clc/lib/generic/shared/clc_min.cl
M libclc/clc/lib/generic/shared/clc_min.inc
M libclc/clc/lib/r600/math/clc_rsqrt_override.cl
M libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/math/fma.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/generic/include/clc/as_type.h
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_copy.inc
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.inc
M libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/async/prefetch.inc
M libclc/generic/include/clc/async/wait_group_events.h
M libclc/generic/include/clc/atom_decl_int32.inc
M libclc/generic/include/clc/atom_decl_int64.inc
M libclc/generic/include/clc/atomic/atomic_add.h
M libclc/generic/include/clc/atomic/atomic_and.h
M libclc/generic/include/clc/atomic/atomic_cmpxchg.h
M libclc/generic/include/clc/atomic/atomic_dec.h
M libclc/generic/include/clc/atomic/atomic_decl.inc
M libclc/generic/include/clc/atomic/atomic_inc.h
M libclc/generic/include/clc/atomic/atomic_max.h
M libclc/generic/include/clc/atomic/atomic_min.h
M libclc/generic/include/clc/atomic/atomic_or.h
M libclc/generic/include/clc/atomic/atomic_sub.h
M libclc/generic/include/clc/atomic/atomic_xchg.h
M libclc/generic/include/clc/atomic/atomic_xor.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
M libclc/generic/include/clc/clcmacros.h
M libclc/generic/include/clc/common/mix.h
M libclc/generic/include/clc/common/mix.inc
M libclc/generic/include/clc/common/sign.h
M libclc/generic/include/clc/convert.h
M libclc/generic/include/clc/explicit_fence/explicit_memory_fence.h
M libclc/generic/include/clc/geometric/cross.h
M libclc/generic/include/clc/geometric/distance.h
M libclc/generic/include/clc/geometric/dot.h
M libclc/generic/include/clc/geometric/dot.inc
M libclc/generic/include/clc/geometric/length.h
M libclc/generic/include/clc/geometric/length.inc
M libclc/generic/include/clc/geometric/normalize.h
M libclc/generic/include/clc/geometric/normalize.inc
M libclc/generic/include/clc/image/image.h
M libclc/generic/include/clc/image/image_defines.h
M libclc/generic/include/clc/integer/abs.h
M libclc/generic/include/clc/integer/abs.inc
M libclc/generic/include/clc/integer/abs_diff.h
M libclc/generic/include/clc/integer/abs_diff.inc
M libclc/generic/include/clc/integer/add_sat.h
M libclc/generic/include/clc/integer/add_sat.inc
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/hadd.h
M libclc/generic/include/clc/integer/integer-gentype.inc
M libclc/generic/include/clc/integer/mad24.h
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mad_sat.inc
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/integer/rotate.h
M libclc/generic/include/clc/integer/rotate.inc
M libclc/generic/include/clc/integer/sub_sat.h
M libclc/generic/include/clc/integer/sub_sat.inc
M libclc/generic/include/clc/integer/unary.inc
M libclc/generic/include/clc/integer/upsample.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/asin.h
M libclc/generic/include/clc/math/binary_decl_tt.inc
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/frexp.h
M libclc/generic/include/clc/math/frexp.inc
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/ilogb.inc
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
M libclc/generic/include/clc/math/pown.inc
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
M libclc/generic/include/clc/math/remquo.h
M libclc/generic/include/clc/math/remquo.inc
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/rootn.inc
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sincos.h
M libclc/generic/include/clc/math/sincos.inc
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/include/clc/relational/all.h
M libclc/generic/include/clc/relational/any.h
M libclc/generic/include/clc/relational/isequal.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isinf.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnan.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/select.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/clc/shared/clamp.h
M libclc/generic/include/clc/shared/clamp.inc
M libclc/generic/include/clc/shared/max.h
M libclc/generic/include/clc/shared/max.inc
M libclc/generic/include/clc/shared/min.h
M libclc/generic/include/clc/shared/min.inc
M libclc/generic/include/clc/shared/vload.h
M libclc/generic/include/clc/shared/vstore.h
M libclc/generic/include/clc/synchronization/barrier.h
M libclc/generic/include/clc/synchronization/cl_mem_fence_flags.h
M libclc/generic/include/clc/workitem/get_global_id.h
M libclc/generic/include/clc/workitem/get_global_offset.h
M libclc/generic/include/clc/workitem/get_global_size.h
M libclc/generic/include/clc/workitem/get_group_id.h
M libclc/generic/include/clc/workitem/get_local_id.h
M libclc/generic/include/clc/workitem/get_local_size.h
M libclc/generic/include/clc/workitem/get_num_groups.h
M libclc/generic/include/clc/workitem/get_work_dim.h
M libclc/generic/include/math/clc_exp10.h
M libclc/generic/include/math/clc_fmod.h
M libclc/generic/include/math/clc_pow.h
M libclc/generic/include/math/clc_pown.h
M libclc/generic/include/math/clc_pown.inc
M libclc/generic/include/math/clc_powr.h
M libclc/generic/include/math/clc_remainder.h
M libclc/generic/include/math/clc_remquo.h
M libclc/generic/include/math/clc_rootn.h
M libclc/generic/include/math/clc_rootn.inc
M libclc/generic/include/math/clc_tan.h
M libclc/generic/include/math/clc_tanpi.h
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_copy.inc
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.inc
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/async/prefetch.inc
M libclc/generic/lib/async/wait_group_events.cl
M libclc/generic/lib/atom_int32_binary.inc
M libclc/generic/lib/atomic/atomic_add.cl
M libclc/generic/lib/atomic/atomic_and.cl
M libclc/generic/lib/atomic/atomic_cmpxchg.cl
M libclc/generic/lib/atomic/atomic_dec.cl
M libclc/generic/lib/atomic/atomic_inc.cl
M libclc/generic/lib/atomic/atomic_max.cl
M libclc/generic/lib/atomic/atomic_min.cl
M libclc/generic/lib/atomic/atomic_or.cl
M libclc/generic/lib/atomic/atomic_sub.cl
M libclc/generic/lib/atomic/atomic_xchg.cl
M libclc/generic/lib/atomic/atomic_xor.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
M libclc/generic/lib/clc_unary.inc
M libclc/generic/lib/common/mix.cl
M libclc/generic/lib/common/mix.inc
M libclc/generic/lib/common/sign.cl
M libclc/generic/lib/geometric/cross.cl
M libclc/generic/lib/geometric/dot.cl
M libclc/generic/lib/integer/abs.cl
M libclc/generic/lib/integer/abs.inc
M libclc/generic/lib/integer/abs_diff.cl
M libclc/generic/lib/integer/abs_diff.inc
M libclc/generic/lib/integer/add_sat.cl
M libclc/generic/lib/integer/clz.cl
M libclc/generic/lib/integer/hadd.cl
M libclc/generic/lib/integer/mad24.cl
M libclc/generic/lib/integer/mad_hi.cl
M libclc/generic/lib/integer/mad_sat.cl
M libclc/generic/lib/integer/mul24.cl
M libclc/generic/lib/integer/mul_hi.cl
M libclc/generic/lib/integer/popcount.cl
M libclc/generic/lib/integer/rhadd.cl
M libclc/generic/lib/integer/rotate.cl
M libclc/generic/lib/integer/sub_sat.cl
M libclc/generic/lib/integer/upsample.cl
M libclc/generic/lib/math/binary_impl.inc
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_sw_unary.inc
M libclc/generic/lib/math/copysign.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/fdim.cl
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/fma.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmax.inc
M libclc/generic/lib/math/fmin.cl
M libclc/generic/lib/math/fmin.inc
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/frexp.cl
M libclc/generic/lib/math/half_binary.inc
M libclc/generic/lib/math/half_cos.cl
M libclc/generic/lib/math/half_divide.cl
M libclc/generic/lib/math/half_exp.cl
M libclc/generic/lib/math/half_exp10.cl
M libclc/generic/lib/math/half_exp2.cl
M libclc/generic/lib/math/half_log.cl
M libclc/generic/lib/math/half_log10.cl
M libclc/generic/lib/math/half_log2.cl
M libclc/generic/lib/math/half_powr.cl
M libclc/generic/lib/math/half_recip.cl
M libclc/generic/lib/math/half_rsqrt.cl
M libclc/generic/lib/math/half_sin.cl
M libclc/generic/lib/math/half_sqrt.cl
M libclc/generic/lib/math/half_tan.cl
M libclc/generic/lib/math/half_unary.inc
M libclc/generic/lib/math/hypot.cl
M libclc/generic/lib/math/log.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log2.cl
M libclc/generic/lib/math/logb.cl
M libclc/generic/lib/math/mad.cl
M libclc/generic/lib/math/maxmag.cl
M libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
M libclc/generic/lib/math/minmag.inc
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_divide.cl
M libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp10.cl
M libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_powr.cl
M libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_recip.cl
M libclc/generic/lib/math/native_recip.inc
M libclc/generic/lib/math/native_rsqrt.cl
M libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
M libclc/generic/lib/math/native_tan.cl
M libclc/generic/lib/math/native_tan.inc
M libclc/generic/lib/math/nextafter.cl
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
M libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/rootn.cl
M libclc/generic/lib/math/rootn.inc
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/rsqrt.cl
M libclc/generic/lib/math/sincos.cl
M libclc/generic/lib/math/sincos.inc
M libclc/generic/lib/math/tan.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/generic/lib/math/trunc.cl
M libclc/generic/lib/misc/shuffle.cl
M libclc/generic/lib/misc/shuffle2.cl
M libclc/generic/lib/relational/all.cl
M libclc/generic/lib/relational/any.cl
M libclc/generic/lib/relational/binary_def.inc
M libclc/generic/lib/relational/isequal.cl
M libclc/generic/lib/relational/isfinite.cl
M libclc/generic/lib/relational/isgreater.cl
M libclc/generic/lib/relational/isgreaterequal.cl
M libclc/generic/lib/relational/isinf.cl
M libclc/generic/lib/relational/isless.cl
M libclc/generic/lib/relational/islessequal.cl
M libclc/generic/lib/relational/islessgreater.cl
M libclc/generic/lib/relational/isnan.cl
M libclc/generic/lib/relational/isnormal.cl
M libclc/generic/lib/relational/isnotequal.cl
M libclc/generic/lib/relational/isordered.cl
M libclc/generic/lib/relational/isunordered.cl
M libclc/generic/lib/relational/select.cl
M libclc/generic/lib/relational/signbit.cl
M libclc/generic/lib/relational/unary_def.inc
M libclc/generic/lib/shared/clamp.cl
M libclc/generic/lib/shared/clamp.inc
M libclc/generic/lib/shared/max.cl
M libclc/generic/lib/shared/max.inc
M libclc/generic/lib/shared/min.cl
M libclc/generic/lib/shared/min.inc
M libclc/generic/lib/shared/vload.cl
M libclc/generic/lib/shared/vload_half.inc
M libclc/generic/lib/shared/vstore.cl
M libclc/generic/lib/shared/vstore_half.inc
M libclc/generic/lib/workitem/get_global_id.cl
M libclc/generic/lib/workitem/get_global_size.cl
M libclc/ptx-nvidiacl/lib/mem_fence/fence.cl
M libclc/ptx-nvidiacl/lib/synchronization/barrier.cl
M libclc/ptx-nvidiacl/lib/workitem/get_global_id.cl
M libclc/ptx-nvidiacl/lib/workitem/get_group_id.cl
M libclc/ptx-nvidiacl/lib/workitem/get_local_id.cl
M libclc/ptx-nvidiacl/lib/workitem/get_local_size.cl
M libclc/ptx-nvidiacl/lib/workitem/get_num_groups.cl
M libclc/r600/lib/image/get_image_channel_data_type.cl
M libclc/r600/lib/image/get_image_channel_order.cl
M libclc/r600/lib/image/get_image_depth.cl
M libclc/r600/lib/image/get_image_dim.cl
M libclc/r600/lib/image/get_image_height.cl
M libclc/r600/lib/image/get_image_width.cl
M libclc/r600/lib/image/read_imagef.cl
M libclc/r600/lib/image/read_imagei.cl
M libclc/r600/lib/image/read_imageui.cl
M libclc/r600/lib/image/write_imagef.cl
M libclc/r600/lib/image/write_imagei.cl
M libclc/r600/lib/image/write_imageui.cl
M libclc/r600/lib/math/fmax.cl
M libclc/r600/lib/math/fmin.cl
M libclc/r600/lib/math/native_rsqrt.cl
M libclc/r600/lib/synchronization/barrier.cl
M libclc/r600/lib/workitem/get_global_offset.cl
M libclc/r600/lib/workitem/get_global_size.cl
M libclc/r600/lib/workitem/get_group_id.cl
M libclc/r600/lib/workitem/get_local_id.cl
M libclc/r600/lib/workitem/get_local_size.cl
M libclc/r600/lib/workitem/get_num_groups.cl
M libclc/r600/lib/workitem/get_work_dim.cl
M libclc/spirv/lib/math/fma.cl
M libclc/test/add_sat.cl
M libclc/test/as_type.cl
M libclc/test/convert.cl
M libclc/test/cos.cl
M libclc/test/cross.cl
M libclc/test/fabs.cl
M libclc/test/get_group_id.cl
M libclc/test/rsqrt.cl
M libclc/test/subsat.cl
M libclc/utils/prepare-builtins.cpp
Log Message:
-----------
[libclc] Add license headers to files missing them (#132239)
This commit bulk updates all '.h', '.cl', '.inc', and '.cpp' files to
add any missing license headers.
The remaining files are generally CMake, SOURCES, scripts, markdown,
etc.
There are still some '.ll' files which may benefit from a license
header. I can't find an example of an LLVM IR file with a license header
in the rest of LLVM, but unlike most other (sub)projects, libclc has
examples of LLVM IR as source files, compiled and built into the
library.
Commit: e2e776c867c691ec57eb4effc7dcc27d6a5f2c04
https://github.com/llvm/llvm-project/commit/e2e776c867c691ec57eb4effc7dcc27d6a5f2c04
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
A llvm/test/CodeGen/AArch64/execute-only-empty.ll
Log Message:
-----------
[AArch64] Always add PURECODE flag to empty .text if "+execute-only" is set (#132196)
Previously, the `SHF_AARCH64_PURECODE` section flag wasn't added to the
implicitly created `.text` section if the module didn't contain any
functions, because no other section had the flag set.
Now, the `SHF_AARCH64_PURECODE` is always added if the "+execute-only"
target feature is set for the module during compilation.
Commit: 4398a222ad0861ead5aeea66e76ac28757b6389d
https://github.com/llvm/llvm-project/commit/4398a222ad0861ead5aeea66e76ac28757b6389d
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[mlir][target] Adjust the start and end position of the moduleToObject timer (#132693)
We hope that the timer can be cleared normally when the target-format is
`offload`, so as to avoid output like this:
```
===-------------------------------------------------------------------------===
Miscellaneous Ungrouped Timers
===-------------------------------------------------------------------------===
---Wall Time--- --- Name ---
----- Timer for perf llvm-ir -> isa and isa -> binary.
...
```
Co-authored-by: Guray Ozen <guray.ozen at gmail.com>
Commit: df086650e1d7e439d41316e344cbbcd9c31ac6fa
https://github.com/llvm/llvm-project/commit/df086650e1d7e439d41316e344cbbcd9c31ac6fa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - pull out getTargetLoweringInfo call. NFC.
Commit: 038cdd236f27bce41c566de89c35b00fdaf2b571
https://github.com/llvm/llvm-project/commit/038cdd236f27bce41c566de89c35b00fdaf2b571
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/HandleLibs.cmake
Log Message:
-----------
[flang-rt] Add support for using LLVM in-tree libc/libc++ (#131695)
Summary:
This patch adds an interface that uses an in-tree build of LLVM's libc
and libc++.
This is done using the `-DFLANG_RT_LIBC_PROVIDER=llvm` and
`-DFLANG_RT_LIBCXX_PROVIDER=llvm` options. Using `libc` works in terms
of CMake, but the LLVM libc is not yet complete enough to compile all
the files.
Commit: 63285065368f22894aea87a8d82880cc8b0e8267
https://github.com/llvm/llvm-project/commit/63285065368f22894aea87a8d82880cc8b0e8267
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
A flang/test/Transforms/do_concurrent-to-do_loop-unodered.fir
Log Message:
-----------
[flang][fir] Add rewrite pattern to convert `fir.do_concurrent` to `fir.do_loop` (#132207)
Rewrites `fir.do_concurrent` ops to a corresponding nest of `fir.do_loop
... unordered` ops.
Commit: 63b5692bacd941f1b6b9010b70db4bcc327469b9
https://github.com/llvm/llvm-project/commit/63b5692bacd941f1b6b9010b70db4bcc327469b9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
[libclc] Relicense gen_convert.py (#132213)
Similar to work done in 82912fd6, this commit re-licenses both the
gen_convert.py script and the file it generates.
It previously possessed an MIT license, with three additional individual
copyrights. The file it generated was similar, but to only two of the
three individuals. LLVM's policy is not to accept contributions that
include in-source copyright notices [1]. I'm not aware whether the
individuals concerned signed the re-licensing agreement or not.
It takes the opportunity to update the description(s) in the header
files, since the previous comments were out of date.
[1]
https://llvm.org/docs/DeveloperPolicy.html#embedded-copyright-or-contributed-by-statements
Commit: 6a8606e99e399ccc68a89b1c22b396e00021d3fb
https://github.com/llvm/llvm-project/commit/6a8606e99e399ccc68a89b1c22b396e00021d3fb
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Only store RecurKind + FastMathFlags in VPReductionRecipe. NFCI (#131300)
VPReductionRecipes take a RecurrenceDescriptor, but only use the
RecurKind and FastMathFlags in it when executing. This patch makes the
recipe more lightweight by stripping it to only take the latter two.
The motiviation for this is to simplify an upcoming patch to support
in-loop AnyOf reductions. For an in-loop AnyOf reduction we want to
create an Or reduction, and by using RecurKind we can create an
arbitrary reduction without needing a full RecurrenceDescriptor.
Commit: 66f957f40485ecacea68c608320a52bf1952ec66
https://github.com/llvm/llvm-project/commit/66f957f40485ecacea68c608320a52bf1952ec66
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M lldb/source/Host/common/Host.cpp
Log Message:
-----------
[lldb][AIX] clang-format for common Host.cpp (#132712)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
Clang-format for common/Host.cpp for the followup changes
Commit: ad9630d5ee657dd24015afe70016def0c41061fb
https://github.com/llvm/llvm-project/commit/ad9630d5ee657dd24015afe70016def0c41061fb
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build for QuantDialectBytecodeGen (caused by #120172) (#132716)
Commit: c7f14f601f36f8fdabb9182e253add18a471308f
https://github.com/llvm/llvm-project/commit/c7f14f601f36f8fdabb9182e253add18a471308f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-24 (Mon, 24 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_wcschr (#132708)
This is already almost implemented, just need to enable support for it.
Commit: d536d134276f667881917c9d3a32dcdeff683560
https://github.com/llvm/llvm-project/commit/d536d134276f667881917c9d3a32dcdeff683560
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/x86-64-double-shifts-var.ll
Log Message:
-----------
[X86] x86-64-double-shifts-var.ll - regenerate with update_llc_test_checks script to show full codegen
Commit: bf2d30e0927b6b137bf4cc7bf32cd74d8092b0ee
https://github.com/llvm/llvm-project/commit/bf2d30e0927b6b137bf4cc7bf32cd74d8092b0ee
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A clang/test/CodeGen/AArch64/fmv-detection.c
M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
R clang/test/CodeGen/attr-target-version.c
Log Message:
-----------
[NFC][FMV][AArch64] Tidy up codegen tests. (#132273)
Removes attr-target-version.c which doesn't have a clear purpose.
Introduces AArch64/fmv-detection.c to check detection bitmasks.
Adds coverage in AArch64/fmv-resolver-emission.c
Commit: 9ab3b6a006d8b5c831146eb8a7f0a8df616bd5ad
https://github.com/llvm/llvm-project/commit/9ab3b6a006d8b5c831146eb8a7f0a8df616bd5ad
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Diagnose integral source/dest in memcpy (#132715)
Like the current interpreter does.
Commit: 8a8e4cfc0bb05a794b9b3a8da12927f3db5996de
https://github.com/llvm/llvm-project/commit/8a8e4cfc0bb05a794b9b3a8da12927f3db5996de
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] Linux timerfd api interception. (#132709)
Commit: 91140e6a514588ae50f4734761ab2cafff907939
https://github.com/llvm/llvm-project/commit/91140e6a514588ae50f4734761ab2cafff907939
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Add llvm.intr.exp10 operation (#129378)
Commit: 071643f339a05044bdc2b236ca958d4689c6dd8a
https://github.com/llvm/llvm-project/commit/071643f339a05044bdc2b236ca958d4689c6dd8a
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Add `llvm.experimental.constrained.fpext` operation (#129054)
Ref: https://github.com/llvm/llvm-project/pull/86260
Commit: 997707172f67a9904698207b40f336923c3ef39a
https://github.com/llvm/llvm-project/commit/997707172f67a9904698207b40f336923c3ef39a
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
Fix blaze build caused by commit #5d8e8e8 (#132719)
Commit: 94783a8199c5e589d8efd6d4530482d72bf98f4d
https://github.com/llvm/llvm-project/commit/94783a8199c5e589d8efd6d4530482d72bf98f4d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
A mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir
Log Message:
-----------
[mlir][mesh] Exit after `signalPassFailure` to fix a crash (#132662)
Fixes #131435.
Commit: cf0efb31880dab5f5b2f20bda6634c68a42d6908
https://github.com/llvm/llvm-project/commit/cf0efb31880dab5f5b2f20bda6634c68a42d6908
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/Transforms/LoweringPatterns.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVMPass.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Decouple unrolling gather and gather to llvm lowering (#132206)
This patch decouples unrolling vector.gather and lowering vector.gather
to llvm.masked.gather.
This is consistent with how vector.load, vector.store,
vector.maskedload, vector.maskedstore lower to LLVM.
Some interesting test changes from this patch:
- 2D vector.gather lowering to llvm tests are deleted. This is
consistent with other memory load/store ops.
- There are still tests for 2D vector.gather, but the constant mask for
these test is modified. This is because with the updated lowering, one
of the unrolled vector.gather disappears because it is masked off (also
demonstrating why this is a better lowering path)
Overall, this makes vector.gather take the same consistent path for
lowering to LLVM as other load/store ops.
Discourse Discussion:
https://discourse.llvm.org/t/rfc-improving-gather-codegen-for-vector-dialect/85011/13
Commit: 2f2c02e671d649b5326bb81fd82cfa93ee1be400
https://github.com/llvm/llvm-project/commit/2f2c02e671d649b5326bb81fd82cfa93ee1be400
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
Log Message:
-----------
Fix bazel build unique function test caused by #ef3e521 (#132726)
Commit: 4fa5ab382e34b35cab71c0485196f47700d3b5e7
https://github.com/llvm/llvm-project/commit/4fa5ab382e34b35cab71c0485196f47700d3b5e7
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Skip multi-block `teams` regions when processing `loop` directives (#132687)
Fixes a regression when the generic `loop` directive conversion pass
encounters a multi-block `teams` region. At the moment, we skip such
regions.
Commit: ef56f4b5a0e3760e0c1c847999180718be93a1db
https://github.com/llvm/llvm-project/commit/ef56f4b5a0e3760e0c1c847999180718be93a1db
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
M flang/test/Lower/OpenMP/wsloop-reduction-multiple-clauses.f90
Log Message:
-----------
[flang][OpenMP] Fix reduction of arrays with non-default lower bounds (#132228)
Using LoopNest's indices with ShapeShifts that have non-default
lower bounds results in accesses to incorrect array elements.
To avoid having to adjust each index, a ShapeShift with default
lower bounds can be used instead.
Fixes #131751
Commit: e60fe2e5840229839e7e1e24971dd38d31b22ed8
https://github.com/llvm/llvm-project/commit/e60fe2e5840229839e7e1e24971dd38d31b22ed8
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ContainerModeling.cpp
M clang/test/Analysis/invalidated-iterator.cpp
Log Message:
-----------
[clang][analyzer] Fix InvalidatedIterator crash caused by overload operator member function with explicit this (#132581)
Fixes #116372
>From this PR #83585, CSA starts to model overload operator member
function with explicit this as `SimpleFunctionCall` rather than
`CXXMemberOperatorCall` (derived from `CXXInstanceCall`), so
`CXXInstanceCall` only represents a non-static C++ member function call
`with implicit this`.
For this checker, it models `operator=` for STL containers, which always
uses implicit this, so the situation using explicit this can be skipped
directly.
Commit: 24a8e18f5a1dfddf7c9a0704a1ccb96a235d3767
https://github.com/llvm/llvm-project/commit/24a8e18f5a1dfddf7c9a0704a1ccb96a235d3767
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
Log Message:
-----------
[mlir][vector] Allow multi dim vectors in vector.scatter (#132217)
This patch matches the definition of vector.scatter as a counter part of
vector.gather.
All of the changes done in this patch make vector.scatter match
vector.gather 's multi dimensional definition.
Unrolling for vector.scatter will be implemented in subsequent patches.
Discourse Discussion:
https://discourse.llvm.org/t/rfc-improving-gather-codegen-for-vector-dialect/85011/13
Commit: dc28e0d5d24364de311a3dc432edfd8bb122560a
https://github.com/llvm/llvm-project/commit/dc28e0d5d24364de311a3dc432edfd8bb122560a
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorBroadcast.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorShapeCast.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/scalar-vector-transfer-to-memref.mlir
M mlir/test/Dialect/Vector/vector-shape-cast-lowering-transforms.mlir
Log Message:
-----------
[mlir][Vector] Remove more special case uses for extractelement/insertelement (#130166)
A number of places in our codebase special case to use
extractelement/insertelement for 0D vectors, because extract/insert did
not support 0D vectors previously. Since insert/extract support 0D
vectors now, use them instead of special casing.
Commit: f3fa54a191d47809c3385bc655d1d42e6732a212
https://github.com/llvm/llvm-project/commit/f3fa54a191d47809c3385bc655d1d42e6732a212
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Handle 0-rank case in fold instead of RewriterPattern (#130168)
For vector.extract, the folder always canonicalizes to a vector.extract
operation, while the rewrite pattern canonicalizes to a vector.broadcast
except in the case of 0-rank vectors.
Remove this special casing, and instead handle the 0-rank vector case in
the folder.
Commit: f8416fcfeca09f0b2c1522e89eaebcbdc0a9f2d3
https://github.com/llvm/llvm-project/commit/f8416fcfeca09f0b2c1522e89eaebcbdc0a9f2d3
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Look through PHI instructions (#132236)
Similar to what we do for copies. We may reduce one of the PHI operands
and not the other, and thats perfectly okay.
Commit: 03d8529d01eac48b84719be5338e8b69bcf5fc8f
https://github.com/llvm/llvm-project/commit/03d8529d01eac48b84719be5338e8b69bcf5fc8f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/shift-i512.ll
Log Message:
-----------
[X86] Add test coverage for i512 shift-by-constants
Based off #132601 - pass the i512 types inside 512-bit vectors
Shows several missed general codegen issues that will help in a lot more cases than just this.
Commit: ad9909dd7301bc5a70bbb84ffd20ab696c926c1c
https://github.com/llvm/llvm-project/commit/ad9909dd7301bc5a70bbb84ffd20ab696c926c1c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-with-reuses.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-transpose.ll
Log Message:
-----------
[SLP]Fix perfect diamond match with extractelements in scalars
Need to drop all previous estimations/vectorizations, when found
a perfect diamond match. This improves cost estimation and improves code
emission.
Also, need to adjust getScalarizationOverhead cost for non-poison input
vector. Currently, it does not allow to estimate it correctly, so
instead use conservative element-by-element insertelement cost for each
unique scalar.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132466
Commit: 85974a0537b59268288108d531b0681fa35afc4a
https://github.com/llvm/llvm-project/commit/85974a0537b59268288108d531b0681fa35afc4a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/HandleLibs.cmake
M flang-rt/lib/runtime/CMakeLists.txt
M flang/cmake/modules/FlangCommon.cmake
Log Message:
-----------
[flang-rt] Add experimental support for GPU build (#131826)
Summary:
This patch adds initial support for compiling `flang-rt` directly for
the GPU. The method used here matches what's already done for `libc` and
`libc++` for the GPU and builds off of those projects.
Mainly this requires setting up some flags and setting the sources that
currently work. This will deposit the resulting library in the
appropriate directory. These files are then intended to be linked via
`-Xoffload-linker` support in the offloading driver.
```
lib/clang/21/lib/nvptx64-nvidia-cuda/libflang_rt.runtime.a
lib/clang/21/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a
```
This is obviously missing a lot of functions, mainly the `io` support.
Most of what we cannot support is due to using POSIX things that just
don't make sense on the GPU. Stuff like `pthreads` or `sema`.
Getting unit tests to run on this will also be a challenge. We could run
tests the same way we do with `libc`, but the problem there is that the
`libc` test suite is freestanding while `gtest` currently doesn't
compile on the GPU bcause it uses a lot of weird stuff. If the unit
tests were simply `int main` then it would work.
I don't understand the actual runtime code very well, I'd appreciate
some guidance on how to actually support Fortran IO from this interface.
As I understand it, Fortran IO requires a stack-like operation, which
conflicts with the SIMT model GPUs use. Worst case scenario we could
burn some LDS to keep a stack, or serialize it somehow since we can
always just iterate over all the active lanes.
Building this right now looks like this, which depends on the arguments
added in https://github.com/llvm/llvm-project/pull/131695.
```
-DRUNTIMES_nvptx64-nvidia-cuda_LLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx;libcxxabi;flang-rt \
-DRUNTIMES_amdgcn-amd-amdhsa_LLVM_ENABLE_RUNTIMES=compiler-rt;libc;libcxx;libcxxabi;flang-rt \
-DRUNTIMES_nvptx64-nvidia-cuda_FLANG_RT_LIBC_PROVIDER=llvm \
-DRUNTIMES_nvptx64-nvidia-cuda_FLANG_RT_LIBCXX_PROVIDER=llvm \
-DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBC_PROVIDER=llvm \
-DRUNTIMES_amdgcn-amd-amdhsa_FLANG_RT_LIBCXX_PROVIDER=llvm
```
Commit: 529ee3cf3bb97b7ff468b5046372d070a8667147
https://github.com/llvm/llvm-project/commit/529ee3cf3bb97b7ff468b5046372d070a8667147
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Interfaces/ViewLikeInterface.cpp
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir][tensor] Fix slice canonicalizer for out-of-bounds cases (#132534)
Since #130487, `tensor.extract_slice` and `tensor.insert_slice` ops that
are statically detected to go out of bounds are rejected by the
verifier.
This commit fixes canonicalization patterns that currently fold
dynamically out-of-bounds ops (valid IR) to statically out-of-bounds ops
(invalid IR).
Commit: 7f52d050abe3b8449bba621f93715d817f21e89a
https://github.com/llvm/llvm-project/commit/7f52d050abe3b8449bba621f93715d817f21e89a
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libc/config/darwin/arm/entrypoints.txt
Log Message:
-----------
[libc] Enable stdfix functions for macOS arm64 targets. (#132674)
Fixes #132673
Added ```libc.src.stdfix.*``` into
```libc/config/darwin/arm/entrypoints.txt```.
All tests related to ```stdfix``` has passed.
Commit: ed022d93b2fbfe52b7bdee786aa5cc49fa2323c4
https://github.com/llvm/llvm-project/commit/ed022d93b2fbfe52b7bdee786aa5cc49fa2323c4
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[clang][AMDGPU] Enable module splitting by default (#128509)
The default number of partitions is the number of cores on the machine
with a cap at 16, as going above 16 is unlikely to be useful in the
common case.
Adds a flto-partitions option to override the number of partitions
easily (without having to use -Xoffload-linker). Setting it to 1
effectively disables module splitting.
Fixes SWDEV-506214
Commit: 9694844d7e36fd5e01011ab56b64f27b867aa72d
https://github.com/llvm/llvm-project/commit/9694844d7e36fd5e01011ab56b64f27b867aa72d
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-03-24 (Mon, 24 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-noidiom.ll
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" (#132572)
Reland https://github.com/llvm/llvm-project/pull/108985
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: 3aa20c266c97a638c63b5368d89fe25757885178
https://github.com/llvm/llvm-project/commit/3aa20c266c97a638c63b5368d89fe25757885178
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/CMakeLists.txt
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.h
A mlir/include/mlir/Dialect/SPIRV/Interfaces/CMakeLists.txt
A mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.h
A mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td
M mlir/lib/Dialect/SPIRV/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
A mlir/lib/Dialect/SPIRV/Interfaces/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for selected sample operations (#129558)
This commit adds following three operations: ImageSampleImplicitLodOp,
ImageSampleExplicitLodOp and ImageSampleProjDrefImplicitLodOp
Commit: 7ada6f111f133ef2a749c7f395cf337acdaf0f31
https://github.com/llvm/llvm-project/commit/7ada6f111f133ef2a749c7f395cf337acdaf0f31
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/test/MC/AsmParser/ifeqs.s
M llvm/test/MC/AsmParser/ifnes.s
Log Message:
-----------
[AsmParser] Correctly handle .ifeqs nested in other conditional directives (#132713)
The parser function used for the .ifeqs and .ifnes directives was
missing the check for whether we are currently in an ignored block of an
outer conditional directive, causing the block to be evaluated when it
should not, for example:
.if 0
.ifeqs "a", "a"
// Should not be evaluated, but is
nop
.endif
.endif
Commit: f7aea4d081f77dba48b0fc019f59b678fb679aa8
https://github.com/llvm/llvm-project/commit/f7aea4d081f77dba48b0fc019f59b678fb679aa8
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-24 (Mon, 24 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_{wcscmp,wcsncmp} (#132723)
Commit: ea68d830d9bf4a482acd69401234b6ecb9807733
https://github.com/llvm/llvm-project/commit/ea68d830d9bf4a482acd69401234b6ecb9807733
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
Log Message:
-----------
[flang-rt][NFC] Fix indention
Commit: 2edf534f5542a02f3ea3c70effb9503c99add809
https://github.com/llvm/llvm-project/commit/2edf534f5542a02f3ea3c70effb9503c99add809
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpression.h
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
Log Message:
-----------
[LLDB][NFC] Added the interface DWARFExpression::Delegate to break dependencies and reduce lldb-server size (#131645)
This patch addresses the issue #129543.
After this patch DWARFExpression does not call DWARFUnit directly and does not depend on
lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp and a lot of clang code.
After this patch the size of lldb-server binary (Linux Aarch64) is reduced from 47MB to 17MB.
Commit: 1904241a9ee648b8146576931f2c7d4191054325
https://github.com/llvm/llvm-project/commit/1904241a9ee648b8146576931f2c7d4191054325
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/WinEHPrepare.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#132658)
Commit: 5dd655e8bfa1aa747597c97f5f5776e2d35a77a4
https://github.com/llvm/llvm-project/commit/5dd655e8bfa1aa747597c97f5f5776e2d35a77a4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFastISel.cpp
Log Message:
-----------
[PowerPC] Avoid repeated hash lookups (NFC) (#132659)
Commit: 02cf97f703f138eb110c85f1e8f9ed2e2ffd7f95
https://github.com/llvm/llvm-project/commit/02cf97f703f138eb110c85f1e8f9ed2e2ffd7f95
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shift-i512.ll
Log Message:
-----------
[X86] combineConcatVectorOps - always concatenate integer binops with duplicated operands (#132735)
Only a single operand will need to be concatenated, so treat it like an unaryop
Commit: 5634e7e2f0e446527cf00df544e5a62a3c02db52
https://github.com/llvm/llvm-project/commit/5634e7e2f0e446527cf00df544e5a62a3c02db52
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
A llvm/test/CodeGen/AMDGPU/kill-true-in-return-block.ll
M llvm/test/CodeGen/AMDGPU/skip-if-dead.ll
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
[AMDGCN][SIWholeQuadMode] Rework splitBlock/lowerKillI1/lowerKillF32 to handle case when SI_KILL_I1_TERMINATOR -1 0 is not the unique terminator
The lowerKillI1 method wrongly handled cases where it inserted a
new S_BRANCH instruction when the kill was not the only terminator,
and then tried to split the block.
`SI_KILL_I1_TERMINATOR -1,0` doesn't have any effect. Instead of
lowering to an unconditional branch, we remove the instruction and
insert an unconditional branch only if the instruction is the last
terminator. No split is needed in this case (if the last terminator
has been reached, then the whole block was processed).
Also stop generating an unconditional branch in splitBlock: this
branch was redundant since TermMI is promoted to a
terminator that fallsthrough to the next block already.
Solves SWDEV-508819
Commit: b1a8e6e3ae1d7d8c8dbb5e3b9c5df03283fca279
https://github.com/llvm/llvm-project/commit/b1a8e6e3ae1d7d8c8dbb5e3b9c5df03283fca279
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
Log Message:
-----------
[Flang] Link `-lflang_rt.runtime` if available on the device (#132737)
Summary:
Now that we can build the Fortran runtime on the GPU (mostly) we should
be able to implicitly link it if it exists. This matches the normal
behavior where it is included implicity. No tests because it
would require a full VFS and is fairly trivial.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 5c02f1a5afcf4a7444f680f3f6ef32042e3d28bd
https://github.com/llvm/llvm-project/commit/5c02f1a5afcf4a7444f680f3f6ef32042e3d28bd
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-depend.mlir
Log Message:
-----------
[OpenMP][IRBuilder] De-duplicate code that emit task dependencies (#132340)
A small clean-up following up on #131795. Seems like we had 2 quite
similar implementations for the same thing: emit task dependencies
struct and filling it. This PR unifies the 2 versions into one. This is
better since we had to fix a bug in one of them in #131795 so this
applies the fix for both.
Commit: 0e63180fa3e130c7da304578d29631c847fdcd62
https://github.com/llvm/llvm-project/commit/0e63180fa3e130c7da304578d29631c847fdcd62
Author: Pavel Skripkin <paskripkin at gmail.com>
Date: 2025-03-24 (Mon, 24 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/darwinpcs-tail.ll
M llvm/test/CodeGen/AArch64/vararg-tallcall.ll
Log Message:
-----------
Reapply "[Aarch64] [ISel] Don't save vaargs registers if vaargs are unused" (#131459)
This reapplies original commit e122483762b44c7f4386165099ff2a404705d7d4
Second try, but with win64 removed from the scope, since it was somehow
broken by original commit.
### Original PR description
If vaargs are not used there is no need to save them. LLVM already
implements such optimization for x86, as well as gcc [1].
Some ABI tests are kept almost as-is, except for stack offsets, by just
adding llvm.va_start. Only laapcs_vararg_frame.ll test was rewritten to
match new behavior.
[1] https://godbolt.org/z/GWWKr8xMd
Commit: d6976d0bdf8aed334ef1ee2723373766838b7002
https://github.com/llvm/llvm-project/commit/d6976d0bdf8aed334ef1ee2723373766838b7002
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/test/ThinLTO/X86/memprof-icp.ll
Log Message:
-----------
[MemProf] Enable memprof ICP support by default (#132625)
This was disabled by default earlier while some failures were
investigated and ultimately fixed. It has been tested more extensively
since and can be enabled by default.
Commit: 0237216f1606d99e1e05da0f51f12aa8bd901664
https://github.com/llvm/llvm-project/commit/0237216f1606d99e1e05da0f51f12aa8bd901664
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/lower-vec-shift.ll
M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
M llvm/test/CodeGen/X86/pr62286.ll
M llvm/test/CodeGen/X86/shift-i512.ll
M llvm/test/CodeGen/X86/vector-fshr-256.ll
M llvm/test/CodeGen/X86/vector-gep.ll
Log Message:
-----------
[DAG] canCreateUndefOrPoison - add EXTRACT_SUBVECTOR handling (#132745)
Similar to INSERT_SUBVECTOR - the index is constant and will be inbounds
Commit: f10dc76f034848879340c3004e573e7014293e01
https://github.com/llvm/llvm-project/commit/f10dc76f034848879340c3004e573e7014293e01
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/call-waw-waitcnt.mir
M llvm/test/CodeGen/AMDGPU/insert-waitcnts-hang.mir
M llvm/test/CodeGen/AMDGPU/vccz-corrupt-bug-workaround.mir
Log Message:
-----------
[AMDGPU][NPM] Port SIInsertWaitcnts to NPM (#130061)
Commit: a6a56a326a3c209e19927942595877aceea368b7
https://github.com/llvm/llvm-project/commit/a6a56a326a3c209e19927942595877aceea368b7
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libclc/generic/lib/math/erf.cl
M libclc/generic/lib/math/erfc.cl
Log Message:
-----------
[libclc] erfc: fix fp32 implementation in FTZ mode (#132390)
On some implementations, the current implementation leads to slight
accuracy issues.
While the maths behind this implementation is correct, it does not take
into account the accumulation of errors coming from other operators that
do not provide correct rounding (like the exp function).
To avoid it, compute statically exp(-0.5625).
Fixes #124939
Commit: 70c325bf6a1d3d801957e8714178c833156a72e3
https://github.com/llvm/llvm-project/commit/70c325bf6a1d3d801957e8714178c833156a72e3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_sincos_helpers.h
A libclc/clc/include/clc/math/clc_sincos_helpers.inc
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_sincos_helpers.cl
A libclc/clc/lib/generic/math/clc_sincos_helpers.inc
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/cos.cl
A libclc/generic/lib/math/cos.inc
M libclc/generic/lib/math/sin.cl
A libclc/generic/lib/math/sin.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
Log Message:
-----------
[libclc] Move fp32 sincos helpers to CLC library (#132753)
This commit moves most of the sincos helper functions to the CLC
library. It simultaneously vectorizes them with the aim to increase
performance for vector types by avoiding scalarization.
Some helpers for double types remain as they use various features not
yet ready, like 'fract' which in turn relies on 'fmin'; neither of these
are in the CLC library. They also use table lookups and type punning
which don't translate well to vector versions.
As a proof of concept, float and half versions of the sin and cos
builtins are now vectorized and use the CLC helpers to do so. They
remain in the OpenCL layer but will be simpler to move to the CLC
library when the double versions are ready.
Commit: d447c6e9b73a43f865e4900a8374b242ce4c4bf6
https://github.com/llvm/llvm-project/commit/d447c6e9b73a43f865e4900a8374b242ce4c4bf6
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/test/Misc/diag-template-diffing-cxx11.cpp
Log Message:
-----------
[clang] NFC: remove stray newlines from clang/test/Misc/diag-template-diffing-cxx11.cpp
Commit: 7e22b0903150c7f722b5290155d251b50d839c3a
https://github.com/llvm/llvm-project/commit/7e22b0903150c7f722b5290155d251b50d839c3a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/amdgpu/lib/shared/vload_half_helpers.ll
M libclc/amdgpu/lib/shared/vstore_half_helpers.ll
M libclc/generic/lib/subnormal_disable.ll
M libclc/generic/lib/subnormal_helper_func.ll
M libclc/generic/lib/subnormal_use_default.ll
M libclc/ptx/lib/shared/vload_half_helpers.ll
M libclc/ptx/lib/shared/vstore_half_helpers.ll
M libclc/r600/lib/image/get_image_attributes_impl.ll
M libclc/r600/lib/image/read_image_impl.ll
M libclc/r600/lib/image/write_image_impl.ll
Log Message:
-----------
[libclc] Add missing license headers to source IR files (#132758)
Commit: 410754410fbafa9c642e3ab05d0cad1eeb456432
https://github.com/llvm/llvm-project/commit/410754410fbafa9c642e3ab05d0cad1eeb456432
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libcxx/include/module.modulemap
R libcxx/test/benchmarks/algorithms/algorithms.partition_point.bench.cpp
A libcxx/test/benchmarks/algorithms/partitions/is_partitioned.bench.cpp
A libcxx/test/benchmarks/algorithms/partitions/partition.bench.cpp
A libcxx/test/benchmarks/algorithms/partitions/partition_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/partitions/partition_point.bench.cpp
A libcxx/test/benchmarks/algorithms/partitions/stable_partition.bench.cpp
Log Message:
-----------
[libc++] Add benchmarks for partitioning algorithms (#127324)
This patch adds benchmarks for std::partition, is_partitioned, etc and
their ranges:: variants.
Commit: cdea46cc8c6d20921b47284aaf8751699efbd3a8
https://github.com/llvm/llvm-project/commit/cdea46cc8c6d20921b47284aaf8751699efbd3a8
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.inverse.ballot.i64.ll
Log Message:
-----------
[AMDGPU] Add pattern for inverse.ballot.i64 Wave32 (#132770)
Commit: fdbd26b4ed83719f81cf34d413c3343c1421d739
https://github.com/llvm/llvm-project/commit/fdbd26b4ed83719f81cf34d413c3343c1421d739
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Add __assertion_handler to the modulemap (#131031)
That header is generated via CMake, but it is nonetheless present in the
final installation, so it should be covered by the modulemap.
rdar://131418726
Commit: 9c6abf02bf250da2615c1d37b8eaba299a5934a1
https://github.com/llvm/llvm-project/commit/9c6abf02bf250da2615c1d37b8eaba299a5934a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
Log Message:
-----------
MCExpr: Remove unused VariantKind
MCSymbolRefExpr::VariantKind is deprecated - many constants have been
moved to target-specific MCTargetExpr.
Commit: 1f967887018c63bddf5bf2860e0e6a3aa1e85840
https://github.com/llvm/llvm-project/commit/1f967887018c63bddf5bf2860e0e6a3aa1e85840
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libc/test/src/math/exhaustive/hypotf_test.cpp
Log Message:
-----------
[libc][math] Fix range and comments in exhaustive hypotf_test (#131769)
`((23U + 127U) << 23) + 1` evaluates to `(2^23)+1` as opposed to `2^24`,
so should instead be `(24U + 127U) << 23`. Additionally, range for both
inputs is inclusive of STOP. The comments have been updated reflecting
these changes.
Commit: f0bc1712a3e35c0a4c967b88f62ff8e216c002c9
https://github.com/llvm/llvm-project/commit/f0bc1712a3e35c0a4c967b88f62ff8e216c002c9
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
Log Message:
-----------
[Mips] Simplify evaluateAsRelocatableImpl and avoid getSymB calls
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: c7e6ee7b9fc26eba55df3264342e130c941c935c
https://github.com/llvm/llvm-project/commit/c7e6ee7b9fc26eba55df3264342e130c941c935c
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 3aa20c266c97a638c63b5368d89fe25757885178 (#132774)
Commit: e2c5b95da10547391f1b0461ec8456a4474245fb
https://github.com/llvm/llvm-project/commit/e2c5b95da10547391f1b0461ec8456a4474245fb
Author: Eric Astor <epastor at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[ms] [llvm-ml] Remove space-separated argument support (#132750)
This leads to errors when parsing MASM macro calls, and was retained
from AsmParser by mistake.
Fixes #132074
Commit: 65ee2813f9f9a8cd11c5e9ea372da7d12867b52f
https://github.com/llvm/llvm-project/commit/65ee2813f9f9a8cd11c5e9ea372da7d12867b52f
Author: Utkarsh Saxena <usx at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaAttr.cpp
A clang/test/Sema/GH126231.cpp
Log Message:
-----------
[clang] Do not infer lifetimebound for functions with void return type (#131997)
Fixes: https://github.com/llvm/llvm-project/issues/126231
Also found in : https://github.com/microsoft/STL/issues/5271
Commit: 2b82555ef44c158c2bd1c26176ac2b5b953817a2
https://github.com/llvm/llvm-project/commit/2b82555ef44c158c2bd1c26176ac2b5b953817a2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Remove experimental from Sdext and Sdtrig which are ratified. (#132529)
They were ratified in February 2025.
Commit: e56ba37bfff37b0ffa88e811fbcb10a1dfe0f42e
https://github.com/llvm/llvm-project/commit/e56ba37bfff37b0ffa88e811fbcb10a1dfe0f42e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/machine-csr-names.s
Log Message:
-----------
[RISCV] Remove the mucounteren alternate name for CSR 0x320. (#132498)
This is the old name for 0x320 from privilege spec 1.9. It has different
semantics than mcountinhibit that is at that address now.
It doesn't look like binutils supports this name anymore so I don't
think llvm should.
Commit: f81e3f2633bdd37e0efa79015732ed572166c577
https://github.com/llvm/llvm-project/commit/f81e3f2633bdd37e0efa79015732ed572166c577
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoV.td
Log Message:
-----------
[RISCV][NFC] Fix the comment for VALUVINoVm (#132730)
Commit: 869c2a9a1052144957d3ed57378cf927078f4b27
https://github.com/llvm/llvm-project/commit/869c2a9a1052144957d3ed57378cf927078f4b27
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
Log Message:
-----------
[PowerPC] Simplify evaluateAsRelocatableImpl
In addition, rename *MCExpr::getKind, which confusingly shadows the base class getKind.
Commit: a30f102253422b57de35f991c783b0873049898f
https://github.com/llvm/llvm-project/commit/a30f102253422b57de35f991c783b0873049898f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[llvm-ml] Remove unused function after #132750
Commit: 9b8bcd288ae8d6d31ac51b3b959e796842b2d5c7
https://github.com/llvm/llvm-project/commit/9b8bcd288ae8d6d31ac51b3b959e796842b2d5c7
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
Log Message:
-----------
[RISCV][test] Add a test for vector hasAndNot
Commit: 34fa037c4fd7f38faada5beedc63ad234e904247
https://github.com/llvm/llvm-project/commit/34fa037c4fd7f38faada5beedc63ad234e904247
Author: Eric Astor <epastor at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
Log Message:
-----------
[ms] [llvm-ml] Remove unused function (#132777)
This was missed in an earlier PR.
Commit: 02ed65912ea36ddbb280c959eebb5df129fa3dfa
https://github.com/llvm/llvm-project/commit/02ed65912ea36ddbb280c959eebb5df129fa3dfa
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/coalesce-copy-to-agpr-to-av-registers.mir
M llvm/test/CodeGen/AMDGPU/inline-asm.i128.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
Log Message:
-----------
[AMDGPU] 4-align TTMP triples (#132759)
Follow up to e4284a7c70cd "[AMDGPU] 4-align SGPR triples".
Previously TTMP triples like ttmp[3:5] were aligned on a 3-TTMP boundary
which has no basis in hardware.
Aligning them on a 4-TTMP boundary matches what we do for SGPRs, which
reduces the number of extra register classes synthesized by TableGen,
bringing the total number down from 653 to 615.
Commit: 8f3f93cd78cfbf1dea349be2eef98802da8ad929
https://github.com/llvm/llvm-project/commit/8f3f93cd78cfbf1dea349be2eef98802da8ad929
Author: Lei Wang <wlei at fb.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/CMakeLists.txt
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-stale-profile-name-similarity.prof
A llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-name-similarity.ll
Log Message:
-----------
[SampleFDO] Match functions with the same base function name (#126688)
Sometimes, there may be no matched anchors but the functions still
match. e.g. if the function’s template typename changes, all the
callsites that use the type are mismatched and the caller function that
contains those callsite are mismatched. Introduce a check to match the
functions if their demangled base names are the same.
Commit: ef4f479dab2ef1fc42a461583025e9b5c34a2f7c
https://github.com/llvm/llvm-project/commit/ef4f479dab2ef1fc42a461583025e9b5c34a2f7c
Author: Martin Licht <martin.licht at epfl.ch>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libcxx/docs/UserDocumentation.rst
Log Message:
-----------
[libc++] Documentation for _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (#130560)
Closes #130486
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: aa80388cf9d2444c82e7a1a8c73ddf14930be318
https://github.com/llvm/llvm-project/commit/aa80388cf9d2444c82e7a1a8c73ddf14930be318
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/simd_utils.h
A libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
Log Message:
-----------
[libc++] Ensure that we vectorize algorithms on all Clang-based compilers (#132090)
Otherwise, we wouldn't vectorize on compilers like AppleClang when in
reality we know perfectly well how to do it.
Commit: 77648476f28c4ee50eb2ffca952453a210386d7d
https://github.com/llvm/llvm-project/commit/77648476f28c4ee50eb2ffca952453a210386d7d
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/MC/MCSchedule.cpp
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/different-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/disable-im.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/fractional-lmul-data.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/lmul-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-lmul-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/multiple-same-sew-instruments.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/needs-sew-but-only-lmul.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/no-vsetvli-to-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/reductions.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-at-start.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-middle.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-in-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/sew-instrument-straddles-region.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-store.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/strided-load-x0.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vector-integer-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vle-vse.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetivli-lmul-sew-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-instrument.s
M llvm/test/tools/llvm-mca/RISCV/SiFiveX280/vsetvli-lmul-sew-instrument.s
Log Message:
-----------
[MC] Account for AcquireAtCycle in getReciprocalThroughput (#132653)
Previously `MCSchedModel::getReciprocalThroughput` ignored
`AcquireAtCycle` completey, this patch fixes it by using the largest
`(ReleaseAtCycle - AcquireAtCycle) / NumUnits` as inverse throughput.
Here are some technical explanations:
https://myhsu.xyz/llvm-sched-interval-throughput
---------
Co-authored-by: Julien Villette <julien.villette at sipearl.com>
Commit: 061b1d1149660d9de69e35d1ab1759480aa6885a
https://github.com/llvm/llvm-project/commit/061b1d1149660d9de69e35d1ab1759480aa6885a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Redo RUN lines in the builtin-functions test (#132762)
Make sure we run each configuration once with the bytecode interpreter
and once with the current one. Add a triple to the one that was
previously without.
Commit: e75f586b813a081cffcafb8b5d34b5547e52e548
https://github.com/llvm/llvm-project/commit/e75f586b813a081cffcafb8b5d34b5547e52e548
Author: Austin Kerbow <Austin.Kerbow at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/test/CodeGen/AMDGPU/lds-dma-waits.ll
Log Message:
-----------
[AMDGPU] Relax lds dma waitcnt with no aliasing pair (#131842)
If we cannot find any lds DMA instruction that is aliased by some load
from lds, we will still insert vmcnt(0). This is overly cautious since
handling inter-thread dependences is normally managed by the memory
model instead of the waitcnt pass, so this change updates the behavior
to be more inline with how other types of memory events are handled.
Commit: 8a2a6944383cbd83010a4d5c1ef1a7ef34194bcd
https://github.com/llvm/llvm-project/commit/8a2a6944383cbd83010a4d5c1ef1a7ef34194bcd
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
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/constant-folding.mlir
M mlir/test/Target/LLVMIR/Import/constant.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Support dso_local_equivalent constants (#132131)
Create a new operation `DSOLocalEquivalentOp`, following the steps of
other constants.
This is similar in a way to `AddressOfOp` but with specific semantics:
only support functions and function aliases (no globals) and extern_weak
linkage is not allowed.
An alternative approach is to use a new `UnitAttr` in `AddressOfOp` and
check that attribute to enforce specific semantics in the verifiers. The
drawback is going against what other constants do and having to add more
attributes in the future when we introduce `no_cfi`, `blockaddress`,
etc.
While here, improve the error message for other missing constants.
Commit: 63e0da45a1d6e8bf28130777dd12b642e68b5f64
https://github.com/llvm/llvm-project/commit/63e0da45a1d6e8bf28130777dd12b642e68b5f64
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
Fix bazel DWARF include error caused by #131645 (#132789)
Commit: 6c68cc4df1bfbb846e7724568a4cada61847c7f4
https://github.com/llvm/llvm-project/commit/6c68cc4df1bfbb846e7724568a4cada61847c7f4
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel demangle include error caused by #126688 (#132790)
Commit: 8d3dc1ed5656a3e69e4195d58684a7f4bf0ff5cc
https://github.com/llvm/llvm-project/commit/8d3dc1ed5656a3e69e4195d58684a7f4bf0ff5cc
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/TestRunner.py
Log Message:
-----------
lit: Move RUN at line comment after the command.
When a developer copy/pastes a failing command line into their
shell to rerun it, they have to manually delete the "RUN: at line
N:" prefix. To make life easier for such developers, let's make it
possible to copy/paste a command without needing to modify it while
still showing the line number in the output by moving the line number
to a comment at the end of the command line.
Reviewers: jroelofs, MaskRay
Reviewed By: jroelofs, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/132485
Commit: e4172196a769e13d1d55bf078844cc70419e6991
https://github.com/llvm/llvm-project/commit/e4172196a769e13d1d55bf078844cc70419e6991
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/TileUsingInterface.h
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.cpp
M mlir/test/lib/Interfaces/TilingInterface/TestTilingInterfaceTransformOps.td
Log Message:
-----------
[mlir][TilingInterface] Make `tileAndFuseConsumerOfSlice` take surrounding loops as an argument. (#132082)
This gets the consumer fusion method in sync with the corresponding
producer fusion method `tileAndFuseProducerOfSlice`. Not taking this as
input required use of complicated analysis to retrieve the surrounding
loops which are very fragile. Just like the producer fusion method, the
loops need to be taken in as an argument, with typically the loops being
created by the tiling methods.
Some utilities are added to check that the loops passed in are perfectly
nested (in the case of an `scf.for` loop nest.
This is change 1 of N to simplify the implementation of tile and fuse
consumers.
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 57e89c97c2c1b4e41f07a90c2f4d36649696e619
https://github.com/llvm/llvm-project/commit/57e89c97c2c1b4e41f07a90c2f4d36649696e619
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/TestRunner.py
Log Message:
-----------
Revert "lit: Move RUN at line comment after the command."
This reverts commit 8d3dc1ed5656a3e69e4195d58684a7f4bf0ff5cc.
Test needs to be updated.
Commit: 7aab2889d7d58230e792eb57782333d04345b4c0
https://github.com/llvm/llvm-project/commit/7aab2889d7d58230e792eb57782333d04345b4c0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 03557169e0ad
Commit: 590a5978d671d1836d47afa0c52b5970df061818
https://github.com/llvm/llvm-project/commit/590a5978d671d1836d47afa0c52b5970df061818
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 2f1416bbcde8
Commit: 9201e4a0863051fadf9726629b8426aa0874c745
https://github.com/llvm/llvm-project/commit/9201e4a0863051fadf9726629b8426aa0874c745
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 30bb0c443e16
Commit: d319cc84e4f6ebe1c1d0edfa8de7d7aa99194626
https://github.com/llvm/llvm-project/commit/d319cc84e4f6ebe1c1d0edfa8de7d7aa99194626
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 7f920e2e5f70
Commit: a76f678849e6a0941e6d92953c7f0688a461627c
https://github.com/llvm/llvm-project/commit/a76f678849e6a0941e6d92953c7f0688a461627c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port f7a32b85b56b
Commit: 10fd5b925fa6339d36b6551047121c291484ca76
https://github.com/llvm/llvm-project/commit/10fd5b925fa6339d36b6551047121c291484ca76
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/NVPTX/NVPTXUtilities.h
M llvm/test/CodeGen/NVPTX/upgrade-nvvm-annotations.ll
Log Message:
-----------
[NVPTX] Auto-Upgrade !"align" metadata on return values to stackalign (#131726)
This commit follows up 0191307b by auto-upgrading !"align" metadata on
return values to stackalign. This allows us to remove all logic to check
the metadata from NVPTXUtilities.
Commit: 11044de3dcc1dd7a47c8c3f98ecf77c00978b570
https://github.com/llvm/llvm-project/commit/11044de3dcc1dd7a47c8c3f98ecf77c00978b570
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/lit.rst
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/tests/shtest-external-shell-kill.py
M llvm/utils/lit/tests/shtest-run-at-line.py
Log Message:
-----------
Reapply "lit: Move RUN at line comment after the command."
This reverts commit 57e89c97c2c1b4e41f07a90c2f4d36649696e619.
Updated lit tests.
Commit: 6f4ddefe5b8c1ac61b692613b5b10ecaec1f2066
https://github.com/llvm/llvm-project/commit/6f4ddefe5b8c1ac61b692613b5b10ecaec1f2066
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libc/test/UnitTest/ZxTest.h
Log Message:
-----------
[libc] Remove extraneous ASSERT_ERRNO_* macro definitions (#132812)
These are no longer meant to be defined in each
framework-specific header, but ZxTest.h wasn't updated.
Commit: 368c7f72b917b9a9ae412dfe58d640e7022a3342
https://github.com/llvm/llvm-project/commit/368c7f72b917b9a9ae412dfe58d640e7022a3342
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/test/CodeGen/DirectX/ContainerData/PSVResources-order.ll
M llvm/test/CodeGen/DirectX/ContainerData/PSVResources.ll
Log Message:
-----------
[DirectX] Match DXC's resource order in DX container (#130233)
DXC and the DXIL validator expect resources in a DX container to be
specifically ordered CBuffers, Samplers, SRVs, and then UAVs. Match this
behaviour so that we can pass the validator.
Fixes #130232.
Commit: 5b38fb59dfb67ddaf123dc11863218f4b48ea014
https://github.com/llvm/llvm-project/commit/5b38fb59dfb67ddaf123dc11863218f4b48ea014
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Remove remaining references to VPScalarPHIRecipe (NFC).
VPScalarPHIRecipe has been replaced by VPInstructions with PHI opcodes.
Strip remaining dead references to VPScalarPHIRecipe.
Commit: 0fb4ef40b12d08e4a4966eeac6a395b669d63237
https://github.com/llvm/llvm-project/commit/0fb4ef40b12d08e4a4966eeac6a395b669d63237
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang-tools-extra/clang-query/Query.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/cert/DontModifyStdNamespaceCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
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
M clang/docs/ReleaseNotes.rst
M clang/include/clang/ASTMatchers/ASTMatchFinder.h
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/unittests/ASTMatchers/ASTMatchersInternalTest.cpp
Log Message:
-----------
Revert "[clang-tidy] Avoid processing declarations in system headers … (#132743)
…(#128150)"
This was too aggressive, and leads to problems for downstream users:
https://github.com/llvm/llvm-project/pull/128150#issuecomment-2739803409
Let's revert and reland it once we have addressed the problems.
This reverts commit e4a8969e56572371201863594b3a549de2e23f32.
Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>
Commit: 1b9d47545380bc93427f72a6466d851570ed478c
https://github.com/llvm/llvm-project/commit/1b9d47545380bc93427f72a6466d851570ed478c
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/test/Dialect/Tosa/availability.mlir
Log Message:
-----------
[mlir][tosa] Align validation profiles and extensions to TOSA v1.0 spec (#132768)
- Add missing int16 extension for concat operator
- Remove int16 extension for cast operator
- Add pro_int and pro_fp profiles for const_shape operator
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 4fb9650b21fc038ca044ac1ca7fcd5be0b44194a
https://github.com/llvm/llvm-project/commit/4fb9650b21fc038ca044ac1ca7fcd5be0b44194a
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[clang][docs] Release Note for RISC-V qci-(no)nest
These were omitted from the original PR (#129957)
Commit: 06e2fd962af063d4c0abb854a7adf770178c8dbd
https://github.com/llvm/llvm-project/commit/06e2fd962af063d4c0abb854a7adf770178c8dbd
Author: David Green <david.green at arm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/complex-int-to-fp.ll
Log Message:
-----------
[AArch64] Regenerate complex-int-to-fp.ll. NFC
Commit: 7fa104ed20a576a792162e8ac677c1543032d8f1
https://github.com/llvm/llvm-project/commit/7fa104ed20a576a792162e8ac677c1543032d8f1
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/test/TableGen/AcquireAtCycle.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen][MCSched] Update error messages on the range of Acquire/ReleaseAtCycle (#131908)
I was looking at the value range of AcquireAtCycle / ReleaseAtCycle, and
I noticed that while the TableGen error messages said AcquireAtCycle has
to be less than ReleaseAtCycle, in reality they are actually allowed to
be the same. This patch fixes it and add more test cases.
Commit: 5a668bdb98d6507626585cedbff0f18628ed7e5c
https://github.com/llvm/llvm-project/commit/5a668bdb98d6507626585cedbff0f18628ed7e5c
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libc/test/src/sys/epoll/linux/CMakeLists.txt
M libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
M libc/test/src/sys/epoll/linux/epoll_create_test.cpp
M libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
M libc/test/src/sys/epoll/linux/epoll_wait_test.cpp
M utils/bazel/llvm-project-overlay/libc/test/src/sys/epoll/BUILD.bazel
Log Message:
-----------
[libc] Migrate sys/epoll tests to use ErrnoCheckingTest. (#132823)
This is similar to PR #132107 but for tests for sys/epoll.h functions.
ErrnoCheckingTest ensures that errno is properly reset at the beginning
of the test case, and is validated at the end of it, so that the manual
code such as the one proposed in PR #131650 would not be necessary.
Commit: 3df92197bbe0ebe715dc71e1ec44f66e4828cf70
https://github.com/llvm/llvm-project/commit/3df92197bbe0ebe715dc71e1ec44f66e4828cf70
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Support `DenseResourceElementsAttr` in TOSA transpose folders (#124532)
Handle dense resource attributes in the transpose TOSA folder.
Currently their interface does not align with the rest of the
`ElementsAttr` when it comes to data accessing hence the special
handling.
Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: 9a82f742b4976650827674e58c3c2b0b412b56f0
https://github.com/llvm/llvm-project/commit/9a82f742b4976650827674e58c3c2b0b412b56f0
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/include/clang/Sema/HLSLExternalSemaSource.h
M clang/lib/Sema/CMakeLists.txt
A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
Log Message:
-----------
[HLSL][NFC] Refactor HLSLExternalSemaSource (#131032)
Moving builder classes into separate files
`HLSLBuiltinTypeDeclBuilder.cpp`/`.h`, changing a some
`HLSLExternalSemaSource` methods to private and removing unused methods.
This is a prep work before we start adding more builtin types and
methods, like textures, resource constructors or matrices. For example
constructors could make use of the `BuiltinTypeMethodBuilder`, but this
helper class was defined in `HLSLExternalSemaSource.cpp` after the
method that creates a constructor. Rather than reshuffling the code one
big source file I am moving the builders into a separate cpp & header
file and placing the helper classes declarations up top.
Currently the new header only exposes `BuiltinTypeDeclBuilder` to
`HLSLExternalSemaSource`. In the future but we might decide to expose
more helper classes as needed.
Commit: 0adc672ed4a2e9351732389e25cf7b436de347b7
https://github.com/llvm/llvm-project/commit/0adc672ed4a2e9351732389e25cf7b436de347b7
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn build] Port 9a82f742b497
Commit: 14d25613cb6c7ca4e73db4ffaa19be71e1f474ec
https://github.com/llvm/llvm-project/commit/14d25613cb6c7ca4e73db4ffaa19be71e1f474ec
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
Log Message:
-----------
[HLSL] Finish exposing half types and intrinsics always (#132804)
We previously made an implementation error when adding half overloads
for HLSL library functionality. The half type is always defined in HLSL
and half intrinsics should not be conditionally included.
When native 16-bit types are disabled half is a unique 32-bit float type
with lesser promotion rank than float.
Apply pattern #81782 to intrinsics added in #95999.
Closes #132793
Commit: 20fc2d5aa5076e308f98726b9c32ce4c2a1e08a1
https://github.com/llvm/llvm-project/commit/20fc2d5aa5076e308f98726b9c32ce4c2a1e08a1
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/bindings/python/clang/cindex.py
M clang/bindings/python/tests/cindex/test_cursor.py
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[libclang/python] Add some bindings to the `Cursor` interface (#132377)
Make Cursor hashable
Add `Cursor.has_attr()`
Add `Cursor.specialized_template`
This covers the Cursor interface changes added by #120590
---------
Co-authored-by: Mathias Stearn <redbeard0531 at gmail.com>
Commit: 567b0f89239b0e3f0e96419038863f2386b635e3
https://github.com/llvm/llvm-project/commit/567b0f89239b0e3f0e96419038863f2386b635e3
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/lib/CodeGen/CGStmt.cpp
M clang/test/AST/HLSL/HLSLControlFlowHint.hlsl
M llvm/test/CodeGen/DirectX/HLSLControlFlowHint.ll
M llvm/test/CodeGen/SPIRV/structurizer/HLSLControlFlowHint.ll
Log Message:
-----------
[HLSL] Add support to branch/flatten attributes to switch (#131739)
closes: [#125754](https://github.com/llvm/llvm-project/issues/125754)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 3ce3d889f6a7faacb883f563697764b8a58c4abf
https://github.com/llvm/llvm-project/commit/3ce3d889f6a7faacb883f563697764b8a58c4abf
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_shadow_setup.cpp
Log Message:
-----------
[asan] Re-exec without ASLR if needed on 64-bit Linux (#132682)
This generalizes https://github.com/llvm/llvm-project/pull/131975 to non-32-bit Linux (i.e., 64-bit Linux).
This works around an edge case in 64-bit Linux, whereby the memory layout is incompatible if the stack size is unlimited AND ASLR entropy is 31+ bits (see https://github.com/google/sanitizers/issues/856#issuecomment-2747076811).
More generally, this "re-exec without ASLR if layout is incompatible" is a hammer that can work around most shadow mapping issues, without incurring the overhead of using a dynamic shadow.
Commit: c221d6420687660b5d03df7051e5501a51a339c6
https://github.com/llvm/llvm-project/commit/c221d6420687660b5d03df7051e5501a51a339c6
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/variable.h
M flang/include/flang/Semantics/dump-expr.h
M flang/lib/Lower/IterationSpace.cpp
Log Message:
-----------
[flang] Remove mentions of evaluate::Variable<T> (#132805)
The template itself was not defined anywhere. The closest thing was a
forward declaration in flang/include/flang/Evaluate/variable.h.
Commit: ef2735d2436fd14288d1766a152f3a10f36a4af9
https://github.com/llvm/llvm-project/commit/ef2735d2436fd14288d1766a152f3a10f36a4af9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang/cmake/modules/FlangCommon.cmake
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Evaluate/common.h
Log Message:
-----------
[Flang] Detect endianness in the preprocessor (#132767)
Summary:
Currently we use `TestBigEndian` in CMake to determine endianness. This
doesn't work on all platforms and is deprecated since CMake 3.20.
Instead of using CMake, we can just use the GNU/Clang preprocessor
definitions.
The only difficulty is MSVC, mostly because they don't support the same
macros. But, as far as I'm aware, MSVC / Windows targets are always
little endian, and if not we can just override it for that specific
target in the future.
Commit: e6de45a22933114a1d9421dad558a3d62546cb53
https://github.com/llvm/llvm-project/commit/e6de45a22933114a1d9421dad558a3d62546cb53
Author: David Benjamin <davidben at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/tsan/cxa_guard_acquire.cpp
Log Message:
-----------
[tsan] Don't treat uncontended pthread_once as a potentially blocking region (#132477)
guard_acquire is a helper function used to implement TSan's
__cxa_guard_acquire and pthread_once interceptors.
https://reviews.llvm.org/D54664 introduced optional hooks to support
cooperative multi-threading. It worked by marking the entire
guard_acquire call as a potentially blocking region.
In principle, only the contended case needs to be a potentially blocking
region. This didn't matter for __cxa_guard_acquire because the compiler
emits an inline fast path before calling __cxa_guard_acquire. That is,
once we call __cxa_guard_acquire at all, we know we're in the contended
case.
https://reviews.llvm.org/D107359 then unified the __cxa_guard_acquire
and pthread_once interceptors, adding the hooks to pthread_once.
However, unlike __cxa_guard_acquire, pthread_once callers are not
expected to have an inline fast path. The fast path is inside the
function.
As a result, TSan unnecessarily calls into the cooperative
multi-threading engine on every pthread_once call, despite applications
generally expecting pthread_once to be fast after initialization. Fix
this by deferring the hooks to the contended case inside guard_acquire.
Commit: 0aa4c35beb1f4f8028d79b9ce225a338db0bf9a2
https://github.com/llvm/llvm-project/commit/0aa4c35beb1f4f8028d79b9ce225a338db0bf9a2
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M libc/src/__support/float_to_string.h
Log Message:
-----------
[libc][__support] Fix -Wimplicit-int-conversion warning (#132839)
Newer versions of clang now warn about these, so use explicit
conversion instead.
Commit: ff8aa300d68fefadb6fc75876a595467309f9f52
https://github.com/llvm/llvm-project/commit/ff8aa300d68fefadb6fc75876a595467309f9f52
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/hip-code-object-version.hip
M clang/test/Misc/warning-flags.c
Log Message:
-----------
[AMDGPU] Remove outdated COV6 warning (#132814)
Commit: 25bf4e262c73444a29e84642ddc409806638fb4f
https://github.com/llvm/llvm-project/commit/25bf4e262c73444a29e84642ddc409806638fb4f
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
M offload/plugins-nextgen/common/src/Utils/ELF.cpp
Log Message:
-----------
[Offload] Remove handling for COV4 binaries from offload/ (#131033)
Summary:
We moved from cov4 to cov5 a long time ago, and it guards simplifying
some front end code, so we should be able to move up with this.
Commit: ece59a8cb9c82227ccd304b1cd26a2c216ddb13e
https://github.com/llvm/llvm-project/commit/ece59a8cb9c82227ccd304b1cd26a2c216ddb13e
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
A llvm/include/llvm/Support/Mustache.h
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/Mustache.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/MustacheTest.cpp
Log Message:
-----------
Reland Support for mustache templating language (#132467)
The last version of this patch had memory leaks due to using the
BumpPtrAllocator for data types that required destructors to run to
release heap memory (e.g. via std::vector and std::string). This version
avoids that by using smart pointers, and dropping support for
BumpPtrAllocator.
We should refactor this code to use the BumpPtrAllocator again, but that
can be addressed in future patches, since those are more invasive
changes that need to refactor many of the core data types to avoid
owning allocations.
Adds Support for the Mustache Templating Language. See specs here:
https://mustache.github.io/mustache.5.html This patch implements
support+tests for majority of the features of the language including:
- Variables
- Comments
- Lambdas
- Sections
This meant as a library to support places where we have to generate
HTML, such as in clang-doc.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: 71a0cfd93263552ddc0bfd2ea7b0abe9a578f87e
https://github.com/llvm/llvm-project/commit/71a0cfd93263552ddc0bfd2ea7b0abe9a578f87e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#127450)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: c1ed4f642396c1bbea2cc0cd6d2e46ff674145a4
https://github.com/llvm/llvm-project/commit/c1ed4f642396c1bbea2cc0cd6d2e46ff674145a4
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-doc/DR-131697.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
M clang-tools-extra/test/clang-doc/single-file-public.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
Log Message:
-----------
[clang-doc] Format test files (#132428)
Many of the test files had an inconsistent formatting. This patch ran
clang-format over them using the project's .clang-format file, with
column limit = 0, to prevent test directives from being split over
multiple lines.
Commit: 4c68061254c896214b7ad5ab807ac4ba11517812
https://github.com/llvm/llvm-project/commit/4c68061254c896214b7ad5ab807ac4ba11517812
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[Vectorize] Fix a warning
This patch fixes:
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:855:52: error:
unused variable 'SupportedOp' [-Werror,-Wunused-const-variable]
Commit: 5be9082fed7966dfbbbf6e9dfff44d5fb6c5b4fb
https://github.com/llvm/llvm-project/commit/5be9082fed7966dfbbbf6e9dfff44d5fb6c5b4fb
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-launch.fir
Log Message:
-----------
[flang][cuda] Carry over the dynamic shared memory size to gpu.launch_func (#132837)
Commit: e5f100676ed478ec099d0c820648bfe1dd0b52d2
https://github.com/llvm/llvm-project/commit/e5f100676ed478ec099d0c820648bfe1dd0b52d2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/unittests/HeaderSourceSwitchTests.cpp
Log Message:
-----------
[clangd] [C++20] [Modules] Add modules suffix for 'Header' Source Switch (#131591)
Support the trivial "header"/source switch for module interfaces.
I initially thought the naming are bad and we should rename it. But
later I feel it is better to split patches as much as possible.
>From the codes it looks like there are problems. e.g., `isHeaderFile`.
But let's try to fix them in different patches.
Commit: da7f1564a82e431dfbbf5b8d0bd53c64c5ca6af9
https://github.com/llvm/llvm-project/commit/da7f1564a82e431dfbbf5b8d0bd53c64c5ca6af9
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Don't wrap before attributes in parameter lists (#132519)
Fix #132240
Commit: a6d366268d42469c77981e1c086d8035c9909990
https://github.com/llvm/llvm-project/commit/a6d366268d42469c77981e1c086d8035c9909990
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-bit-shift.ll
A llvm/test/CodeGen/LoongArch/lsx/vec-shuffle-byte-shift.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for vector shift (#132702)
Commit: eeb4132b8dc7059f8f2b45a045ecee4948e08204
https://github.com/llvm/llvm-project/commit/eeb4132b8dc7059f8f2b45a045ecee4948e08204
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[NFC] Fix macro redefinition warning in NewPMDriver.cpp (#132854)
Commit: bfb549ff33e8585af3e8144240021f86401c4c26
https://github.com/llvm/llvm-project/commit/bfb549ff33e8585af3e8144240021f86401c4c26
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Fix operand reduction asserting on target ext types (#132732)
Not all TargetExtTypes support zeroinit, so use poison as a substitute
if unavailable.
Commit: 37b5f77f8b145714d5931bb46ed090755376e179
https://github.com/llvm/llvm-project/commit/37b5f77f8b145714d5931bb46ed090755376e179
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-target-ext-type.ll
A llvm/test/tools/llvm-reduce/reduce-args-target-ext-ty.ll
M llvm/tools/llvm-reduce/deltas/Utils.cpp
Log Message:
-----------
llvm-reduce: Fix asserting on TargetExtTypes that do not support zeroinit (#132733)
So far I've been unsuccessful in finding an example where the used constant
value is directly observed in the output. This avoids an assert in an intermediate
step of value replacement.
Commit: 473b0595051aa3da2990d389eee05a41bc71e602
https://github.com/llvm/llvm-project/commit/473b0595051aa3da2990d389eee05a41bc71e602
Author: Lang Hames <lhames at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h
M llvm/unittests/ExecutionEngine/Orc/ExecutorAddressTest.cpp
Log Message:
-----------
[ORC] Add ExecutorAddrRange::fromPtrRange convenience method.
This can be used to construct an ExecutorAddrRange from a pair of pointers, or
a pointer and a size.
This will be used to reduce boilerplate in an upcoming patch.
Commit: 9ee950be9538f06f673ad134512ea60cc9af49a8
https://github.com/llvm/llvm-project/commit/9ee950be9538f06f673ad134512ea60cc9af49a8
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: f6a3cd54bc063efe522cc3df82fcadc86ac5a354
https://github.com/llvm/llvm-project/commit/f6a3cd54bc063efe522cc3df82fcadc86ac5a354
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang] ``noconvergent`` does not affect calls to convergent functions (#132701)
When placed on a function, the ``clang::noconvergent`` attribute ensures
that the function is not assumed to be convergent. But the same
attribute has no effect on function calls. A call is convergent if the
callee is convergent. This is based on the fact that in LLVM, a call
always inherits all the attributes of the callee. Only ``convergent`` is
an attribute in LLVM IR, and there is no equivalent of
``clang::noconvergent``.
Commit: 26a52f828d1d80b4a505830cd55ab5ac59e1109f
https://github.com/llvm/llvm-project/commit/26a52f828d1d80b4a505830cd55ab5ac59e1109f
Author: Jim Lin <jim at andestech.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] RISCVInstrInfoSFB.td shouldn't be included in Vendor extensions section. NFC.
RISCVInstrInfoSFB.td is for Short Forward Branch, not a kind of Vendor extension.
Commit: cca0f8113e2f9a1bd662c62dd3ff7e1fa197e6b5
https://github.com/llvm/llvm-project/commit/cca0f8113e2f9a1bd662c62dd3ff7e1fa197e6b5
Author: Paul Schwabauer <pschwabauer at intevation.de>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/MixedModulePrecompile.cpp
Log Message:
-----------
[PATCH] [clang][modules] Fix serialization and de-serialization of PCH module file refs (#105994) (#132802)
The File ID is incorrectly calculated, resulting in an out-of-bounds
access. The test code is more complex because the File fetching only
happens in specific scenarios.
---------
Co-authored-by: ShaderKeeper <no-reply at shaderkeeper.com>
Co-authored-by: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Commit: 75210df5a2dd6bd9b6fb9d8fbaea27f748c4c41e
https://github.com/llvm/llvm-project/commit/75210df5a2dd6bd9b6fb9d8fbaea27f748c4c41e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated map lookups (NFC) (#132877)
Commit: fac8fe9cf983ef6abee345d18850f1d4b925b519
https://github.com/llvm/llvm-project/commit/fac8fe9cf983ef6abee345d18850f1d4b925b519
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-24 (Mon, 24 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64BranchTargets.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AMDGPU/R600MachineCFGStructurizer.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp
M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
M llvm/lib/Target/Hexagon/HexagonLoadStoreWidening.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
Log Message:
-----------
[Target] Use *Set::insert_range (NFC) (#132879)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: 1e2ad6793ac205607e7c809283cf69e1cc36a69a
https://github.com/llvm/llvm-project/commit/1e2ad6793ac205607e7c809283cf69e1cc36a69a
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Revert "[clang][bytecode] Implement __builtin_{wcscmp,wcsncmp} (#132723)"
This reverts commit f7aea4d081f77dba48b0fc019f59b678fb679aa8.
This broke the clang-solaris11-sparcv9 builder:
https://lab.llvm.org/buildbot/#/builders/13/builds/6151
Commit: bcedb368e317332d99dbdde617ebc35140b10de3
https://github.com/llvm/llvm-project/commit/bcedb368e317332d99dbdde617ebc35140b10de3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/c.c
Log Message:
-----------
[clang][bytecode] Support composite arrays in memcpy op (#132775)
See the attached test case.
Commit: cb4ae35de0b4c19149379f16c7b279d80a669f9d
https://github.com/llvm/llvm-project/commit/cb4ae35de0b4c19149379f16c7b279d80a669f9d
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
[YAML][NFC] precommit wrong test case (#131782)
Commit: 9b060d1e6aea15fb486a94798fedd88188269c92
https://github.com/llvm/llvm-project/commit/9b060d1e6aea15fb486a94798fedd88188269c92
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/floats.cpp
Log Message:
-----------
[clang][bytecode] Fix zero-init of atomic floating point objects (#132782)
We can't pass the AtomicType along to ASTContext::getFloatTypeSemantics.
Commit: 847e46ca013fa1d296669bd341c4c48b74797cb6
https://github.com/llvm/llvm-project/commit/847e46ca013fa1d296669bd341c4c48b74797cb6
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A clang/test/Driver/aarch64-nvidia-olympus.c
A clang/test/Driver/print-enabled-extensions/aarch64-olympus.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/lib/TargetParser/Host.cpp
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/unittests/TargetParser/Host.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add initial support for -mcpu=olympus. (#132368)
This patch adds support for the NVIDIA Olympus core.
This does not add any special tuning decisions, and those may come
later.
Commit: e696f4e5008c21b8edee089fb80d4e2e0d998e20
https://github.com/llvm/llvm-project/commit/e696f4e5008c21b8edee089fb80d4e2e0d998e20
Author: Aiden Grossman <agrossman154 at yahoo.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/lbr/mov-add.s
M llvm/test/tools/llvm-exegesis/lit.local.cfg
Log Message:
-----------
[llvm-exegesis] Fix LBR checks/test
This patch fixes the LBR check in the local lit config. The test would
segfault as the loop body would be basically empty, causing a divide by
zero error. More investigation is needed there so we do not actually hit
that assertion and report a cleaner error somewhere. Specifying an
actual opcode to benchmark fixes the problem. The test would also fail
as -mcpu was set to the default x86 CPU rather than the one currently
being run on, so it would always fail to find a perf counter. This patch
fixes that by simply removing the -mcpu flag.
Given these issues, I'm not sure these tests have ever run in the ~5
years they have been in tree. There were some issues reported in
\#132861, so I guess we'll see if there are further issues when the
testing becomes more broad.
Commit: dd059338a2ebdc68e964bbf4ea62f99f13329e30
https://github.com/llvm/llvm-project/commit/dd059338a2ebdc68e964bbf4ea62f99f13329e30
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
Revert "[Vectorize] Fix a warning"
This reverts commit 4c68061254c896214b7ad5ab807ac4ba11517812.
Reverting as part of a revert of a preceding commit.
Commit: b33bec9b2148397818f0634b31fd45e9446faccd
https://github.com/llvm/llvm-project/commit/b33bec9b2148397818f0634b31fd45e9446faccd
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#127450)"
This reverts commit 71a0cfd93263552ddc0bfd2ea7b0abe9a578f87e.
This commit triggers failed asserts when compiling ffmpeg. The
issue is reproducible with a small standalone reproducer like this:
void make_filters_from_proto(int *filter[][2], int bands) {
int c, q, n;
for (;; q++) {
n = 0;
for (; n < 7; n++) {
int theta = (q * (n - 6) + (n >> 1) - 3) % bands;
if (theta)
c = theta;
filter[q][n][0] = c;
}
}
}
$ clang -target x86_64-linux-gnu -c repro.c -O3
clang: ../lib/Transforms/Vectorize/SLPVectorizer.cpp:989: llvm::SmallVector<llvm
::Value*> {anonymous}::BinOpSameOpcodeHelper::InterchangeableInfo::getOperand(ll
vm::Instruction*) const: Assertion `FromCIValue.isZero() && "Cannot convert the
instruction."' failed.
The same issue also reproduces for a large number of other target
triples, aarch64-linux-gnu and others.
Commit: 64779455b8f4875c7de690dd4c3e324dbbcb3029
https://github.com/llvm/llvm-project/commit/64779455b8f4875c7de690dd4c3e324dbbcb3029
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
Revert "[YAML][NFC] precommit wrong test case (#131782)"
This reverts commit cb4ae35de0b4c19149379f16c7b279d80a669f9d.
That commit broke compilation with GCC:
../unittests/Support/YAMLIOTest.cpp:1280:20: error: explicit specialization of
template<class T> struct llvm::yaml::MappingTraits’ outside its namespace must u
se a nested-name-specifier [-fpermissive]
1280 | template <> struct MappingTraits<V> {
| ^~~~~~~~~~~~~~~~
Commit: d46a699953210093de55baa8b3be56dae5707082
https://github.com/llvm/llvm-project/commit/d46a699953210093de55baa8b3be56dae5707082
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_acos.h
A libclc/clc/include/clc/math/clc_asin.h
A libclc/clc/include/clc/math/clc_atan.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acos.cl
A libclc/clc/lib/generic/math/clc_acos.inc
A libclc/clc/lib/generic/math/clc_asin.cl
A libclc/clc/lib/generic/math/clc_asin.inc
A libclc/clc/lib/generic/math/clc_atan.cl
A libclc/clc/lib/generic/math/clc_atan.inc
M libclc/generic/lib/math/acos.cl
M libclc/generic/lib/math/asin.cl
M libclc/generic/lib/math/atan.cl
Log Message:
-----------
[libclc] Move asin/acos/atan to the CLC library (#132788)
This commit simultaneously moves these three functions to the CLC
library and optimizing them for vector types by avoiding scalarization.
Commit: 6984cfea6c888965bb45d046abbb97ddb0443955
https://github.com/llvm/llvm-project/commit/6984cfea6c888965bb45d046abbb97ddb0443955
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/pr132844.ll
Log Message:
-----------
[X86] Ensure concat(blendi(),blendi()) -> vselect() uses legal select mask types
For 256-bit selections, we could be using sub-i8/vXi8 selection condition masks - extend these to i8 and then extract the lowest mask subvector
Fixes #132844
Commit: e6e8252ba0a090d3a43f9df88214b415f9bb4e77
https://github.com/llvm/llvm-project/commit/e6e8252ba0a090d3a43f9df88214b415f9bb4e77
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/source/Host/CMakeLists.txt
M lldb/source/Host/common/Host.cpp
Log Message:
-----------
[lldb][AIX] Minor AIX specific changes (#132718)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
AIX build specific changes
Commit: 65ad02b882ba545dafbfc195a78e204c218e93ed
https://github.com/llvm/llvm-project/commit/65ad02b882ba545dafbfc195a78e204c218e93ed
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
M lldb/source/Plugins/Process/Utility/ThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/ThreadMemory.h
Log Message:
-----------
[lldb][NFC] Break ThreadMemory into smaller abstractions (#132905)
ThreadMemory attempts to be a class abstracting the notion of a "fake"
Thread that is backed by a "real" thread. According to its
documentation, it is meant to be a class forwarding most methods to the
backing thread, but it does so only for a handful of methods.
Along the way, it also tries to represent a Thread that may or may not
have a different name, and may or may not have a different queue from
the backing thread. This can be problematic for a couple of reasons:
1. It forces all users into this optional behavior.
2. The forwarding behavior is incomplete: not all methods are currently
being forwarded properly. Some of them involve queues and seem to have
been intentionally left unimplemented.
This commit creates the following separation:
ThreadMemory <- ThreadMemoryProvidingName <-
ThreadMemoryProvidingNameAndQueue
ThreadMemory captures the notion of a backed thread that _really_
forwards all methods to the backing thread. (Missing methods should be
implemented in a later commit, and allowing them to be implemented
without changing behavior of other derived classes is the main purpose
of this refactor).
ThreadMemoryProvidingNameAndQueue is a ThreadMemory that allows users to
override the thread name. If a name is present, it is used; otherwise
the forwarding behavior is used.
ThreadMemoryProvidingNameAndQueue is a ThreadMemoryProvidingName that
allows users to override queue information. If queue information is
present, it is used; otherwise, the forwarding behavior is used.
With this separation, we can more explicitly implement missing methods
of the base class and override them, if needed, in
ThreadMemoryProvidingNameAndQueue. But this commit really is NFC, no new
methods are implemented and no method implementation is changed.
Commit: 07c82b1622de1c5c4329ffb769bef7fef1b07429
https://github.com/llvm/llvm-project/commit/07c82b1622de1c5c4329ffb769bef7fef1b07429
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/ThreadMemory.h
Log Message:
-----------
[lldb] Implement missing queue overloads from ThreadMemory (#132906)
This commit makes ThreadMemory a real "forwarder" class by implementing
the missing queue methods: they will just call the corresponding backing
thread method.
To make this patch NFC(*) and not change the behavior of the Python OS
plugin, NamedThreadMemoryWithQueue also overrides these methods to
simply call the `Thread` method, just as it was doing before. This also
makes it obvious that there are missing pieces of this class if it were
to provide full queue support.
(*) This patch is NFC in the sense that all llvm.org plugins will not
have any behavior change, but downstream consumers of ThreadMemory will
benefit from the newly implemented forwarding methods.
Commit: f8e908a0edce2ed8b835af9aad3993a20bb8f5ce
https://github.com/llvm/llvm-project/commit/f8e908a0edce2ed8b835af9aad3993a20bb8f5ce
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
M llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
M llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
Log Message:
-----------
[AMDGPU][NPM] Port SIInsertHardClauses to NPM (#130062)
Commit: d4570ea8138f3cc52030f9c3a5772ba41ebb9ced
https://github.com/llvm/llvm-project/commit/d4570ea8138f3cc52030f9c3a5772ba41ebb9ced
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-pipeline.mlir
M mlir/test/Dialect/Tosa/dynamic_extension.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
Log Message:
-----------
[mlir][tosa] Disallow invalid datatype combinations in the validation pass (#131595)
This commit checks if the operands/results of an operator can be found
in the profile compliance mapping, if it isn't the operator is
considered invalid. As a result, operator datatype combinations that are
not listed under the "Supported Data Types" of the TOSA specification
are disallowed and the validation pass results in failure.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: 9c7e38896f878daaf5621170dea147fe00fc8625
https://github.com/llvm/llvm-project/commit/9c7e38896f878daaf5621170dea147fe00fc8625
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
Log Message:
-----------
[VPlan] Split off reduction printing tests, add find-last-IV test.
Splits off reduction printing tests, to limit growth and add test case
for printing find-last-IV (https://github.com/llvm/llvm-project/pull/132689)
Commit: 107260cc29368070bba815d94f9d5b7cec1df7d0
https://github.com/llvm/llvm-project/commit/107260cc29368070bba815d94f9d5b7cec1df7d0
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/Utils/AArch64SMEAttributes.h
M llvm/test/CodeGen/AArch64/sme-disable-gisel-fisel.ll
M llvm/test/CodeGen/AArch64/sme-zt0-state.ll
Log Message:
-----------
[AArch64][SME2] Don't preserve ZT0 around SME ABI routines (#132722)
This caused ZT0 to be preserved around `__arm_tpidr2_save` in functions
with "aarch64_new_zt0". The block in which `__arm_tpidr2_save` is called
is added by the SMEABIPass and may be reachable in cases where ZA has
not been enabled* (so using `str zt0` is invalid).
* (when za_save_buffer is null and num_za_save_slices is zero)
Commit: e8d882a95bde49f373f9be88b610ba1a8bcc99be
https://github.com/llvm/llvm-project/commit/e8d882a95bde49f373f9be88b610ba1a8bcc99be
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Audit and fix nits in cl::opts (NFC) (#130601)
Non-static cl::opts should be under the llvm namespace.
Commit: 5e0e04f0875aa900ddf21682c6692c65fbcf8b81
https://github.com/llvm/llvm-project/commit/5e0e04f0875aa900ddf21682c6692c65fbcf8b81
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - replace Root node argument with opcode/valuetype/ismaskedshuffle data. NFC. (#132437)
Preparatory cleanup up patch to makes it easier for combineX86ShufflesRecursively/combineX86ShuffleChain to handle length changing shuffles up the shuffle chain than what combineX86ShuffleChainWithExtract can manage.
Instead of passing the original Root node, pass the root opcode and the current effective value type (which may have widened as we recurse through EXTRACT_SUBVECTOR/TRUNCATE nodes etc.).
Commit: d4304d85f26984aa772fcddf1f34604e526a6683
https://github.com/llvm/llvm-project/commit/d4304d85f26984aa772fcddf1f34604e526a6683
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/subview.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir][memref] Verify out-of-bounds access for `memref.subview` (#131876)
* Improve the verifier of `memref.subview` to detect out-of-bounds
extractions.
* Improve the documentation of `memref.subview` to make clear that
out-of-bounds extractions are not allowed. Rewrite examples to use the
new `strided<>` notation instead of `affine_map` layout maps. Also
remove all unrelated operations (`memref.alloc`) from the examples.
* Fix various test cases where `memref.subview` ops ran out-of-bounds.
* Update canonicalizations patterns to ensure that they do not fold IR
if it would generate IR that no longer verifies.
Related discussion on Discourse:
https://discourse.llvm.org/t/out-of-bounds-semantics-of-memref-subview/85293
Commit: a29b0d74a198a9c91d39b4d9224c242e1a22df18
https://github.com/llvm/llvm-project/commit/a29b0d74a198a9c91d39b4d9224c242e1a22df18
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Fix base cast of nullptr without descriptor (#132909)
The missing descriptor should only happen if the pointer is null
pointer.
Commit: 36b36060a1214a4e7314d95d8e8c5609f796e509
https://github.com/llvm/llvm-project/commit/36b36060a1214a4e7314d95d8e8c5609f796e509
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.td
M mlir/lib/Dialect/SPIRV/Interfaces/SPIRVImageInterfaces.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][spirv] Fix cyclical dependency in bazel (#132785)
Commit: f737df73a3d8549bf52719c8df41aca091bd7efb
https://github.com/llvm/llvm-project/commit/f737df73a3d8549bf52719c8df41aca091bd7efb
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
A llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
Log Message:
-----------
[AArch64][CostModel] Increase the cost of illegal SVE int-to-fp converts (#130756)
If a scalable vector uitofp or sitofp effectively extends the size of
each element as part of the conversion, the AArch64 backend
may need to plant multiple unpacks before converting. Increase
the cost in those cases to account for this.
Commit: 2682a9433bb5df0efd9e926947ae289f6e8aecde
https://github.com/llvm/llvm-project/commit/2682a9433bb5df0efd9e926947ae289f6e8aecde
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-ExtractSubvector.ll
M llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
Log Message:
-----------
[SLP][REVEC] Add ExtractSubvector cost for ExternalUses. (#132761)
For llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll,
ScalarCost and ExtraCost is 1, so the original scalar will be kept.
Commit: 9b022220b7960946b5ab3be1e5ace32079b47c5c
https://github.com/llvm/llvm-project/commit/9b022220b7960946b5ab3be1e5ace32079b47c5c
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/TransformOps/VectorTransformOps.td
M mlir/lib/Dialect/Vector/TransformOps/VectorTransformOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Linalg/vectorize-tensor-extract.mlir
A mlir/test/Dialect/Vector/vector-sink-transform.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
Log Message:
-----------
[mlir][vector] Propagate `vector.extract` through elementwise ops (#131462)
Propagate `Extract(Elementwise(...))` -> `Elemetwise(Extract...)`.
Currenly limited to the case when extract is the single use of
elementwise to avoid introducing additional elementwise ops.
Commit: 9910d34d6ca6d61a9933ed4fc870e4324b6260af
https://github.com/llvm/llvm-project/commit/9910d34d6ca6d61a9933ed4fc870e4324b6260af
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[MLIR][NVVM] Print ptxas path in debug output for "serialize-to-binary" (#132373)
Commit: 822aa5ec1afee68fb16457ff06de9111c1b62450
https://github.com/llvm/llvm-project/commit/822aa5ec1afee68fb16457ff06de9111c1b62450
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] use Field::isUnnamedBitField() directly (#132914)
Instead of going though Decl.
Commit: 8122bb9dbe39a1dde77eb4aad76bf1c0e70b2d89
https://github.com/llvm/llvm-project/commit/8122bb9dbe39a1dde77eb4aad76bf1c0e70b2d89
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
Log Message:
-----------
[SLP]Fix a check for non-schedulable instructions
Need to fix a check for non-schedulable instructions in
getLastInstructionInBundle function, because this check may not work
correctly during the codegen. Instead, need to check that actually these
instructions were never scheduled, since the scheduling analysis always
performed before the codegen and is stable.
Fixes #132841
Commit: 6e66cfeeaec6f09a4454400e45d690457ecdd3de
https://github.com/llvm/llvm-project/commit/6e66cfeeaec6f09a4454400e45d690457ecdd3de
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
A llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
A llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
[SLP] Make getSameOpcode support interchangeable instructions. (#132887)
We use the term "interchangeable instructions" to refer to different
operators that have the same meaning (e.g., `add x, 0` is equivalent to
`mul x, 1`).
Non-constant values are not supported, as they may incur high costs with
little benefit.
---------
Co-authored-by: Alexey Bataev <a.bataev at gmx.com>
Commit: 975c208556ef85b321a223fe592fa6d98fadfaa0
https://github.com/llvm/llvm-project/commit/975c208556ef85b321a223fe592fa6d98fadfaa0
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrAVX10.td
M llvm/test/CodeGen/X86/avx10_2_512bf16-intrinsics.ll
M llvm/test/CodeGen/X86/avx10_2bf16-intrinsics.ll
M llvm/test/MC/Disassembler/X86/avx10.2-bf16-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2-bf16-64.txt
M llvm/test/MC/Disassembler/X86/avx10.2-com-ef-32.txt
M llvm/test/MC/Disassembler/X86/avx10.2-com-ef-64.txt
M llvm/test/MC/X86/avx10.2-bf16-32-att.s
M llvm/test/MC/X86/avx10.2-bf16-32-intel.s
M llvm/test/MC/X86/avx10.2-bf16-64-att.s
M llvm/test/MC/X86/avx10.2-bf16-64-intel.s
M llvm/test/MC/X86/avx10.2-com-ef-32-att.s
M llvm/test/MC/X86/avx10.2-com-ef-32-intel.s
M llvm/test/MC/X86/avx10.2-com-ef-64-att.s
M llvm/test/MC/X86/avx10.2-com-ef-64-intel.s
Log Message:
-----------
[X86][AVX10.2] Include changes for COMX and VGETEXP from rev. 2 (#132824)
Address missing changes:
- V[,U]COMXSD need to have XD (F3.0F –> F2.0F)
- V[,U]COMXS[S,H] need to have XS (F2.[0F,MAP5] -> F3.[0F,MAP5])
- VGETEXPBF16 needs to have T_MAP6 and NP (66.MAP5 -> NP.MAP6)
Ref.: https://cdrdv2.intel.com/v1/dl/getContent/828965
Commit: cca9b55f54e908b24d466a59eee4e57c1d8ff1ab
https://github.com/llvm/llvm-project/commit/cca9b55f54e908b24d466a59eee4e57c1d8ff1ab
Author: Karlo Basioli <68535415+basioli-k at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
Fix bazel test errors caused by #131462 (#132929)
Commit: dfca6c0d3bf9d1a0565b3ff46813ddd66bd493e9
https://github.com/llvm/llvm-project/commit/dfca6c0d3bf9d1a0565b3ff46813ddd66bd493e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaved-store-of-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.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
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/ARM/prefer-tail-loop-folding.ll
M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-loop-hint.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-scalar-epilogue-fallback.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/WebAssembly/induction-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-hoist-load-across-store.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaved-accesses-sink-store-across-load.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/multi-exit-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/extract-from-end-vector-constant.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/induction_plus.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr35773.ll
M llvm/test/Transforms/LoopVectorize/pr37248.ll
M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-min-index.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/uitofp-preserve-nneg.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vect-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
Log Message:
-----------
[VPlan] Remove no-op SCALAR-STEPS after unrolling. (#123655)
After unrolling, there may be additional simplifications that can be
applied. One example is removing SCALAR-STEPS for the first part where
only the first lane is demanded.
This removes redundant adds of 0 from a large number of tests (~200),
many which I am still working on updating.
In preparation for removing redundant WideIV steps added in
https://github.com/llvm/llvm-project/pull/119284.
PR: https://github.com/llvm/llvm-project/pull/123655
Commit: b24694371c62a71aab3550e983a6bf971ed721ff
https://github.com/llvm/llvm-project/commit/b24694371c62a71aab3550e983a6bf971ed721ff
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add instantiation of VPUnrollPartAccessor<2> to fix link errors.
Speculative fix for missing definitions in some configs, including
https://lab.llvm.org/buildbot/#/builders/159/builds/18760
Commit: 449e3fad62455653beaa77f328f804a2027096f9
https://github.com/llvm/llvm-project/commit/449e3fad62455653beaa77f328f804a2027096f9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/shift-i512.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add concatenation handling for X86ISD::VSHLD/VSHRD funnel shift nodes (#132915)
Concat the nodes if we can merge either of the operands for free.
Commit: 3013458a7901d2ec8c92ec1854c7a9354701f4c7
https://github.com/llvm/llvm-project/commit/3013458a7901d2ec8c92ec1854c7a9354701f4c7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_acospi.h
A libclc/clc/include/clc/math/clc_asinpi.h
A libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acospi.cl
A libclc/clc/lib/generic/math/clc_acospi.inc
A libclc/clc/lib/generic/math/clc_asinpi.cl
A libclc/clc/lib/generic/math/clc_asinpi.inc
A libclc/clc/lib/generic/math/clc_atanpi.cl
A libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/generic/lib/math/acospi.cl
M libclc/generic/lib/math/asinpi.cl
M libclc/generic/lib/math/atanpi.cl
Log Message:
-----------
[libclc] Move asinpi/acospi/atanpi to the CLC library (#132918)
Similar to d46a6999, this commit simultaneously moves these three
functions to the CLC library and optimizes them for vector types by
avoiding scalarization.
Commit: 9768077de65e31daa619eae231f027e052d601c2
https://github.com/llvm/llvm-project/commit/9768077de65e31daa619eae231f027e052d601c2
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir][vector] Update helpers in `VectorEmulateNarrowType.cpp` (nfc) (#131527)
Refactors the following pairs of helper hooks:
* `dynamicallyInsertSubVector` + `staticallyInsertSubVector`
* `dynamicallyExtractSubVector` + `staticallyExtractSubVector`
These hooks are very similar, so I have unified the variable names and
various conditions to make the actual differences clearer.
Commit: 6785951410c35aa9429152d3e041b44b79db53f2
https://github.com/llvm/llvm-project/commit/6785951410c35aa9429152d3e041b44b79db53f2
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2025-03-25 (Tue, 25 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:
-----------
[Machine-Combiner] Add a pass to reassociate chains of accumulation instructions into a tree (#132728)
This pass is designed to increase ILP by performing accumulation into
multiple registers. It currently supports only the S/UABAL accumulation
instruction, but can be extended to support additional instructions.
Reland of #126060 which was reverted due to a conflict with #131272.
Commit: c0a7ccb59acfe90de38c580f52f2691c00f7ea9c
https://github.com/llvm/llvm-project/commit/c0a7ccb59acfe90de38c580f52f2691c00f7ea9c
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
Log Message:
-----------
[SystemZ] Implement basic `isCopyInstrImpl` (#132903)
As a first step toward implementing SystemZ support for instr-ref-based
debug info tracking, this commit adds a basic implementation for the
previously absent `SystemZInstrInfo::isCopyInstrImpl`.
This is accomplished by adding a new flag called `isMoveReg` on the
relevant instructions and calling upon that bit of information to
implement the function. Which instructions to add the flag to was based
on the implementation of `SystemZInstrInfo::copyPhysReg`. The full list
of instructions is as follows:
#### General-Purpose Registers
- `lr`
- `lgr`
#### Floating Point Registers
- `ler`
- `ldr`
- `lxr`
#### Vector Registers
- `vlr`
Commit: 2a10e3d4b0cb65557580db2de38846b2fbf2bce4
https://github.com/llvm/llvm-project/commit/2a10e3d4b0cb65557580db2de38846b2fbf2bce4
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
Log Message:
-----------
[SystemZ] Add pass initialization for `CopyPhysRegs` pass (#132912)
This commit adds an initialization to `SystemZTargetMachine` for the
`SystemZCopyPhysRegs` pass that was thus far missing. This will enable,
e.g., to run tests for that pass via `llc
--run-pass=systemz-copy-physregs`.
Commit: f24cf59d7afbfcefe43086c2e0984992deec3678
https://github.com/llvm/llvm-project/commit/f24cf59d7afbfcefe43086c2e0984992deec3678
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/test/CodeGen/SystemZ/builtin-setjmp-alloca.ll
M llvm/test/CodeGen/SystemZ/builtin-setjmp-spills.ll
M llvm/test/CodeGen/SystemZ/builtin-setjmp.ll
M llvm/test/CodeGen/SystemZ/fmuladd-soft-float.ll
M llvm/test/CodeGen/SystemZ/foldmemop-imm-02.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-cc.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-cmp.mir
M llvm/test/CodeGen/SystemZ/foldmemop-vec-unary.mir
M llvm/test/CodeGen/SystemZ/fp-move-02.ll
M llvm/test/CodeGen/SystemZ/frame-22.ll
M llvm/test/CodeGen/SystemZ/int-uadd-03.ll
M llvm/test/CodeGen/SystemZ/int-usub-03.ll
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
M llvm/test/CodeGen/SystemZ/zos-prologue-epilog.ll
Log Message:
-----------
[SystemZ] Add `is(LoadFrom|StoreTo)StackSlotPostFE` to SystemZBackend (#132928)
As part of an effort to enable instr-ref-based debug value tracking,
this PR implements `SystemZInstrInfo::isLoadFromStackSlotPostFE`, as
well as `SystemZInstrInfo::isStoreToStackSlotPostFE`. The implementation
relies upon the presence of MachineMemoryOperands on the relevant
`MachineInstr`s in order to access the `FrameIndex` post frame index
elimination.
Since these new functions are only meant to be called after frame-index
elimination, they assert against the present of a frame index on the
base register operand of the instruction.
Outside of the utility of these functions to enable instr-ref-based
debug value tracking, they also changes the behavior of the AsmPrinter,
since it will now be able to properly detect non-folded spills and
reloads, so this changes a number of tests that were checking
specifically for folded reloads.
Note that there are some tests that still check for `vst` and `vl` as
folded spills/reloads even though they should be straight reloads. This
will be addressed in a future PR.
Co-authored-by: Dominik Steenken <dominik.steenken at gmail.com>
Commit: ba46c37f9c56cb207c0c7189246456edef563340
https://github.com/llvm/llvm-project/commit/ba46c37f9c56cb207c0c7189246456edef563340
Author: Leslie <Wse1714401046 at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libc/src/time/mktime.cpp
M libc/src/time/time_utils.cpp
M libc/src/time/time_utils.h
Log Message:
-----------
[libc] change the return value type of mktime_internal to time_t (#132231)
This pr is to resovle #126948
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: db33978c467c6d794fc768e14a18abcc089e6ba5
https://github.com/llvm/llvm-project/commit/db33978c467c6d794fc768e14a18abcc089e6ba5
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/docs/AMDGPU/AMDGPUAsmGFX11.rst
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/test/MC/AMDGPU/gfx11_asm_mubuf.s
M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
M llvm/test/MC/AMDGPU/gfx12_unsupported.s
M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_mubuf.txt
Log Message:
-----------
[AMDGPU][GFX11] buffer_load_lds_{size} instructions do not exist (#132916)
According to the shader manual there are not buffer load lds
instructions of gfx11.
The tests for the regular `buffer_load ... lds` instructions for gfx11
are already present in AMDGPU/gfx11_asm_mubuf.s, where the compiler
fails to encode the instructions for this target.
Commit: 5105ecc413757999ea0aec238ed54ae39dbf005d
https://github.com/llvm/llvm-project/commit/5105ecc413757999ea0aec238ed54ae39dbf005d
Author: offsetof <offsetof at mailo.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaInit.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.cpp
Log Message:
-----------
[clang] Refine handling of C++20 aggregate initialization (#131320)
* Move parts of `InitializationSequence::InitializeFrom` corresponding
to C++ [dcl.init.general] p16.6.1 and p16.6.2 into a separate
function,`TryConstructorOrParenListInitialization`
* Use it in `TryListInitialization` to implement [dcl.init.list] p3.2
* Fix parenthesized aggregate initialization being attempted in
copy-initialization contexts or when the constructor call is ambiguous
Co-authored-by: cor3ntin <corentinjabot at gmail.com>
Commit: a6de034f853797161f8cb2f074ecc48edec43f40
https://github.com/llvm/llvm-project/commit/a6de034f853797161f8cb2f074ecc48edec43f40
Author: Tsukasa OI <research_trasio at irq.a4lg.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
Log Message:
-----------
[RISCV] Combine 3 bit-manip extensions into `B` (#132858)
Like cryptography extensions like `Zk`, `B` (a combination of `Zba`,
`Zbb` and `Zbs` extensions) can be useful if we handle this extension as
a combination.
If all `Zba`, `Zbb` and `Zbs` extensions are enabled, it also enables
the `B` extension.
Commit: 6aed161cb986234fbe2378d4c3c79d4120eef6b9
https://github.com/llvm/llvm-project/commit/6aed161cb986234fbe2378d4c3c79d4120eef6b9
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libc/test/src/__support/CMakeLists.txt
Log Message:
-----------
[libc][NFC] Remove incorrect file level dependency in CMake (#132937)
Summary:
CMake doesn't support this type of dependency so it keeps emitting a
warning. Just remove it, because it's not doing anything currently
anyway. If we really wanted this to work you'd need to add a custom
target that has a dependency on the output of a custom command, but that
would only be worhwhile if we ever expected this file to change.
Commit: fedac3bdb83876d25782966f1d16768ece787800
https://github.com/llvm/llvm-project/commit/fedac3bdb83876d25782966f1d16768ece787800
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:331:8:
error: unused variable 'srcVecTy' [-Werror,-Wunused-variable]
mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp:332:8:
error: unused variable 'destVecTy' [-Werror,-Wunused-variable]
Commit: 73340248599db068b7dfb0f316911ebe8b7bb365
https://github.com/llvm/llvm-project/commit/73340248599db068b7dfb0f316911ebe8b7bb365
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libcxx/CMakeLists.txt
Log Message:
-----------
[libc++] Always build the dylib with hidden visibility (#131313)
The comment seems to be wrong by now. The only difference this makes for
GCC is that there are fewer private symbols exported from the dylib,
which can't ever be accessed by user code anyways.
Commit: 8352ca0d354f7f196eb2acd76740fdff9984664c
https://github.com/llvm/llvm-project/commit/8352ca0d354f7f196eb2acd76740fdff9984664c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-25 (Tue, 25 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 - fold(undef,zero) -> zero
Concat any mixture of zero/undefs to zero (we've already handled all undefs at this point).
Commit: 1617f90a6154dfd59e58da8b9513d903d899169a
https://github.com/llvm/llvm-project/commit/1617f90a6154dfd59e58da8b9513d903d899169a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Analysis/CGSCCPassManager.cpp
M llvm/lib/Analysis/FunctionPropertiesAnalysis.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ModuleSummaryAnalysis.cpp
M llvm/lib/Analysis/StackSafetyAnalysis.cpp
M llvm/lib/Analysis/SyntheticCountsUtils.cpp
Log Message:
-----------
[Analysis] Use *Set::insert_range (NFC) (#132878)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: f6823a0ae1b7c70f47a3bc82fa49bfce41ea7c03
https://github.com/llvm/llvm-project/commit/f6823a0ae1b7c70f47a3bc82fa49bfce41ea7c03
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/subview.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
Revert "[mlir][memref] Verify out-of-bounds access for `memref.subview`" (#132940)
Reverts llvm/llvm-project#131876
GPU integration tests get broken by this PR.
E.x.
`mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir`
Commit: a8e168e0c18bb7ac57361500cd98601160a107cc
https://github.com/llvm/llvm-project/commit/a8e168e0c18bb7ac57361500cd98601160a107cc
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__memory/uninitialized_algorithms.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/deque
Log Message:
-----------
[libc++][NFC] Replace structs with variable templates in <__memory/allocator_traits.h> (#129237)
Variable templates are a bit easier on the compiler and improve the
readability of the code.
Commit: 629ff2d7ba382cc9a584658d94a81818a06c34f2
https://github.com/llvm/llvm-project/commit/629ff2d7ba382cc9a584658d94a81818a06c34f2
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/imm.ll
A llvm/test/MC/RISCV/xqcili-li.s
Log Message:
-----------
[RISCV][Xqcili] Implement Load Immediate Support (#132496)
This is required to support `li`, but the code is also shared with
CodeGen so the compiler will now emit instructions from Xqcili when that
extension is enabled during compilation.
Also implemented some missed verifiers in
`RISCVInstrInfo::verifyInstruction`, some of which are required for this
change.
Commit: 2497945a95bd6e66120476892816c90e42a592fc
https://github.com/llvm/llvm-project/commit/2497945a95bd6e66120476892816c90e42a592fc
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Format/UnwrappedLineParser.h
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate requires clause in `&& requires(` (#132882)
Fix #132334
Commit: 4fe2ad498efad016a16b960d6bc7c32882847879
https://github.com/llvm/llvm-project/commit/4fe2ad498efad016a16b960d6bc7c32882847879
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
Log Message:
-----------
[mlir][tosa] Align dialect summary and description sections to the TOSA v1.0 spec (#132835)
Align dialect summary and description sections to the TOSA v1.0 spec
* Updated the summary and description sections in the dialect to better
align with the TOSA v1.0 specification.
* Fixed the output variable names LogicalAndOp, LogicalRightShiftOp,
LogicalXorOp
* Removed some redundant comments
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 5159911a7c1476ff182363068d2a1169286bfb06
https://github.com/llvm/llvm-project/commit/5159911a7c1476ff182363068d2a1169286bfb06
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang][NFC] Update C++ DR status page
Commit: 60eb89f9fa0fd990c5cf2cc64d4202e3485d256e
https://github.com/llvm/llvm-project/commit/60eb89f9fa0fd990c5cf2cc64d4202e3485d256e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
Log Message:
-----------
[flang-rt] Fix typo using `static` instead of `shared`
Summary:
I copied this from the static usage, replaced the shared on the
dependency but not on the target.
Commit: f3a14217a995e5b086dea3677edb43e48e6b1af2
https://github.com/llvm/llvm-project/commit/f3a14217a995e5b086dea3677edb43e48e6b1af2
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
Log Message:
-----------
Fix maybe unused errors caused by #131527 (#132944)
Commit: feecb201ab041dbcf8266960aba4b252a789bcd4
https://github.com/llvm/llvm-project/commit/feecb201ab041dbcf8266960aba4b252a789bcd4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
Reapply "[YAML][NFC] precommit wrong test case (#131782)" (#132936)
This reverts commit 64779455b8f4875c7de690dd4c3e324dbbcb3029.
Commit: 8f863fcd77e15caf3b7fde089adc223b0c4fb103
https://github.com/llvm/llvm-project/commit/8f863fcd77e15caf3b7fde089adc223b0c4fb103
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[clang][CI] Reuse build dir between C++26 and modules build of runtimes (#132480)
Between C++26 and Clang modules build of runtimes, which are used as an
additional testing for Clang, the only difference are
`LIBCXX_TEST_PARAMS` and `LIBCXXABI_TEST_PARAMS`. Both of them are
transformed into actual lit configuration lines, and put into
`SERIALIZED_LIT_PARAMS`, which end up in `libcxx/test/cmake-bridge.cfg`
via `configure_file` command. Notably, it seems that they are not used
in any other way.
I checked that if those variables are changed, subsequent runs of CMake
configuration step regenerate `cmake-bridge.cfg` with the new values.
Which means that we don't need to do clean builds for every runtimes
configuration we want to test.
I hope that together with #131913, this will be enough to alleviate
Linux CI pains we're having, and we wouldn't have to make a tough choice
between C++26 and Clang modules builds for pre-merge CI.
Commit: 23bf98e4b5b763534ec568c792989e83de580b04
https://github.com/llvm/llvm-project/commit/23bf98e4b5b763534ec568c792989e83de580b04
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Mangled.h
M lldb/include/lldb/Core/Module.h
M lldb/include/lldb/Interpreter/CommandInterpreter.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/ValueObject/ValueObjectVariable.h
M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.h
Log Message:
-----------
[lldb][docs][NFC] Fix some doxygen comments (#132910)
These weren't rendering properly (mostly mis-use the syntax for
commenting member variables).
Commit: 70aeb89094e8109cd072b7cbfbf05060c05e139a
https://github.com/llvm/llvm-project/commit/70aeb89094e8109cd072b7cbfbf05060c05e139a
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
A llvm/test/CodeGen/AMDGPU/vector_range_metadata.ll
Log Message:
-----------
Calculate KnownBits from Metadata correctly for vector loads (#128908)
Calculate KnownBits correctly from metadata for vector loads.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 1bb755fdcd61695c748d925ee756fc3cba4f15ae
https://github.com/llvm/llvm-project/commit/1bb755fdcd61695c748d925ee756fc3cba4f15ae
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
Log Message:
-----------
[lldb][Instrumentation] GetPreferredAsanModule should be no-op on non-Darwin platforms (#132911)
The regex we use to find the compiler-rt library is already
Darwin-specific, so no need to run this on non-Darwin platforms.
Commit: 9fb792496687df1136d78e828cffe4f7f04a7043
https://github.com/llvm/llvm-project/commit/9fb792496687df1136d78e828cffe4f7f04a7043
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libc/src/time/time_utils.cpp
Log Message:
-----------
[libc][time] Fix -Wshorten-64-to-32 warning (#132947)
This breaks builds of libc with top of tree clang under -Werror.
Commit: cc08826b537c2e73013554cdaaf8ab06f2c0eb5e
https://github.com/llvm/llvm-project/commit/cc08826b537c2e73013554cdaaf8ab06f2c0eb5e
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx11_asm_mubuf.s
M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_err.s
Log Message:
-----------
[NFC][AMDGPU] Move buffer_load lds test from gfx11_asm_mubuf.s to gfx11_asm_mubuf_err.s (#132938)
The test checked that the lds flag for buffer_load instructions was not
supported. These should be moved to the _err counterpart of the tests.
Commit: 214fb43cb671d89d0e2da6dde348c6ffc360d7f0
https://github.com/llvm/llvm-project/commit/214fb43cb671d89d0e2da6dde348c6ffc360d7f0
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCExpr: simplify evaluateAsRelocatableImpl after https://reviews.llvm.org/D156505
Commit: f4bb9b53ad09739ae120df66a317c9b89ddcaff0
https://github.com/llvm/llvm-project/commit/f4bb9b53ad09739ae120df66a317c9b89ddcaff0
Author: Julien Villette <julien.villette at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-mca.rst
M llvm/include/llvm/MC/MCSchedule.h
M llvm/lib/MC/MCSchedule.cpp
M llvm/test/tools/llvm-mca/AArch64/Neoverse/V1-sve-instructions.s
A llvm/test/tools/llvm-mca/RISCV/SiFive7/instruction-tables-tests.s
M llvm/tools/llvm-mca/Views/InstructionInfoView.cpp
M llvm/tools/llvm-mca/Views/InstructionInfoView.h
M llvm/tools/llvm-mca/llvm-mca.cpp
Log Message:
-----------
[MCA] Extend -instruction-tables option with verbosity levels (#130574)
Option becomes: -instruction-tables=`<level>`
The choice of `<level>` controls number of printed information.
`<level>` may be `none` (default), `normal`, `full`.
Note: If the option is used without `<label>`, default is `normal`
(legacy).
When `<level>` is `full`, additional information are:
- `<Bypass Latency>`: Latency when a bypass is implemented between
operands
in pipelines (see SchedReadAdvance).
- `<LLVM Opcode Name>`: mnemonic plus operands identifier.
- `<Resources units>`: Used resources associated with LLVM Opcode.
- `<instruction comment>`: reports comment if any from source assembly.
Level `full` can be used to better check scheduling info when TableGen
is modified.
LLVM Opcode name help to find right instruction regexp to fix TableGen
Scheduling Info.
-instruction-tables=full option is validated on
AArch64/Neoverse/V1-sve-instructions.s
Follow up of MR #126703
---------
Co-authored-by: Julien Villette <julien.villette at sipearl.com>
Commit: bed4c581c2a73a437f13e278c0d654c01efb58a1
https://github.com/llvm/llvm-project/commit/bed4c581c2a73a437f13e278c0d654c01efb58a1
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/fp-contract.ll
Log Message:
-----------
[NVPTX] Check 'contract' fast-math flag in addition to global options (#131372)
Commit: 5f58f3dda8b17f664a85d4e5e3c808edde41ff46
https://github.com/llvm/llvm-project/commit/5f58f3dda8b17f664a85d4e5e3c808edde41ff46
Author: Ian Tayler Lessa <ian.taylerlessa at arm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
Log Message:
-----------
[mlir][tosa] Avoid overflow in reduction folders (#132786)
Avoid operations that can overflow in constant folders for
`tosa.reduce_max` and `tosa.reduce_min`
Includes tests to avoid regressions
Signed-off-by: Ian Tayler Lessa <ian.taylerlessa at arm.com>
Commit: 8fb802e995868f19f40ff7a14df6f38b248af3ce
https://github.com/llvm/llvm-project/commit/8fb802e995868f19f40ff7a14df6f38b248af3ce
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Improve code in collectInstsToScalarize (NFC) (#130643)
Commit: 0919ab3cb64668d771540c83fe439da8796b9ada
https://github.com/llvm/llvm-project/commit/0919ab3cb64668d771540c83fe439da8796b9ada
Author: Pranav Kant <prka at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
M llvm/test/CodeGen/AArch64/arm64-convert-v4f64.ll
M llvm/test/CodeGen/AArch64/bf16-v4-instructions.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/complex-int-to-fp.ll
M llvm/test/CodeGen/AArch64/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics-vector.ll
M llvm/test/CodeGen/AArch64/fprcvt-cvtf.ll
M llvm/test/CodeGen/AArch64/itofp-bf16.ll
M llvm/test/CodeGen/AArch64/itofp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-int-to-fp.ll
M llvm/test/CodeGen/AArch64/vector-fcvt.ll
Log Message:
-----------
[AArch64] Don't try to vectorize fixed point to fp narrowing conversion (#130665)
GCC, correctly, doesn't vectorize in this case. Absence of direct
instructions to convert larger fixed point to lower floating point
precision inadvertently causes rounding leading to subtle differences
across ISAs.
https://godbolt.org/z/ssEchMWrE
Co-authored by: @echristo
Commit: 870463519bab45acf8590d41d9f2a161c37f26d5
https://github.com/llvm/llvm-project/commit/870463519bab45acf8590d41d9f2a161c37f26d5
Author: jimingham <jingham at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/Makefile
A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/TestNestedBreakpointCommands.py
A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/main.c
A lldb/test/API/functionalities/breakpoint/nested_breakpoint_commands/make_bkpt_cmds.py
Log Message:
-----------
Fix the managing of the session dictionary when you have nested wrappers (#132846)
Since the inner wrapper call might have removed one of the entries from
the global dict that the outer wrapper ALSO was going to delete, make
sure that we check that the key is still in the global dict before
trying to act on it.
Commit: 7b3885d47b294940c34f01e82b084fe104e93dba
https://github.com/llvm/llvm-project/commit/7b3885d47b294940c34f01e82b084fe104e93dba
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Fract (#132921)
Commit: 92e0560347196c5341ed0292878e2b4f8dba414f
https://github.com/llvm/llvm-project/commit/92e0560347196c5341ed0292878e2b4f8dba414f
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/exceptions.cpp
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_next.f90
M flang/test/Lower/Intrinsics/ieee_real.f90
M flang/test/Lower/Intrinsics/ieee_rem.f90
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/nearest.f90
Log Message:
-----------
[flang] ieee_denorm (#132307)
Add support for the nonstandard ieee_denorm exception for real kinds 3,
4, 8 on x86 processors.
Commit: 6ddc07163d6c781622384eb83c7220d3051243a6
https://github.com/llvm/llvm-project/commit/6ddc07163d6c781622384eb83c7220d3051243a6
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
Log Message:
-----------
Disable some tests on bazel (#132951)
These tests failed at Google after #130757. Disable them in bazel for the time being.
Commit: 2c8e26081fc5a023471622ddc98638431c66ac6f
https://github.com/llvm/llvm-project/commit/2c8e26081fc5a023471622ddc98638431c66ac6f
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/command.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Common/windows-include.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/hostnm-func.f90
A flang/test/Lower/Intrinsics/hostnm-sub.f90
A flang/test/Semantics/hostnm.f90
Log Message:
-----------
[flang] Add HOSTNM runtime and lowering intrinsics implementation (#131910)
Implement GNU extension intrinsic HOSTNM, both function and subroutine
forms. Add HOSTNM documentation to `flang/docs/Intrinsics.md`. Add
lowering and semantic unit tests.
(This change is modeled after GETCWD implementation.)
Commit: 25938389c023e7122a03cd4d3536187542046c65
https://github.com/llvm/llvm-project/commit/25938389c023e7122a03cd4d3536187542046c65
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/agpr-csr.ll
Log Message:
-----------
[AMDGPU] Autogen checks for agpr-csr.ll (#132959)
Needed for a RegisterCoalescer patch
Commit: 357306572d4734a75e649284b4808299d0aba9c8
https://github.com/llvm/llvm-project/commit/357306572d4734a75e649284b4808299d0aba9c8
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/utility
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/utilities/utility/utility.monostate.relpos/relops.pass.cpp
A libcxx/test/std/utilities/utility/utility.monostate/monostate.pass.cpp
Log Message:
-----------
[libcxx] Put `std::monostate` in `<utility>` (#128373)
Fixes: #127874
Commit: 74c2c049d12cf9c2aa1ce8bcf16048f4a084dd90
https://github.com/llvm/llvm-project/commit/74c2c049d12cf9c2aa1ce8bcf16048f4a084dd90
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/alias.mlir
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Add weak_odr to allowed linkage for alias (#132840)
I missed this when originally introduced the feature (note the verifier
message already contains it), this fixes a small bug.
Commit: 53fa28940e0a3ef183e04dd8bc8566d64bbfd101
https://github.com/llvm/llvm-project/commit/53fa28940e0a3ef183e04dd8bc8566d64bbfd101
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[clang] Remove unused member variable from ModuleMap
This became unused when module map parsing moved to ModuleMapFile.cpp.
Commit: 2f8d6998451dd8c4095fb60f087eca36974f5d74
https://github.com/llvm/llvm-project/commit/2f8d6998451dd8c4095fb60f087eca36974f5d74
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.append.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.consume.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ds.gws.init.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.buffer.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.ll
Log Message:
-----------
[AMDGPU][SelectionDAG] Use COPY instead of S_MOV_B32 to assign values to M0 (#132957)
This is consistent with what's done on GISel. This allows the register
coalescer to remove the redundant intermediate `s_mov_b32` instructions
by using `m0` directly as the result register.
Commit: dfb6c761f75581f4230d1e9ec6a569686f0bf11c
https://github.com/llvm/llvm-project/commit/dfb6c761f75581f4230d1e9ec6a569686f0bf11c
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-25 (Tue, 25 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] ASTContex: fix getCommonSugaredType for array types (#132559)
This corrects the behaviour for getCommonSugaredType with regards to
array top level qualifiers: remove differing top level qualifiers, as
they must be redundant with element qualifiers.
Fixes https://github.com/llvm/llvm-project/issues/97005
Commit: 51dad714e82e3e15c339aade8be605ed09bbabab
https://github.com/llvm/llvm-project/commit/51dad714e82e3e15c339aade8be605ed09bbabab
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
M llvm/test/Transforms/GlobalOpt/dead-store-status.ll
M llvm/test/Transforms/GlobalOpt/pr54572.ll
Log Message:
-----------
[GlobalOpt] Handle operators separately when removing GV users (#84694)
Refactor globalopt by eliminating redundant code. Fix
https://github.com/llvm/llvm-project/issues/64680.
Commit: e16e93a4c7d9a0154d9e136f164a88eaa9e3768b
https://github.com/llvm/llvm-project/commit/e16e93a4c7d9a0154d9e136f164a88eaa9e3768b
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/test/Transforms/GlobalOpt/cleanup-pointer-root-users-gep-constexpr.ll
M llvm/test/Transforms/GlobalOpt/dead-store-status.ll
M llvm/test/Transforms/GlobalOpt/pr54572.ll
Log Message:
-----------
Revert "[GlobalOpt] Handle operators separately when removing GV users" (#132971)
Reverts llvm/llvm-project#84694 . Review was incomplete.
Commit: fc5b4d4a9d807bce07f5ce719e877707381f52c4
https://github.com/llvm/llvm-project/commit/fc5b4d4a9d807bce07f5ce719e877707381f52c4
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libcxx/include/__vector/vector.h
Log Message:
-----------
[libc++] Rename __construct_one_at_end to __emplace_back_assume_capacity (#132276)
This makes it clear that the end of the vector is updated when calling
the function.
Commit: 9243f99d17c0165800fd1f2f92c5c975cf702414
https://github.com/llvm/llvm-project/commit/9243f99d17c0165800fd1f2f92c5c975cf702414
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libc/src/__support/CPP/atomic.h
M libc/test/src/__support/CPP/atomic_test.cpp
Log Message:
-----------
[libc] Add support for C++20 'atomic_ref' type (#132302)
Summary:
C++20 introduced an atomic reference type, which more easily wraps
around the standard way of dealing with atomics. Instead of a dedicated
type, it allows you to treat an existing allocation as atomic.
This has no users yet, but I'm hoping to use it when I start finalizing
my GPU allocation interface, as it will need to handle atomic values
in-place that can't be done with placement new. Hopefully this is small
enough that we can just keep it in-tree until it's needed, but I'll
accept holding it here until it has a user.
I added one extension to allow implicit conversion and CTAD.
Commit: b0668d859b237f6991f416b688cedb7389354fd8
https://github.com/llvm/llvm-project/commit/b0668d859b237f6991f416b688cedb7389354fd8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/sort.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__type_traits/desugars_to.h
A libcxx/test/libcxx/type_traits/desugars_to.compile.pass.cpp
A libcxx/test/libcxx/utilities/function.objects/refwrap/desugars_to.compile.pass.cpp
Log Message:
-----------
[libc++] Make sure that __desugars_to isn't tripped up by reference_wrapper, const and ref qualifiers (#132092)
Previously, const and ref qualification on an operation would cause
__desugars_to to report false, which would lead to unnecessary
pessimizations. The same holds for reference_wrapper.
In practice, const and ref qualifications on the operation itself are
not relevant to determining whether an operation desugars to something
else or not, so can be ignored.
We are not stripping volatile qualifiers from operations in this patch
because we feel that this requires additional discussion.
Fixes #129312
Commit: 3bcbb472586fddf66c58011e57e08550d59ea8e5
https://github.com/llvm/llvm-project/commit/3bcbb472586fddf66c58011e57e08550d59ea8e5
Author: Alex Hoppen <ahoppen at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/Rename.h
M clang-tools-extra/clangd/unittests/RenameTests.cpp
Log Message:
-----------
[clangd] Use `SymbolName` to represent Objective-C selectors (#82061)
This is a cleaner design than using identifier and an optional `Selector`. It also allows rename of Objective-C method names if no declaration is at hand and thus no `Selector` instance can be formed. For example, when finding the ranges to rename based on an index that’s not clangd’s built-in index.
Commit: f7f5aa217a81f2ec036fee765124bd2057531d86
https://github.com/llvm/llvm-project/commit/f7f5aa217a81f2ec036fee765124bd2057531d86
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/tools/amdgpu-arch/AMDGPUArchByHIP.cpp
Log Message:
-----------
[Clang][AMDGPU] Use size_t to compare with npos (#132868)
Fix error
llvm\clang\tools\amdgpu-arch\AMDGPUArchByHIP.cpp(102,29): error: result
of comparison of constant 18446744073709551615 with expression of type
'unsigned int' is always false
[-Werror,-Wtautological-constant-out-of-range-compare]
102 | StringRef VerStr = (Pos == StringRef::npos) ? S : S.substr(Pos +
1);
Commit: b6b40e9ac980518d7270b4ac880496b91efc8ca5
https://github.com/llvm/llvm-project/commit/b6b40e9ac980518d7270b4ac880496b91efc8ca5
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.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: reformulate the state for data-flow analysis (#131898)
In preparation for implementing support for detection of non-protected
call instructions, refine the definition of state which is computed for
each register by data-flow analysis.
Explicitly marking the registers which are known to be trusted at
function entry is crucial for finding non-protected calls. In addition,
it fixes less-common false negatives for pac-ret, such as `ret x1` in
`f_nonx30_ret_non_auted` test case.
Commit: 011a95c5367e55820e134d99446a176d21e32dc8
https://github.com/llvm/llvm-project/commit/011a95c5367e55820e134d99446a176d21e32dc8
Author: Julien Villette <julien.villette at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-mca/RISCV/SiFive7/instruction-tables-tests.s
Log Message:
-----------
[MCA] Update of RISCV/SiFive7/instruction-tables-tests.s (#132972)
Fixing MR #130574 after merge in main branch.
Throughput has been updated in between.
Co-authored-by: Julien Villette <julien.villette at sipearl.com>
Commit: 613a077b05b8352a48695be295037306f5fca151
https://github.com/llvm/llvm-project/commit/613a077b05b8352a48695be295037306f5fca151
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M flang-rt/CMakeLists.txt
R flang-rt/cmake/clang_gcc_root.cpp
M flang-rt/cmake/quadmath_wrapper.h.in
M flang-rt/lib/quadmath/CMakeLists.txt
M flang/cmake/modules/FlangCommon.cmake
A flang/cmake/quadmath_wrapper.h.in
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Evaluate/host.h
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang] Generate quadmath_wrapper.h for Flang Evaluate. (#132817)
When building Flang with Clang, we need to do the same quadmath.h
wrapping as we do for flang-rt. I extracted the CMake code
into FlangCommon.cmake, and cleaned up the arguments passing
to execute_process (note that `-###` was treated as `-` in the original
code, because `#` starts a comment). I believe the Clang command
does not require the input source file, so I removed it as well.
Commit: 7a370748c0928b9ccfe26127e54eb3c1a1827d75
https://github.com/llvm/llvm-project/commit/7a370748c0928b9ccfe26127e54eb3c1a1827d75
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/unittests/StdLibTests.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModularizeUtilities.h
M clang/include/clang/Frontend/ASTUnit.h
M clang/include/clang/Lex/HeaderSearch.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
Log Message:
-----------
[clang][lex] Store non-owning options ref in `HeaderSearch` (#132780)
This makes it so that `CompilerInvocation` can be the only entity that
manages ownership of `HeaderSearchOptions`, making it possible to
implement copy-on-write semantics.
Commit: bdbad3e4320509f632ae8b511d563136343d87d7
https://github.com/llvm/llvm-project/commit/bdbad3e4320509f632ae8b511d563136343d87d7
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
Log Message:
-----------
[lldb] Fix build after #132780
Commit: 57f2e76e3010e7b089ebc5dd96aef5966f13b6c5
https://github.com/llvm/llvm-project/commit/57f2e76e3010e7b089ebc5dd96aef5966f13b6c5
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang-tools-extra/modularize/ModuleAssistant.cpp
M clang/include/clang/Lex/ModuleMap.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/ModuleMap.cpp
Log Message:
-----------
[clang] Consistently use "load" to refer to populating clang::ModuleMap (#132970)
Now that we have ModuleMapFile.cpp which parses module maps, it's
confusing what ModuleMap::parseModuleMapFile actually does. HeaderSearch
already called this loading a module map, so consistently use that term
in ModuleMap too.
An upcoming patch will allow just parsing a module map without loading
the modules from it.
Commit: 4067581aea299692d37866183b0a535f561892ad
https://github.com/llvm/llvm-project/commit/4067581aea299692d37866183b0a535f561892ad
Author: marius doerner <marius.doerner1 at icloud.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.cpp
Log Message:
-----------
[clang] Placement new error when modifying consts (#132460)
Raise an error when placement new is used to modify a const-qualified
variable in a constexpr function.
Fixes #131432
Commit: aacc4e9a38ad93482e6c19a53eefec8406ee1b40
https://github.com/llvm/llvm-project/commit/aacc4e9a38ad93482e6c19a53eefec8406ee1b40
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang-tools-extra/modularize/ModularizeUtilities.cpp
Log Message:
-----------
[modularize] Fix the build
This patch fixes:
clang-tools-extra/modularize/ModularizeUtilities.cpp:293:15: error:
no member named 'parseModuleMapFile' in 'clang::ModuleMap'; did you
mean 'loadModuleMapFile'?
Commit: 535b28444f8e1284583c3771eaf64e1e27bbcb28
https://github.com/llvm/llvm-project/commit/535b28444f8e1284583c3771eaf64e1e27bbcb28
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.cpp
A llvm/test/tools/llvm-symbolizer/use-debug-info-line-info.s
Log Message:
-----------
[Symbolize] Always use filename:line from debug info when debug info for the given address is available. (#128619)
To reland https://github.com/llvm/llvm-project/pull/124846, we need to
make symbolizer consistent with the case when line number is 0. Always
using filename and line from debug info even if the line number is 0
sounds like the reasonable path to go.
Commit: 9aecbdf8ed787a8edd1b7f97a1c7fbf6e9d12515
https://github.com/llvm/llvm-project/commit/9aecbdf8ed787a8edd1b7f97a1c7fbf6e9d12515
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/include/clang/Tooling/DependencyScanning/ModuleDepCollector.h
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
Log Message:
-----------
[clang][DepScan] Allow ModuleDep to be const (#132968)
This type can be exposed from C APIs, where instantiations of this type
are not expected to mutate after creation. To support this, mark the
lazy computation of build arguments mutable, as that is not intended to
otherwise mutate the state of these objects.
This was reviewed separately by @jansvoboda11
Commit: e7e242e7ad6901e5f4c85d6e5ee4455d6be29b50
https://github.com/llvm/llvm-project/commit/e7e242e7ad6901e5f4c85d6e5ee4455d6be29b50
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/exception.ll
Log Message:
-----------
[MLIR][LLVM] Fix debug value/declare import in face of landing pads (#132871)
Debug value/declare operations imported before landing pad operations at
the bb start break invoke op verification:
```
error: first operation in unwind destination should be a llvm.landingpad operation
```
This this issue by making the placement slightly more smart.
Commit: fd3a6b6005aa591a53fc01e4ed130af369e0c366
https://github.com/llvm/llvm-project/commit/fd3a6b6005aa591a53fc01e4ed130af369e0c366
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
A llvm/test/Analysis/CostModel/NVPTX/inline-asm.ll
A llvm/test/Analysis/CostModel/NVPTX/lit.local.cfg
A llvm/test/CodeGen/NVPTX/nvptx-aa-inline-asm.ll
Log Message:
-----------
[NVPTX] Improve modeling of inline PTX (#130675)
Improve the modeling of the memory effects and instruction cost of
inline assembly.
- MemoryEffects: The CUDA spec states that inline assembly is not
assumed to have any side-effects or read or write to memory. An inline
assembly may be treated as NoModRef unless it is explictly marked as
having side effects or has an explicit memory clobber.
https://docs.nvidia.com/cuda/inline-ptx-assembly/index.html#incorrect-optimization
> Normally any memory that is written to will be specified as an out
operand, but if there is a hidden read or write on user memory (for
example, indirect access of a memory location via an operand), or if you
want to stop any memory optimizations around the asm() statement
performed during generation of PTX, you can add a “memory” clobbers
specification after a 3rd colon.
- InstructionCost: This change implements very rough string parsing
system to count the number of instructions in an inline-asm. There are
corner cases it will not handle well, but in general this is an
improvement over the current cost of the number of arguments plus one.
Commit: a074831cd978659a6025c528c0ca75b8cf46940f
https://github.com/llvm/llvm-project/commit/a074831cd978659a6025c528c0ca75b8cf46940f
Author: Pete Chou <petechou at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
A llvm/test/TableGen/RegisterInfoEmitter-inherit-properties.td
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Inherit properties from the nearest allocatable superclass. (#127018)
Previously isAlocatable was updated to allow inheritance from any
superclass for a generated register class, but other properties are
still inherited from its nearest superclass. This could cause
a generated regclass inherit undesired properties, e.g., tsflags, from
an unallocatable superclass due to the topological inheritance order.
This change updates to inherit properties from the nearest allocatable
superclass if possible and includes a test to demonstrate a potential
incorrect inheritance of tsflags.
Commit: 577631f0a52884384786bf899951e3094ad7f69c
https://github.com/llvm/llvm-project/commit/577631f0a52884384786bf899951e3094ad7f69c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-25 (Tue, 25 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-unroll.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
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
Log Message:
-----------
Reapply "[VPlan] Add transformation to narrow interleave groups. (#106441)"
This reverts commit ff3e2ba9eb94217f3ad3525dc18b0c7b684e0abf.
The recommmitted version limits to transform to cases where no
interleaving is taking place, to avoid a mis-compile when interleaving.
Original commit message:
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: 2f3c93743fc21686158c9ba51da8f25da9a02f9d
https://github.com/llvm/llvm-project/commit/2f3c93743fc21686158c9ba51da8f25da9a02f9d
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 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/Dialect/IR/CIRTypes.h
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.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/test/CIR/CodeGen/binop.cpp
A clang/test/CIR/Lowering/binop-bool.cir
A clang/test/CIR/Lowering/binop-fp.cir
A clang/test/CIR/Lowering/binop-overflow.cir
A clang/test/CIR/Lowering/binop-signed-int.cir
A clang/test/CIR/Lowering/binop-unsigned-int.cir
Log Message:
-----------
[CIR] Add binary operators (#132420)
This patch adds upstreams support for BinOp including lvalue
assignments. Note that this does not include ternary ops,
BinOpOverflowOp, pointer arithmetic, ShiftOp and SelectOp which are
required for logical binary operators.
---------
Co-authored-by: Morris Hafner <mhafner at nvidia.com>
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Commit: 960615954e4cb3150ae4a479fa7f9d0d17035eea
https://github.com/llvm/llvm-project/commit/960615954e4cb3150ae4a479fa7f9d0d17035eea
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/test/SemaCXX/member-pointer.cpp
Log Message:
-----------
[clang] fix crash with ADL for member pointers with dependent class (#132977)
Commit: f0b752e921702e5a44327ac5906e50777cd0b29d
https://github.com/llvm/llvm-project/commit/f0b752e921702e5a44327ac5906e50777cd0b29d
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Stop creatng "public" library targets in libc_function. (#132995)
All downstream users are migrated, so we no longer need to produce
"public"/"release" cc_library target for each libc_function macro
invocation. Instead, we only create internal target (for testing), and
some filegroups, which will be picked up by the libc_release_library
invocation.
This allows us to get rid of "weak" argument to libc_function - this
decision is also postponed to libc_release_library configuration.
Fixes #130327.
Commit: df011313cf14a2a0735ed3c56b70c5a145b23213
https://github.com/llvm/llvm-project/commit/df011313cf14a2a0735ed3c56b70c5a145b23213
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
R clang/test/CIR/Lowering/binop-overflow.cir
Log Message:
-----------
[CIR] Remove failing binop test (#133001)
When CIR binop support was commited, it accidentally included a test for
functionality that was removed during the review process
(cir.binop.overflow). This test, of course, fails.
This change removes the failing test. It will be re-added when the
corresponding op is added.
Commit: 542797317ae4e98c8aa9030368d851fc72070f95
https://github.com/llvm/llvm-project/commit/542797317ae4e98c8aa9030368d851fc72070f95
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
Log Message:
-----------
[NFC] [clang] rename InlinedTrapFuncMap to InlinedSubprogramMap (#132993)
Commit: cec4f423e95710c1f76bbd90ecd1b193b49f8d4b
https://github.com/llvm/llvm-project/commit/cec4f423e95710c1f76bbd90ecd1b193b49f8d4b
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-symbolizer/use-debug-info-line-info.s
Log Message:
-----------
Fix test breakage on https://github.com/llvm/llvm-project/pull/128619/
Commit: 03817f0ec03e594618707466c08608221c840861
https://github.com/llvm/llvm-project/commit/03817f0ec03e594618707466c08608221c840861
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
Log Message:
-----------
[NFC][sanitizer] Clang-format sanitizer_symbolizer_posix_libcdep.cpp (#133011)
Commit: e87921304b392e5247347522aec1c123936d91f1
https://github.com/llvm/llvm-project/commit/e87921304b392e5247347522aec1c123936d91f1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Avoid repeated hash lookups (NFC) (#132661)
Co-authored-by: Florian Hahn <flo at fhahn.com>
Commit: e5641f6584c37e1860222c274bb910e9b2257976
https://github.com/llvm/llvm-project/commit/e5641f6584c37e1860222c274bb910e9b2257976
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
Log Message:
-----------
[AMDGPU] Autogen checks for mfma-loop.ll (#133004)
Needed for a RegisterCoalescing patch
Commit: b022f676fc8269d80d48dafb0ee06ec2ecbb1feb
https://github.com/llvm/llvm-project/commit/b022f676fc8269d80d48dafb0ee06ec2ecbb1feb
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M flang/cmake/modules/FlangCommon.cmake
Log Message:
-----------
[flang] Include needed CMake files. (#133012)
`FlangCommon.cmake` uses some CMake macros without including
the corresponding modules. This change makes it self-sufficient.
Commit: 2da4ce8624b382cb6c51feac9bd96c22bb054356
https://github.com/llvm/llvm-project/commit/2da4ce8624b382cb6c51feac9bd96c22bb054356
Author: Emilio Cota <ecg at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M mlir/include/mlir/IR/MLIRContext.h
M mlir/lib/IR/AttributeDetail.h
M mlir/lib/IR/MLIRContext.cpp
M mlir/lib/Pass/PassCrashRecovery.cpp
R mlir/test/Dialect/LLVMIR/add-debuginfo-func-scope-with-crash-reproduction.mlir
R mlir/test/IR/test-builtin-distinct-attrs-with-crash-reproduction.mlir
Log Message:
-----------
Revert "[mlir] Fix DistinctAttributeUniquer deleting attribute storage when crash reproduction is enabled" (#133000)
Reverts llvm/llvm-project#128566. See as well the discussion in
llvm/llvm-project#132935.
Commit: e04d739522f9df450c88bb1ec17cbd39c0babf8f
https://github.com/llvm/llvm-project/commit/e04d739522f9df450c88bb1ec17cbd39c0babf8f
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-symbolizer/use-debug-info-line-info.s
Log Message:
-----------
Fix test breakage on https://github.com/llvm/llvm-project/pull/128619/ (2)
Commit: bff94d774cda03e43aff1cdf6e4945136bbab3d7
https://github.com/llvm/llvm-project/commit/bff94d774cda03e43aff1cdf6e4945136bbab3d7
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
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/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/Transforms/CMakeLists.txt
A clang/lib/CIR/Dialect/Transforms/HoistAllocas.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/test/CIR/CodeGen/loop.cpp
A clang/test/CIR/Transforms/hoist-allocas.cir
M clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Emit allocas into the proper lexical scope (#132468)
Alloca operations were being emitted into the entry block of the current
function unconditionally, even if the variable they represented was
declared in a different scope. This change upstreams the code for
handling
insertion of the alloca into the proper lexcial scope. It also adds a
CIR-to-CIR transformation to hoist allocas to the function entry block,
which is necessary to produce the expected LLVM IR during lowering.
Commit: d75a40a9c1817ca047dec9cf0e1c0f1fec948e06
https://github.com/llvm/llvm-project/commit/d75a40a9c1817ca047dec9cf0e1c0f1fec948e06
Author: Midhunesh <midhunesh.p at ibm.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M compiler-rt/CMakeLists.txt
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
A compiler-rt/test/sanitizer_common/TestCases/disable_symbolizer_path_search.cpp
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
Add cmake option to enable/disable searching PATH for symbolizer (#129012)
Introduced a cmake option that is disabled by default that suppresses
searching via the PATH variable for a symbolizer. The option will be
enabled for downstream builds where the user will need to specify the
symbolizer path more explicitly, e.g., by using ASAN_SYMBOLIZER_PATH.
Commit: c995db3e3456b422f44f3ad690072bd6359520e3
https://github.com/llvm/llvm-project/commit/c995db3e3456b422f44f3ad690072bd6359520e3
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libc/src/math/generic/coshf16.cpp
M libc/src/math/generic/sinhf16.cpp
Log Message:
-----------
[libc] Add exceptional values for sinhf16/coshf16 (#133002)
The rounding of the result when using an FMA instruction for hyperbolic
sin/cos on float16 was off by 1 bit for a few cases. This patch adds
extra exceptional cases to handle these.
Commit: 134cb8877e0da3da5c9652c55196f7a1380fb207
https://github.com/llvm/llvm-project/commit/134cb8877e0da3da5c9652c55196f7a1380fb207
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Use a tryLock in secondary release to OS (#132827)
In the caching part of the secondary path, when about to try to release
memory to the OS, we always wait while acquiring the lock. However, if
multiple threads are attempting this at the same time, all other threads
will likely do nothing when the release call is made. Change the
algorithm to skip the release if there is another release in process.
Also, pull the lock outside the releaseOlderThan function. This is so
that in the store path, we use the tryLock and skip if another thread is
releasing. But in the path where a forced release call is being made,
that call will wait for release to complete which guarantees that all
entries are released when requested.
Commit: af267993a7e102e710d4c29a5253738038e1d2a4
https://github.com/llvm/llvm-project/commit/af267993a7e102e710d4c29a5253738038e1d2a4
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/include/__tuple/tuple_size.h
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_incomplete.verify.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size_structured_bindings.pass.cpp
Log Message:
-----------
[libc++] Re-implement LWG2770 again * 2 (#132598)
1013fe3c0cfd7582e94ef2d4bfd79da7ea1a1289 used to implement LWG2770, but
cb0d4df97490ec2d2b1cdf7574d26b1bc4063599 made LWG2770 unimplemented
again because of CWG2386.
This patch re-implements LWG2770, while keeping the libc++-specific
implementation strategy (which is controversial as noted in LWG4040).
Drive-by:
- Make the test coverage for the controversial part noted in LWG4040
libc++-only.
- Add the previously missed entry for LWG2770 to the documentation.
Commit: 584b24cd6de5fd8bcfefa0b4a57ddbbf58c14af1
https://github.com/llvm/llvm-project/commit/584b24cd6de5fd8bcfefa0b4a57ddbbf58c14af1
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Log Message:
-----------
[NFC][StaticAnalyzer] Rename `NotNullConstraint` & `NotNullBufferConstraint` (#131374)
`NotNullConstraint` is used to check both null and non-null of a pointer.
So the name, which was created originally for just checking non-nullness, becomes less suitable.
The same reason applies to `NotNullBufferConstraint`. This commit renames them.
In addition, messages of the assertions in `describe` and ` describeArgumentValue`
are updated to indicate that these two functions can be called on any constraint
though they were partially implemented for `NotNullConstraint` & `NotNullBufferConstraint`.
Commit: f89129af8adfda5d9071210b771787e36ae8cd96
https://github.com/llvm/llvm-project/commit/f89129af8adfda5d9071210b771787e36ae8cd96
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
A llvm/test/Bitcode/array-bitstride.ll
M llvm/unittests/IR/DebugInfoTest.cpp
M llvm/unittests/IR/DebugTypeODRUniquingTest.cpp
Log Message:
-----------
Add bit stride to DICompositeType (#131680)
In Ada, an array can be packed and the elements can take less space than
their natural object size. For example, for this type:
type Packed_Array is array (4 .. 8) of Boolean;
pragma pack (Packed_Array);
... each element of the array occupies a single bit, even though the
"natural" size for a Boolean in memory is a byte.
In DWARF, this is represented by putting a DW_AT_bit_stride onto the
array type itself.
This patch adds a bit stride to DICompositeType so that gnat-llvm can
emit DWARF for these sorts of arrays.
Commit: 3fbd0ec7e37d596099e8cdccdb2e390a2fef29c7
https://github.com/llvm/llvm-project/commit/3fbd0ec7e37d596099e8cdccdb2e390a2fef29c7
Author: Peng Xie <helianthus547 at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
A libcxx/test/std/utilities/utility/mem.res/mem.res.monotonic.buffer/mem.res.monotonic.buffer.mem/release_reset_initial_status.pass.cpp
Log Message:
-----------
[libc++] Update the status for LWG3120 (#116772)
The current implementation already have an __initial_descriptor which
saves the initial state. When release() is called, we will reset the
__initial_descriptor.__cur_ pointer.
This patch also updates the status of LWG3120.
Closes #104274
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: f6417f17ba236753250756cbde0d6f045dab47ba
https://github.com/llvm/llvm-project/commit/f6417f17ba236753250756cbde0d6f045dab47ba
Author: Brandon Wu <brandon.wu at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
A clang/test/CodeGen/RISCV/issue-129995.cpp
R clang/test/CodeGen/RISCV/pr129995.cc
Log Message:
-----------
[clang][RISCV] Fix RUN line and rename test name for pr129995 (#132676)
ninja check-clang can not detect .cc suffix, so the typo is not
detected.
Commit: 1c8075c6129ae4e61e0d24ea981f61a8128d4d70
https://github.com/llvm/llvm-project/commit/1c8075c6129ae4e61e0d24ea981f61a8128d4d70
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/test/BUILD.gn
Log Message:
-----------
gn build: Port 0d2c55cb9682
Commit: 7a5ce551246affabd081c45b00cad1eda7c10fff
https://github.com/llvm/llvm-project/commit/7a5ce551246affabd081c45b00cad1eda7c10fff
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/VISIT.h
M libc/include/search.yaml
Log Message:
-----------
[libc] Add `VISIT` enum for `search.h` (#132746)
This patch introduces the `VISIT` enum for tree search. Existing tests
ensure the correct generation of headers.
Commit: 40815be30a04c4646d74cf6a70bfa4596846f5a5
https://github.com/llvm/llvm-project/commit/40815be30a04c4646d74cf6a70bfa4596846f5a5
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-03-26 (Wed, 26 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 st.bulk Op (#131727)
This change adds the `st.bulk` NVVM Op for the `st.bulk` instruction
introduced in ptx8.6 for sm_100.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-st-bulk
Commit: aae37a29688a3f0f9908c8e119c620e9242a3e0b
https://github.com/llvm/llvm-project/commit/aae37a29688a3f0f9908c8e119c620e9242a3e0b
Author: WÁNG Xuěruì <git at xen0n.name>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
M llvm/test/MC/LoongArch/Macros/aliases-br.s
Log Message:
-----------
[LoongArch] Allow recognition of `b{lt,gt,le,ge}z` in disassembly (#132620)
This behavior is implemented for GNU Binutils since 2.41, and benefits
the readability of the disassembly output. Do the same for LLVM by
removing the zero weight from the alias definitions respectively.
Commit: 41250541e7253839367ab1219845b19118794d81
https://github.com/llvm/llvm-project/commit/41250541e7253839367ab1219845b19118794d81
Author: Jannick Kremer <jannick.kremer at mailbox.org>
Date: 2025-03-26 (Wed, 26 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 CAPS (#132930)
Commit: 69274839c3e78c66173b611ec060d58609653e0f
https://github.com/llvm/llvm-project/commit/69274839c3e78c66173b611ec060d58609653e0f
Author: Amy Huang <akhuang at google.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
Change check for "shift > Type::BITS" to avoid offset greater than total bits. (#133016)
nexttowardf16_test is resulting in calling shift and for some reason not
meeting the invariant where offset is less than bits. Change the if
statement to directly check if shift - 1 meets the conditions.
Commit: 1752d5292c1472cdfecbf3bfeea5040d09cfaa28
https://github.com/llvm/llvm-project/commit/1752d5292c1472cdfecbf3bfeea5040d09cfaa28
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
Log Message:
-----------
[RISCV] Make RequiredExtensions for intrinsics scalable to more than 32 extensions. NFC (#132895)
We have more than 32 extensions in our downstream and had to change this
type from uint32_t to uint64_t.
To simplify our downstream and make the code more flexible, I propose to
make it an array of uint32_t that we can size based on the number of
extensions. I really wanted to use std::bitset, but we have to print the
bits to a .inc file which can't easily be done with std::bitset.
Commit: ece72e2731350d9840c6446db9276b04d593cc23
https://github.com/llvm/llvm-project/commit/ece72e2731350d9840c6446db9276b04d593cc23
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/test/CodeGen/X86/win32-eh.ll
Log Message:
-----------
[MC,COFF] .safeseh: avoid changeSection (#132624)
The directive temporarily switches to the .sxdata section to emit data,
and then calls `insert`, which makes `CurFrag` out of sync of the
current section. Call push/switch/pop instead.
Related to #132464
Commit: 80d5185bd4288c12e9d5aa0fe2e00f2f4e6397d7
https://github.com/llvm/llvm-project/commit/80d5185bd4288c12e9d5aa0fe2e00f2f4e6397d7
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-03-25 (Tue, 25 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
[PGO][Offload] Don't define GPU entrypoint on Darwin (#132966)
This PR partially reverts 83e180c and instead opts to not define the GPU entry
point on Darwin platforms. Marking `__llvm_write_custom_profile` as used
was causing issues on embedded platforms.
Commit: a8588d8b2a1b82e4a03e130ad63a5018cda62432
https://github.com/llvm/llvm-project/commit/a8588d8b2a1b82e4a03e130ad63a5018cda62432
Author: Mészáros Gergely <maetveis at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/test/CodeGen/cx-complex-range-real.c
M clang/test/CodeGen/cx-complex-range.c
Log Message:
-----------
[CodeGen][NFC] Run SROA on complex range tests (#131925)
... to make them shorter and easier to read. This removes ~2000 lines of
cruft.
Commit: 1940d7816a6025d606983af7493c762461287ee8
https://github.com/llvm/llvm-project/commit/1940d7816a6025d606983af7493c762461287ee8
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
A compiler-rt/test/asan/TestCases/Posix/setproctitle.c
Log Message:
-----------
[compiler-rt][sanitizer] setproctitle interception for NetBSD/FreeBSD. (#131648)
Commit: 529feec2bcd8cf9dfef9f4b8edf03bdcf4fd1b42
https://github.com/llvm/llvm-project/commit/529feec2bcd8cf9dfef9f4b8edf03bdcf4fd1b42
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vandn.ll
Log Message:
-----------
[RISCV][test] Add fixed vectors tests for hasAndNot
Commit: ab5de9af4c00cecf166be51f3e93df2762692788
https://github.com/llvm/llvm-project/commit/ab5de9af4c00cecf166be51f3e93df2762692788
Author: Ningning Shi(史宁宁) <shiningning at iscas.ac.cn>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelDAGToDAG.cpp
Log Message:
-----------
[NFC][X86][ISel] Remove the unused assert (#133029)
The condition of assert is always true, so just remove it.
OptForMinSize means hasMinSize(), which is
hasFnAttribute(Attribute::MinSize).
hasOptSize() is hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize().
So, '!hasMinSize() || hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize()' is awalys true.
---------------------------------
llvm/include/llvm/IR/Function.h
```
/// Optimize this function for minimum size (-Oz).
bool hasMinSize() const { return hasFnAttribute(Attribute::MinSize); }
/// Optimize this function for size (-Os) or minimum size (-Oz).
bool hasOptSize() const {
return hasFnAttribute(Attribute::OptimizeForSize) || hasMinSize();
}
```
Commit: 0bc2c5b2a4ca49011db27f7e8632d5d5ebc0ef5d
https://github.com/llvm/llvm-project/commit/0bc2c5b2a4ca49011db27f7e8632d5d5ebc0ef5d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Reapply "[clang][bytecode] Implement __builtin_{wcscmp,wcsncmp} (#132… (#132963)
…723)"
This reverts commit 1e2ad6793ac205607e7c809283cf69e1cc36a69a.
Fix the previous commit on big-endian hosts by _not_ falling through to
the `uint8_t` code path.
Commit: e2202b944b56039498f2445a1c4ff984a6a303ee
https://github.com/llvm/llvm-project/commit/e2202b944b56039498f2445a1c4ff984a6a303ee
Author: David Green <david.green at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
Log Message:
-----------
[AArch64] Update costs for scalarizing i64->f32 int_to_fp. (#132366)
After #130665 these operations are scalarized to avoid
double-rounding. This updates the cost model to match.
In the future we might be able to use SVE instructions to help, but for
the moment the costs should be higher. Costsize and Latency costs are
not yet expected to be accurate. The vector insert/extract will use the
cost of VectorInsertExtractBaseCost (2 by default).
Commit: 3b2b918813125a7baeb3258648eb7a679a0a9699
https://github.com/llvm/llvm-project/commit/3b2b918813125a7baeb3258648eb7a679a0a9699
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Use __detected_or_t to implement __has_iterator_{category,concept}_convertible_to (#124456)
This simplifies the implementation a bit.
Commit: c41926013fd8b23c3d1eca51804a2de36c88433a
https://github.com/llvm/llvm-project/commit/c41926013fd8b23c3d1eca51804a2de36c88433a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Avoid iterating Dense{Map,Set} to break determinism
in ASTWriter
It is bad to iterate Dense{Map,Set} in ASTWriter. Since the order in
Dense{Map, Set} is not stable. It may cause the produced BMI differ
even if we run the compiler twice without modifying any other thing.
Commit: 322b2fe61e03119ce9ef0ab5481238c011bdf2b9
https://github.com/llvm/llvm-project/commit/322b2fe61e03119ce9ef0ab5481238c011bdf2b9
Author: Balázs Kéri <balazs.keri at ericsson.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/dtor.cpp
M clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/misc-ps.m
M clang/test/Analysis/pr22954.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
Log Message:
-----------
[clang][analyzer] Move 'alpha.core.FixedAddressDereference' out of alpha (#132404)
Commit: a2e5932e8b5cc887ecf5c03a6a3281a04d4214d5
https://github.com/llvm/llvm-project/commit/a2e5932e8b5cc887ecf5c03a6a3281a04d4214d5
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reversed-strided-node-with-external-ptr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/vec3-base.ll
R llvm/test/Transforms/SLPVectorizer/X86/BinOpSameOpcodeHelper.ll
M llvm/test/Transforms/SLPVectorizer/X86/barriercall.ll
M llvm/test/Transforms/SLPVectorizer/X86/bottom-to-top-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-postpone-for-dependency.ll
M llvm/test/Transforms/SLPVectorizer/X86/bv-shuffle-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractcost.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-drop-wrapping-flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-extracts-bv-combined.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-scheduled-inst-reused-as-last-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/propagate_ir_flags.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-vectorized-in-transform.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder_diamond_match.ll
M llvm/test/Transforms/SLPVectorizer/X86/shuffle-mask-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
M llvm/test/Transforms/SLPVectorizer/X86/vect_copyable_in_binops.ll
M llvm/test/Transforms/SLPVectorizer/alternate-opcode-sindle-bv.ll
R llvm/test/Transforms/SLPVectorizer/isOpcodeOrAlt.ll
M llvm/test/Transforms/SLPVectorizer/resized-alt-shuffle-after-minbw.ll
M llvm/test/Transforms/SLPVectorizer/shuffle-mask-resized.ll
Log Message:
-----------
Revert "[SLP] Make getSameOpcode support interchangeable instructions. (#132887)"
This reverts commit 6e66cfeeaec6f09a4454400e45d690457ecdd3de.
This change causes crashes on compiling some inputs, see
https://github.com/llvm/llvm-project/pull/127450#issuecomment-2752833710
and
https://github.com/llvm/llvm-project/pull/127450#issuecomment-2753375326
for details.
Commit: 73f487d31eeaebff085b12396b16432c4fed78a2
https://github.com/llvm/llvm-project/commit/73f487d31eeaebff085b12396b16432c4fed78a2
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[mlir][TosaToLinalg] Fix bugs in PointwiseConverter (#132526)
Commit: cd3798d7ef098c65377feabbd7713b73fd47728b
https://github.com/llvm/llvm-project/commit/cd3798d7ef098c65377feabbd7713b73fd47728b
Author: Alexandros Lamprineas <alexandros.lamprineas at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/test/CodeGen/AArch64/fmv-dependencies.c
M clang/test/CodeGen/AArch64/fmv-detection.c
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M llvm/include/llvm/TargetParser/AArch64CPUFeatures.inc
M llvm/include/llvm/TargetParser/AArch64FeatPriorities.inc
M llvm/lib/Target/AArch64/AArch64FMV.td
Log Message:
-----------
[FMV][AArch64] Add feature CSSC and detect on linux platform. (#132727)
Also removes priority bits for unused features predres and ls64.
Added to ACLE with https://github.com/ARM-software/acle/pull/390
Commit: 894b27a74611acffcc24fe03c59be2a2af36ea7f
https://github.com/llvm/llvm-project/commit/894b27a74611acffcc24fe03c59be2a2af36ea7f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[mlir][MemRefToLLVM] Fix crash with unconvertable memory space (#132323)
This PR adds handling when the `memref.alloca` with unconvertable memory
space to prevent a crash. Fixes #131439.
Commit: 29ca03f19a1faf26f30641cb90be29103500883b
https://github.com/llvm/llvm-project/commit/29ca03f19a1faf26f30641cb90be29103500883b
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/docs/LoopTerminology.rst
Log Message:
-----------
[Docs] Fix link in LoopTerminology (NFC) (#131138)
The link should refer to the section of 'phi' Instruction in the
LangRef, but it referred to the subsection of 'fcmp' Instruction.
Replace it with appropriate one.
Commit: a9a83387979a6c6dc0f508fe0b26c8d8fa7f5361
https://github.com/llvm/llvm-project/commit/a9a83387979a6c6dc0f508fe0b26c8d8fa7f5361
Author: Discookie <viktor.cseh at ericsson.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
Log Message:
-----------
Reland [clang][dataflow] Fix unsupported types always being equal (#131575)
Relands #129502.
Previously when the framework encountered unsupported values (such as
enum classes), they were always treated as equal when comparing with
`==`, regardless of their actual values being different.
Now the two sides are only equal if there's a Value assigned to them.
Added handling for the special case of `nullptr == nullptr`, to preserve
the behavior of untyped `nullptr` having no value.
Commit: 96925fa84c1e9cf4ffb68a7171a4b39d4677702a
https://github.com/llvm/llvm-project/commit/96925fa84c1e9cf4ffb68a7171a4b39d4677702a
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vandn.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
Log Message:
-----------
[RISCV] Add vector hasAndNot to enable optimizations (#132438)
Enables transforms that emit the VANDN instruction.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Commit: 1a7402d3d831940fc04cc0fb5731239744ce5435
https://github.com/llvm/llvm-project/commit/1a7402d3d831940fc04cc0fb5731239744ce5435
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-toolchain-no-rdc.hip
Log Message:
-----------
[NFC][Driver][HIP] Fix mixing `amdgcnspirv` and `gfxXXX` via `--offload-arch` (#133024)
Due to `amdgcnspirv` piggybacking on the HIPAMDToolchain, it loses its
immediately apparent SPIR-Vness, which makes the Driver want to go all
the way to Assembly emmission. This was problematic as we were trying to
`llvm-link` SPIR-V, before trying to translate it. This patch ensures
that we do the right thing and stop at bitcode emission if we are mixing
`amdgcnspirv` and concrete targets.
Commit: 420c056f853d9d5475fc98407ea99b67a11841eb
https://github.com/llvm/llvm-project/commit/420c056f853d9d5475fc98407ea99b67a11841eb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-26 (Wed, 26 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/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Add ComputeFindLastIVResult opcode (NFC). (#132689)
This moves the logic for computing the FindLastIV reduction result to
its own opcode. A follow-up patch will update the new opcode to also
take the start value, to fix
https://github.com/llvm/llvm-project/issues/126836.
PR: https://github.com/llvm/llvm-project/pull/132689
Commit: a308d421aa96f51e5f7f86f26291a91f6198fbfa
https://github.com/llvm/llvm-project/commit/a308d421aa96f51e5f7f86f26291a91f6198fbfa
Author: Ash Dobrescu <ash.dobrescu at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M bolt/test/indirect-goto-relocs.test
Log Message:
-----------
Remove -no-pie case from indirect-goto-relocs.test (#133067)
This test was added in PR:
https://github.com/llvm/llvm-project/pull/120267. The -no-pie case in
the above mentioned test needs to be removed as subsequent changes have
caused it to fail.
Commit: 38ad0df38c91d8b6655664f205810fb5a7a86b4b
https://github.com/llvm/llvm-project/commit/38ad0df38c91d8b6655664f205810fb5a7a86b4b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/widen_fadd.ll
M llvm/test/CodeGen/X86/widen_fdiv.ll
M llvm/test/CodeGen/X86/widen_fmul.ll
M llvm/test/CodeGen/X86/widen_fsub.ll
M llvm/test/CodeGen/X86/x86-interleaved-access.ll
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - extract from a larger subvector insertion (#132950)
Fold EXTRACT_SUBVECTOR(INSERT_SUBVECTOR(SRC,SUB,C1),C2) ->
INSERT_SUBVECTOR(EXTRACT_SUBVECTOR(SRC,C2),SUB,C1-C2)
This extends the existing fold which required the extract/insert
subvector indices to match - now it will always extract as long as the
original inserted subvector is entirely contained within the extraction.
Helps avoid unnecessary use of 512-bit vectors, and improves the chance
of concatenation folds.
Commit: 6ff3906936e036cb2a4c07baa61b3939fd57e846
https://github.com/llvm/llvm-project/commit/6ff3906936e036cb2a4c07baa61b3939fd57e846
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Disasm.cpp
Log Message:
-----------
[clang][bytecode] Print more info in Block::dump() (#133062)
Commit: cb7b10c66ef8a62f22a77a1480bba382863fcc90
https://github.com/llvm/llvm-project/commit/cb7b10c66ef8a62f22a77a1480bba382863fcc90
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
A clang/test/AST/ByteCode/codegen-mutable-read.cpp
Log Message:
-----------
[clang][bytecode] Fail on mutable reads from revisited variables (#133064)
When revisiting a variable, we do that by simply calling visitDecl() for
it, which means it will end up with the same EvalID as the rest of the
evaluation - but this way we end up allowing reads from mutable
variables. Disallow that.
Commit: e5129b7e2092c54e503f60cc0ac552c765d5a144
https://github.com/llvm/llvm-project/commit/e5129b7e2092c54e503f60cc0ac552c765d5a144
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/CMakeLists.txt
Log Message:
-----------
[Flang] Implicitly add clang if flang enabled (#123964)
Clang is required to compile Flang. Instead of erroring-out if Clang is
enabled, for convinience implicitly add it to `LLVM_ENABLE_PROJECTS`,
consistent with how the MLIR dependency is handled.
This is motivatated by the discussion on whether flang-rt shoud be enabled implicitly
(https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2).
Since the answer was yet, clang would have been the only exception of not being
enabled implicitly. Fixed with this commit.
Commit: fed4727187e73c1b61bc65c63a66de58318379fc
https://github.com/llvm/llvm-project/commit/fed4727187e73c1b61bc65c63a66de58318379fc
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Mark maybe_unused variable (#133069)
... to avoid -Wunused-variable warnings/errors when assertions are off.
Commit: 1c9fe8c8af7e473e37e141d36837d196dd9a5256
https://github.com/llvm/llvm-project/commit/1c9fe8c8af7e473e37e141d36837d196dd9a5256
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[LV] Optimise users of induction variables in early exit blocks (#130766)
This is the second of two PRs that attempts to improve the IR
generated in the exit blocks of vectorised loops with uncountable
early exits. It follows on from PR #128880. In this PR I am
improving the generated code for users of induction variables in
early exit blocks.
This required using a newly add VPInstruction called
FirstActiveLane, which calculates the index of the first active
predicate in the mask operand.
I have added a new function optimizeEarlyExitInductionUser that
is called from optimizeInductionExitUsers when handling users in
early exit blocks.
Commit: 59c5d531991ca6d3cdd7072a13331dd5b0a5b321
https://github.com/llvm/llvm-project/commit/59c5d531991ca6d3cdd7072a13331dd5b0a5b321
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpressionList.h
M lldb/source/Expression/DWARFExpressionList.cpp
Log Message:
-----------
[LLDB][NFC] Replace DWARFUnit with DWARFExpression::Delegate in DWARFExpressionList too (#133049)
This is an update for #131645.
Commit: 23882f09e40a33de95963dbe345450615489b55b
https://github.com/llvm/llvm-project/commit/23882f09e40a33de95963dbe345450615489b55b
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/test/Transforms/Coroutines/coro-materialize.ll
Log Message:
-----------
Fix test/Transforms/Coroutines/coro-materialize.ll
It was using the wrong @llvm.coro.suspend() value in %resume1.
This was found while investigating #130326
Commit: 4775e6d9099467df9363e1a3cd5950cc3d2fde05
https://github.com/llvm/llvm-project/commit/4775e6d9099467df9363e1a3cd5950cc3d2fde05
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/GISel/X86RegisterBankInfo.cpp
A llvm/test/CodeGen/X86/GlobalISel/sqrt.mir
M llvm/test/CodeGen/X86/isel-sqrt.ll
Log Message:
-----------
[X86][GlobalISel] Added support for G_FSQRT (#132356)
Commit: 66f158d91803875de63d8f2a437ce8ecb22c4141
https://github.com/llvm/llvm-project/commit/66f158d91803875de63d8f2a437ce8ecb22c4141
Author: dianqk <dianqk at dianqk.net>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/lib/CodeGen/TailDuplicator.cpp
M llvm/test/CodeGen/X86/tail-dup-computed-goto.mir
Log Message:
-----------
[TailDuplicator] Determine if computed gotos using `blockaddress` (#132536)
Using `blockaddress` should be more reliable than determining if an
operand comes from a jump table index.
Alternative: Add the `MachineInstr::MIFlag::ComputedGoto` flag when
lowering `indirectbr`. But I don't think this approach is suitable to
backport.
Commit: 15f5a7a3ec71c624cea0cbdf02e3c5205ba81d9d
https://github.com/llvm/llvm-project/commit/15f5a7a3ec71c624cea0cbdf02e3c5205ba81d9d
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
Log Message:
-----------
[MLIR][NVGPU] Use `gpu.dynamic_shared_memory` in tests (#133051)
The `memref.subview` ops in the test case were incorrect: they extracted
out-of-bounds.
Commit: 1b07e865a1f9da64c75cc409a969b108b201fe80
https://github.com/llvm/llvm-project/commit/1b07e865a1f9da64c75cc409a969b108b201fe80
Author: CarolineConcatto <caroline.concatto at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
R llvm/test/MC/AArch64/SME2/st1b
Log Message:
-----------
[AArch64][SME][NFC]Remove wrong st1b file added to test (#132969)
By mistake the file stb1 was added. This file is not running in the
tests I believe because it has not extension.
It has the same content as st1b.s
Commit: 75f810e02566f1d73d32a08257318ffdc4223140
https://github.com/llvm/llvm-project/commit/75f810e02566f1d73d32a08257318ffdc4223140
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
Log Message:
-----------
[Offload] Guard HSA implicit arguments if they aren't created (#133073)
Summary:
We conditionally allocate the implicit arguments, so they possibly are
null. The flang compiler seems to hit this case, even though it
shouldn't when it's supposed to conform to the HSA code object. For now
guard this to fix the regression and cover a case in the future where
someone rolls a fully custom implementatation.
Fixes: https://github.com/llvm/llvm-project/issues/132982
Commit: 719b029c16eeb1035da522fd641dfcc4cee6be74
https://github.com/llvm/llvm-project/commit/719b029c16eeb1035da522fd641dfcc4cee6be74
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/SILateBranchLowering.cpp
M llvm/test/CodeGen/AMDGPU/early-term.mir
M llvm/test/CodeGen/AMDGPU/readlane_exec0.mir
Log Message:
-----------
[AMDGPU][NPM] Port SILateBranchLowering to NPM (#130063)
Commit: 858f9053c54e2ab2d8b3352e632d73c3b483e570
https://github.com/llvm/llvm-project/commit/858f9053c54e2ab2d8b3352e632d73c3b483e570
Author: Patryk Wychowaniec <pwychowaniec at pm.me>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/test/CodeGen/AVR/branch-relaxation-long-backward.ll
M llvm/test/CodeGen/AVR/branch-relaxation-long-forward.ll
Log Message:
-----------
[AVR][NFC] Simplify branch relaxation tests (#131871)
Let's use the `.space` directive to simplify AVR's branch relaxation
tests, as noticed by @MaskRay at
https://github.com/llvm/llvm-project/pull/118015#issuecomment-2728254164.
Having `.space 4100` instead of `.space 4096` is little bit awkward, but
I'd rather avoid changing two things at once (i.e. current assertions
are fine).
Commit: 1db206d1c8d48c107a2e29a1bf6ba2768df2ef7d
https://github.com/llvm/llvm-project/commit/1db206d1c8d48c107a2e29a1bf6ba2768df2ef7d
Author: Ben Shi <2283975856 at qq.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRInstrInfo.td
M llvm/test/CodeGen/AVR/hardware-mul.ll
M llvm/test/CodeGen/AVR/inline-asm/inline-asm3.ll
A llvm/test/CodeGen/AVR/issue-132203.ll
Log Message:
-----------
[AVR] Fix a bug in selection of ANY_EXTEND (#132398)
This is a walk around solution of
https://github.com/llvm/llvm-project/issues/132203
Commit: e376f3129ae90e20b6629f8554872990daa0b2fb
https://github.com/llvm/llvm-project/commit/e376f3129ae90e20b6629f8554872990daa0b2fb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libc/shared/rpc.h
Log Message:
-----------
[libc] Make RPC allocation size query constexpr
Summary:
Let this be used for a static array.
Commit: a1a74c9e80f983c01587bb86523e4e8b83e87d42
https://github.com/llvm/llvm-project/commit/a1a74c9e80f983c01587bb86523e4e8b83e87d42
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/Hexagon.cpp
M clang/lib/CodeGen/TargetBuiltins/NVPTX.cpp
M clang/lib/CodeGen/TargetBuiltins/PPC.cpp
M clang/lib/CodeGen/TargetBuiltins/RISCV.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetBuiltins/SystemZ.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
Log Message:
-----------
[NFC][clang] Remove superfluous header files after refactor in #132252 (#132495)
Remove superfluous header files after refactor in #132252
Commit: e78eef2b6bd8932215bc47ca7a6561dea19a33f0
https://github.com/llvm/llvm-project/commit/e78eef2b6bd8932215bc47ca7a6561dea19a33f0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86CmovConversion.cpp
Log Message:
-----------
[X86] Use hasSingleElement (NFC) (#133040)
Commit: 40d251db4a58df37e356a10d94db2263c5f60d4b
https://github.com/llvm/llvm-project/commit/40d251db4a58df37e356a10d94db2263c5f60d4b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/IR/Assumptions.cpp
M llvm/lib/LTO/LTOCodeGenerator.cpp
M llvm/lib/LTO/ThinLTOCodeGenerator.cpp
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/llvm-reduce/ReducerWorkItem.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#133041)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: 1cc07a0865c1828792fbc7427d175c4ce753a27d
https://github.com/llvm/llvm-project/commit/1cc07a0865c1828792fbc7427d175c4ce753a27d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
M mlir/lib/Analysis/Liveness.cpp
M mlir/lib/Analysis/TopologicalSortUtils.cpp
M mlir/lib/Dialect/Func/TransformOps/FuncTransformOps.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/MLProgram/Transforms/PipelineGlobalOps.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVEnums.cpp
M mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
M mlir/lib/Transforms/SROA.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
Log Message:
-----------
[mlir] Use *Set::insert_range (NFC) (#133043)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: c3e08c8f07ded9ef0d1ad2f3fb04e98d839479b1
https://github.com/llvm/llvm-project/commit/c3e08c8f07ded9ef0d1ad2f3fb04e98d839479b1
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/hlsl.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/test/CodeGenHLSL/builtins/acos.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
Log Message:
-----------
[HLSL] Add new double overloads for math builtins (#132979)
Add double overloads which cast the double to a float and call the float
builtin.
Makes these double overloads conditional on hlsl version 202x or
earlier.
Add tests
Closes #128228
Commit: 6dd14c881cd6dbe76a73b60ab7eabf95f92271c4
https://github.com/llvm/llvm-project/commit/6dd14c881cd6dbe76a73b60ab7eabf95f92271c4
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetTransformInfo.cpp
M llvm/lib/Target/Mips/MipsTargetTransformInfo.h
A llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Implements MipsTTIImpl::isLSRCostLess using Insns as first (#133068)
So that LoopStrengthReduce can work for MIPS.
The code is copied from RISC-V.
---------
Co-authored-by: qethu <190734095+qethu at users.noreply.github.com>
Commit: b55dd8f607dab5b122e09836022a37ef10c8c653
https://github.com/llvm/llvm-project/commit/b55dd8f607dab5b122e09836022a37ef10c8c653
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
A clang/test/Analysis/issue-91835.cpp
A clang/test/Analysis/lambda-capture-structured-binding.cpp
Log Message:
-----------
[clang][analyzer] Correctly handle structured bindings captured by lambda (#132579)
this PR fixes #91835.
For `DeclRefExpr` in lambda's function body, it will references to
original variable declaration in AST rather than `FieldDecl` for lambda
class, so it's needed to find the corresponding `FieldDecl` and bind
`DeclRefExpr`'s value to it.
This is already implemented for variables that are not in a structured
binding structure, so I extracted that part of the code so that it can
be used in the structured binding case.
Commit: 1f291acc972c2057de2eba4554988bfdc4f33dca
https://github.com/llvm/llvm-project/commit/1f291acc972c2057de2eba4554988bfdc4f33dca
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
Log Message:
-----------
Revert "[ExecutionEngine] Avoid repeated hash lookups (NFC)" (#133101)
Reverts llvm/llvm-project#132587
Due to causing test failures on several of Linaro's buildbots. Several
MLIR test failures and at least one test timing out.
I doubt it's the patch itself, but instead an issue it has uncovered.
Revert while we dig into that.
Commit: 99e8321953a047a2994639df3df496cab779e199
https://github.com/llvm/llvm-project/commit/99e8321953a047a2994639df3df496cab779e199
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp
M clang/test/Analysis/cxx-uninitialized-object.cpp
Log Message:
-----------
[clang][analyzer] Ignore unnamed bitfields in UninitializedObjectChecker (#132427)
Fixes #132001
Co-authored-by: YLChenZ <chentongyongcz at gmail.com>
Commit: af663155e61fc4398160c1d05c54397327a10182
https://github.com/llvm/llvm-project/commit/af663155e61fc4398160c1d05c54397327a10182
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Reduce control flow complexity in foldMemoryOperandImpl [nfc]
Use a helper function so we can use early return.
Commit: c0cce437395063ed9f58b8d4138280d1008bc79b
https://github.com/llvm/llvm-project/commit/c0cce437395063ed9f58b8d4138280d1008bc79b
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/test/Driver/aarch64-mcpu-native.c
M clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
M llvm/lib/Target/AArch64/AArch64Processors.td
Log Message:
-----------
[AArch64] Add FEAT_FPAC to Neoverse V2 (#133054)
This feature is implemented in the Neoverse V2 core, but wasn't specified
in the CPU definition.
Commit: 3f82c3d5a8e48010c56a1ce8f13fae2d8bbe490b
https://github.com/llvm/llvm-project/commit/3f82c3d5a8e48010c56a1ce8f13fae2d8bbe490b
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
Log Message:
-----------
Revert "[MLIR][NVGPU] Use `gpu.dynamic_shared_memory` in tests" (#133103)
Reverts llvm/llvm-project#133051 due to failing integration tests
Commit: 52f941adbc2815487a0582ffedf3fb8cebe9cedd
https://github.com/llvm/llvm-project/commit/52f941adbc2815487a0582ffedf3fb8cebe9cedd
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
Log Message:
-----------
[mlir][tosa] Fix '-Wreturn-type'. NFC
Commit: 236f938ef65cc9028801303bb0bd914afca37836
https://github.com/llvm/llvm-project/commit/236f938ef65cc9028801303bb0bd914afca37836
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/CodeGen/TargetInstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
[CodeGen] Provide a target independent default for optimizeLoadInst [NFC]
This just moves the x86 implementation into generic code since it appears
to be suitable for any target. The heart of this transform is inside
foldMemoryOperand so other targets won't actually kick in until they
implement said API. This just removes one piece to implement in the
process of enabling foldMemoryOperand.
Commit: 6ecc67fb3223fbc641560596a4811da371dc6c4b
https://github.com/llvm/llvm-project/commit/6ecc67fb3223fbc641560596a4811da371dc6c4b
Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/X86/mcpu_not_set_during_cross_compilation.s
M llvm/tools/llvm-exegesis/lib/LlvmState.cpp
Log Message:
-----------
[Exegesis] CPU selection, when native arch and target mismatch (#131014)
Commit: ac8e18cdcecbef0c1e5080aec4ad655f61b1a249
https://github.com/llvm/llvm-project/commit/ac8e18cdcecbef0c1e5080aec4ad655f61b1a249
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/test/MC/AArch64/coff-relocations-diags.s
Log Message:
-----------
[AArch64] Rename VariantKind to Specifier
Follow the naming of most other backends.
> "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 `AArch64MCExpr::Kind` and `getKind`, which confusingly shadow the base class `Kind` and `getKind`.
DarwinRefKind, which still uses MCSymbolRefExpr::VariantKind, is not renamed.
Pull Request: https://github.com/llvm/llvm-project/pull/132595
Commit: 649cbcc3764c554c9c9839f021d073fa9a9f0515
https://github.com/llvm/llvm-project/commit/649cbcc3764c554c9c9839f021d073fa9a9f0515
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/include/__bit_reference
M libcxx/include/bitset
Log Message:
-----------
[libc++] Remove unnecessary division and modulo operations in bitset (#121312)
The PR removes the unnecessary division and modulo operations in the
one-word specialization `__bitset<1, _Size>`. The reason is that for the
one-word specialization, we have `__pos < __bits_per_word` (as
`__bitset<1, _Size>` is an implementation detail only used by the public
`bitset`). So `__pos / __bits_per_word == 0` and `__pos / __pos %
__bits_per_word == __pos`.
Commit: 529c5b71c608c18141432e6fd0ae89242d5f309d
https://github.com/llvm/llvm-project/commit/529c5b71c608c18141432e6fd0ae89242d5f309d
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
A flang/test/Driver/slp-vectorize.f90
Log Message:
-----------
[flang] Add -f[no-]slp-vectorize flags (#132801)
Add -f[no-]slp-vectorize to the flang driver.
Add corresponding -fvectorize-slp to the flang frontend.
Enable -fslp-vectorize at -O2 and higher in flang to match the current
behaviour in clang.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: e6dda9c23a1a91d1da39f43b0de735ca85961220
https://github.com/llvm/llvm-project/commit/e6dda9c23a1a91d1da39f43b0de735ca85961220
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/test/Fir/CUDA/cuda-shared-offset.mlir
Log Message:
-----------
[flang][cuda] Only create shared memory global when needed (#132999)
Commit: 7563e31127615876b02d13c3d5cf02207adfd073
https://github.com/llvm/llvm-project/commit/7563e31127615876b02d13c3d5cf02207adfd073
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/CodeGen/int-to-bool.cpp
M clang/test/CIR/Lowering/cast.cir
Log Message:
-----------
[CIR] Implement lowering of int-to-bool casts (#132996)
Lowering of int-to-bool casts had been left as NYI because the incubator
implemented it by lowering to cir.cmp, which hasn't been upstreamed yet,
but there is no reason this cast can't be lowered directly to LLVM's
compare operation when we're lowering directly to the LLVM dialect.
This change lowers the cast directly to an LLVM compare to zero.
Commit: 672c51c9cba82c2a316c3199b399bfcfec217f87
https://github.com/llvm/llvm-project/commit/672c51c9cba82c2a316c3199b399bfcfec217f87
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/rotate-add.ll
A llvm/test/CodeGen/ARM/rotate-add.ll
A llvm/test/CodeGen/NVPTX/rotate-add.ll
A llvm/test/CodeGen/X86/rotate-add.ll
Log Message:
-----------
[SDAG][tests] add some test cases covering an add-based rotate (#132842)
Add tests to various targets covering rotate idioms where an 'ADD' node
is used to combine the halves instead of an 'OR'. Some of these cases
will be better optimized following #125612, while others are already
well optimized or do not have a valid fold to a rotate or funnel-shift.
Commit: 03eb8258406b9684c44debc873f038a8779a8a09
https://github.com/llvm/llvm-project/commit/03eb8258406b9684c44debc873f038a8779a8a09
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M compiler-rt/test/profile/instrprof-darwin-dead-strip.c
Log Message:
-----------
[compiler-rt][Darwin][x86] Fix instrprof-darwin-dead-strip test (#132874)
ld issues a warning about section alignment on x86. Explicitly setting
the alignment fixes that.
Commit: 074af0f30f8efb237cf9afe4bfb83769fa181d86
https://github.com/llvm/llvm-project/commit/074af0f30f8efb237cf9afe4bfb83769fa181d86
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/MarkLive.cpp
M lld/ELF/Options.td
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
A lld/test/ELF/why-live.test
Log Message:
-----------
[lld][ELF] Add --why-live flag (inspired by Mach-O) (#127112)
This prints a stack of reasons that symbols that match the given glob(s)
survived GC. It has no effect unless section GC occurs.
This implementation does not require -ffunction-sections or
-fdata-sections to produce readable results, althought it does tend to
work better (as does GC).
Details about the semantics:
- Some chain of liveness reasons is reported; it isn't specified which
chain.
- A symbol or section may be live:
- Intrisically (e.g., entry point)
- Because needed by a live symbol or section
- (Symbols only) Because part of a section live for another reason
- (Sections only) Because they contain a live symbol
- Both global and local symbols (`STB_LOCAL`) are supported.
- References to symbol + offset are considered to point to:
- If the referenced symbol is a section (`STT_SECTION`):
- If a sized symbol encloses the referenced offset, the enclosing
symbol.
- Otherwise, the section itself, generically.
- Otherwise, the referenced symbol.
Commit: 54cc4141e4e3707de88a6bb3fa8e62dccc27b66c
https://github.com/llvm/llvm-project/commit/54cc4141e4e3707de88a6bb3fa8e62dccc27b66c
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
R llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
A llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.h
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/AtomicCompareExchange.ll
A llvm/test/CodeGen/SPIRV/GroupAndSubgroupInstructions.spvasm
M llvm/test/CodeGen/SPIRV/SampledImageRetType.ll
M llvm/test/CodeGen/SPIRV/atomicrmw.ll
M llvm/test/CodeGen/SPIRV/const-array-in-struct.ll
M llvm/test/CodeGen/SPIRV/const-composite.ll
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-basic.ll
M llvm/test/CodeGen/SPIRV/debug-info/debug-type-pointer.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_double.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_float.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_min_max/atomicrmw_fminfmax_half.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_joint_matrix/cooperative_matrix_checked.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-composite-construct.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-constant-composite.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-spec-const-composite.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-type-struct.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_20.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_split_barrier/split_work_group_barrier_spirv.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
M llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_uniform_group_instructions/uniform-group-instructions.ll
M llvm/test/CodeGen/SPIRV/freeze.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/AddUint64.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_i8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/dot4add_u8packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/image/sampler.ll
M llvm/test/CodeGen/SPIRV/inline/type.ll
M llvm/test/CodeGen/SPIRV/keep-tracked-const.ll
M llvm/test/CodeGen/SPIRV/literals.ll
A llvm/test/CodeGen/SPIRV/llvm-intrinsics/constrained-comparison.ll.bak
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/smul.with.overflow.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/sqrt.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/uadd.with.overflow.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/umul.with.overflow.ll
M llvm/test/CodeGen/SPIRV/llvm-intrinsics/usub.with.overflow.ll
M llvm/test/CodeGen/SPIRV/opaque_pointers.ll
M llvm/test/CodeGen/SPIRV/optimizations/add-check-overflow.ll
M llvm/test/CodeGen/SPIRV/passes/translate-aggregate-uaddo.ll
M llvm/test/CodeGen/SPIRV/pointers/array-skips-gep.ll
A llvm/test/CodeGen/SPIRV/pointers/ptr-eq-types.ll
M llvm/test/CodeGen/SPIRV/pstruct.ll
M llvm/test/CodeGen/SPIRV/scoped_atomicrmw.ll
M llvm/test/CodeGen/SPIRV/sitofp-with-bool.ll
A llvm/test/CodeGen/SPIRV/store-bool.ll
M llvm/test/CodeGen/SPIRV/struct.ll
M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
M llvm/test/CodeGen/SPIRV/transcoding/BuildNDRange.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpVectorInsertDynamic_i16.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_cmpxchg.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_legacy.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/atomic_work_item_fence.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/barrier.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpenCL/work_group_barrier.ll
M llvm/test/CodeGen/SPIRV/transcoding/enqueue_kernel.ll
M llvm/test/CodeGen/SPIRV/transcoding/group_ops.ll
M llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-private-array-initialization.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_ballot.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_clustered_reduce.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_extended_types.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_arithmetic.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_non_uniform_vote.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle.ll
M llvm/test/CodeGen/SPIRV/transcoding/sub_group_shuffle_relative.ll
M llvm/test/CodeGen/SPIRV/uitofp-with-bool.ll
Log Message:
-----------
[SPIR-V] Rework duplicate tracker and tracking of IR entities and types to improve compile-time performance (#130605)
This PR is to thoroughly rework duplicate tracker implementation and
tracking of IR entities and types. These are legacy parts of the project
resulting in an extremely bloated intermediate representation and
computational delays due to inefficient data flow and structure choices.
Main results of the rework:
1) Improved compile-time performance. The reference binary LLVM IR used
to measure speed gains in
https://github.com/llvm/llvm-project/pull/120415 shows ~x5 speed up also
after this PR. The timing before this PR is ~42s and after this PR it's
~7.5s. In total this PR and the previous overhaul of the module analysis
in https://github.com/llvm/llvm-project/pull/120415 results in ~x25
speed improvement.
```
$ time llc -O0 -mtriple=spirv64v1.6-unknown-unknown _group_barrier_phi.bc -o 1 --filetype=obj
real 0m7.545s
user 0m6.685s
sys 0m0.859s
```
2) Less bloated intermediate representation of internal translation
steps. Elimination of `spv_track_constant` intrinsic usage for scalar
constants, rework of `spv_assign_name`, removal of the gMIR `GET_XXX`
pseudo code and a smaller number of generated `ASSIGN_TYPE` pseudo codes
substantially decrease volume of data generated during translation.
3) Simpler code and easier maintenance. The duplicate tracker
implementation is simplified, as well as other features.
4) Numerous fixes of issues and logical flaws in different passes. The
main achievement is rework of the duplicate tracker itself that had
never guaranteed a correct caching of LLVM IR entities, rarely and
randomly returning stale/incorrect records (like, remove an instruction
from gMIR but still refer to it). Other fixes comprise consistent
generation of OpConstantNull, assigning types to newly created
registers, creation of integer/bool types, and other minor fixes.
5) Numerous fixes of LIT tests: mainly CHECK-DAG to properly reflect
SPIR-V spec guarantees, `{{$}}` at the end of constants to avoid
matching of substrings, and XFAILS for `SPV_INTEL_long_composites` test
cases, because the feature is not completed in full yet and doesn't
generate a requested by the extension sequence of instructions.
6) New test cases are added.
Commit: e8dfd70fe2490649c600b1f4cf439a89d65f2d0f
https://github.com/llvm/llvm-project/commit/e8dfd70fe2490649c600b1f4cf439a89d65f2d0f
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
Log Message:
-----------
[MLIR][NVGPU] Use `gpu.dynamic_shared_memory` in tests (#133122)
Reland #133051
Commit: 9269aaecffb7050dddbbe5d17ddd9f3ca2e577f0
https://github.com/llvm/llvm-project/commit/9269aaecffb7050dddbbe5d17ddd9f3ca2e577f0
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
M mlir/test/Dialect/Tensor/mesh-spmdization.mlir
Log Message:
-----------
[mlir][mesh] fixes for 0d tensors (#132948)
In some cases 0d tensors have no sharding. This PR provides a few minor
fixes to account for such cases.
Commit: 4cabee35b76b01760be89fa3943464ed92fb9666
https://github.com/llvm/llvm-project/commit/4cabee35b76b01760be89fa3943464ed92fb9666
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/test/Driver/slp-vectorize.f90
Log Message:
-----------
[flang] Fix slp-vectorize.f90 test (#133128)
The test was missing "-o /dev/null" and inadvertently generating a .ll
file in the test directory.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 96d1baedefc3581b53bc4389bb171760bec6f191
https://github.com/llvm/llvm-project/commit/96d1baedefc3581b53bc4389bb171760bec6f191
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang-rt/README.md
M flang/CMakeLists.txt
R flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/examples/CMakeLists.txt
R flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/runtime/CMakeLists.txt
R flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
R flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)
Remove the FLANG_INCLUDE_RUNTIME option which was replaced by
LLVM_ENABLE_RUNTIMES=flang-rt.
The FLANG_INCLUDE_RUNTIME option was added in #122336 which disables the
non-runtimes build instructions for the Flang runtime so they do not
conflict with the LLVM_ENABLE_RUNTIMES=flang-rt option added in #110217.
In order to not maintain multiple build instructions for the same thing,
this PR completely removes the old build instructions (effectively
forcing FLANG_INCLUDE_RUNTIME=OFF).
As per discussion in
https://discourse.llvm.org/t/buildbot-changes-with-llvm-enable-runtimes-flang-rt/83571/2
we now implicitly add LLVM_ENABLE_RUNTIMES=flang-rt whenever Flang is
compiled in a bootstrapping (non-standalone) build. Because it is
possible to build Flang-RT separately, this behavior can be disabled
using `-DFLANG_ENABLE_FLANG_RT=OFF`. Also see the discussion an
implicitly adding runtimes/projects in #123964.
Commit: 3e59b00eb596c9d4aa5e1511babf62082996ca8d
https://github.com/llvm/llvm-project/commit/3e59b00eb596c9d4aa5e1511babf62082996ca8d
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/utils/ci/BOT_OWNERS.txt
Log Message:
-----------
[libc++] Add GitHub usernames for Linaro managed bots (#133120)
This isn't the whole team, but enough that one of us will see it and
make sure the right person sees it.
Noted explicitly that Picolibc is also our responsiblity as it's not
always clear that that is tested on Arm.
Commit: 0106e5ad91d7b7d9045e82f2eb7319ab0f74d27a
https://github.com/llvm/llvm-project/commit/0106e5ad91d7b7d9045e82f2eb7319ab0f74d27a
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libc/startup/gpu/CMakeLists.txt
Log Message:
-----------
[libc] Temporarily disable LTO flags for AMDGPU crt1.o
Summary:
Some recent changes seem to have introduced a bug that breaks this. Turn
it off while I triage it.
Commit: 545ea0dd378912d588550a79728cc98cd4dbaa24
https://github.com/llvm/llvm-project/commit/545ea0dd378912d588550a79728cc98cd4dbaa24
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
Log Message:
-----------
[mlir][mesh] fixes for 0d tensors (#132948)
Accounting for cases where 0d tensors have no sharding (like scalars).
Commit: 27539c3f903be26c487703943d3c27d45d4542b2
https://github.com/llvm/llvm-project/commit/27539c3f903be26c487703943d3c27d45d4542b2
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang-rt/README.md
M flang/CMakeLists.txt
A flang/cmake/modules/AddFlangOffloadRuntime.cmake
M flang/examples/CMakeLists.txt
A flang/examples/ExternalHelloWorld/CMakeLists.txt
A flang/runtime/CMakeLists.txt
A flang/runtime/CUDA/CMakeLists.txt
A flang/runtime/Float128Math/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/tools/f18/CMakeLists.txt
M flang/unittests/CMakeLists.txt
M flang/unittests/Evaluate/CMakeLists.txt
A flang/unittests/Runtime/CMakeLists.txt
A flang/unittests/Runtime/CUDA/CMakeLists.txt
M llvm/CMakeLists.txt
Log Message:
-----------
Revert "[Flang] Remove FLANG_INCLUDE_RUNTIME (#124126)"
The production buildbot master apparently has not yet been restarted
since https://github.com/llvm/llvm-zorg/pull/393 landed.
This reverts commit 96d1baedefc3581b53bc4389bb171760bec6f191.
Commit: 6a371c7744c276c872fec4947f1642789e5b24ec
https://github.com/llvm/llvm-project/commit/6a371c7744c276c872fec4947f1642789e5b24ec
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/option-exact-inlineasm.ll
A llvm/test/MC/RISCV/option-exact.s
M llvm/test/MC/RISCV/option-invalid.s
Log Message:
-----------
[RISCV] Support .option {no}exact (#122483)
This implements [the `.option exact` and `.option noexact`
proposal](https://github.com/riscv-non-isa/riscv-asm-manual/pull/122)
for RISC-V.
`.option exact` turns off:
- Compression
- Branch Relaxation
- Linker Relaxation
`.option noexact` turns these back on, and is also the default, matching
the current behaviour.
Commit: a80aad28123101539134c277c6904905016754ca
https://github.com/llvm/llvm-project/commit/a80aad28123101539134c277c6904905016754ca
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Support/YAMLTraits.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/Generic/MIRStripDebug/no-metadata-present.mir
M llvm/test/CodeGen/MIR/AArch64/empty-MF.mir
M llvm/test/tools/obj2yaml/Minidump/basic.yaml
M llvm/unittests/Support/YAMLIOTest.cpp
Log Message:
-----------
[YAML] fix output incorrect format for block scalar string (#132897)
After outputting block scalar string, the indent will be wrong.
This patch fixes Padding after block scalar string to ensure the correct
format of yaml.
The new added ut will fail in main.
```diff
@@ -3,4 +3,4 @@
Just a block
scalar doc
-scalar: a
+ scalar: a
...\n
```
Commit: 6d1184d05ffe3872ce5ea186c0cd3085219aae07
https://github.com/llvm/llvm-project/commit/6d1184d05ffe3872ce5ea186c0cd3085219aae07
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenFunction.h
Log Message:
-----------
[CIR][NFC] Organize emit functions in CIRGenFunction.h (#133017)
To make rebasing the incubator project easier, we've been trying to
place upstreamed code in the same order in which it appears in the
incubator project. However, while the upstream implementation is still
relatively sparse, it is often difficult to find points of reference for
placement of new declarations. To help with that, I refactored
CIRGenFunction.h in the incubator to put all the emit* functions in one
place and sort them alphabetically.
This change reorganizes the upstream CIRGenFunction.h to match the new
incubator ordering.
Commit: a942d7f8106226ba79185e60873c0e0e654f1e68
https://github.com/llvm/llvm-project/commit/a942d7f8106226ba79185e60873c0e0e654f1e68
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/test/SemaCXX/member-pointer.cpp
M clang/test/SemaTemplate/instantiation-backtrace.cpp
Log Message:
-----------
[clang] fix deduction of member pointers with dependent named classes (#133113)
This fixes a regression when interpreting a nested name specifier for
deduction purposes in member pointers.
This introduces a helper for fully translating a nested name specifier
into a type.
This regression was introduced here:
https://github.com/llvm/llvm-project/pull/130537
and was reported here:
https://github.com/llvm/llvm-project/pull/132401#issuecomment-2751489581
No release notes, since this regression was never released.
Commit: d2a7a249c567cb170f22fe6e932896f9298b581d
https://github.com/llvm/llvm-project/commit/d2a7a249c567cb170f22fe6e932896f9298b581d
Author: Matthias Braun <matze at braunis.de>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Add __attribute__((retain)) to LLVM_DUMP_METHOD (#133025)
Without the retain attribute the dump functions will be stripped when
LLVM is compiled with `-ffunction-section -Wl,--gc-sections` on
ELF-based systems.
Commit: 1876a89b259b04af28ca0ffbcff36d5e9e2eb71a
https://github.com/llvm/llvm-project/commit/1876a89b259b04af28ca0ffbcff36d5e9e2eb71a
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/X86/mcpu_not_set_during_cross_compilation.s
Log Message:
-----------
[llvm-exegesis] Require RISCV Target for new test
This test was causing buildbot failures because it requires both the
RISCV and X86 targets to be enabled to run successfully. It already
requires the X86 target by virtue of being in the X86/ test directory,
but failed to require the RISCV target, which this patch corrects.
Commit: 25c5bad2f26e96a44b84765bedd82ee9bcffd22c
https://github.com/llvm/llvm-project/commit/25c5bad2f26e96a44b84765bedd82ee9bcffd22c
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/splat-vectors.ll
Log Message:
-----------
[RISCV] Check the legality of source vector types in matchSplatAsGather (#133028)
When we're trying to lower `extractelement + splat` with
vrgather.vi/.vx, we should also check the legality of source vector type
from `extractelement`, as the entire transformation assumes legal types.
Fixes #133020
Commit: f3991e10bb0aa8cd6a72e9ebd8112b2030c67f13
https://github.com/llvm/llvm-project/commit/f3991e10bb0aa8cd6a72e9ebd8112b2030c67f13
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
A flang/test/Preprocessing/kind-suffix.F90
Log Message:
-----------
[flang] Allow macro replacement in numeric kind suffix (#132120)
When a numeric value has a kind suffix containing an identifier, allow
macro replacement for that identifier by treating it as its own token.
Fixes https://github.com/llvm/llvm-project/issues/131548.
Commit: 38207a52a701f8c2b77087450b277e7debd8fe73
https://github.com/llvm/llvm-project/commit/38207a52a701f8c2b77087450b277e7debd8fe73
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/lib/Semantics/check-coarray.cpp
A flang/test/Semantics/sync-images.f90
Log Message:
-----------
[flang] Test SYNC IMAGES, increase checking (#132279)
Add a test for the SYNC IMAGES statement, and add a check for invalid
image numbers.
Commit: 4ea5aa09deba468b250bebf3614e2a0cc57ec4b6
https://github.com/llvm/llvm-project/commit/4ea5aa09deba468b250bebf3614e2a0cc57ec4b6
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/LogicalFormatTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
R flang/include/flang/Runtime/io-api-consts.h
M flang/include/flang/Runtime/io-api.h
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
Log Message:
-----------
[flang][NFC] Restore I/O runtime API header name (#132423)
flang/include/flang/Runtime/io-api.h was changed into io-api-consts.h,
then wrapped into a new io-api.h that includes io-api-consts.h, does
some redundant includes and declarations, and then declares the
prototype of one function, InquiryKeywordHashDecode.
Make that function static in io-stmt.cpp prior to its sole call site,
then undo the renaming, to reduce confusion and redundancy.
Commit: 6df27dd42d827a2468dcf4b4b1ee1a8e8af1a408
https://github.com/llvm/llvm-project/commit/6df27dd42d827a2468dcf4b4b1ee1a8e8af1a408
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/bug132435.f90
Log Message:
-----------
[flang] Fix missed case of symbol renaming in module file generation (#132475)
The map of symbols requiring new local aliases for USE association needs
to use the symbols' ultimate resolutions to avoid missing cases that can
arise in convoluted codes with lots of confusing renamings.
Fixes https://github.com/llvm/llvm-project/issues/132435.
Commit: 3bc8aa7823870cb4863cc32eb5917b610b5def87
https://github.com/llvm/llvm-project/commit/3bc8aa7823870cb4863cc32eb5917b610b5def87
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/assign04.f90
Log Message:
-----------
[flang] Catch whole assumed-size array as RHS (#132819)
The right-hand side expression of an intrinsic assignment statement may
not be the name of an assumed-size array dummy argument.
Commit: 9b7a7e4b9e44a73978c374f95f90332620f87ce8
https://github.com/llvm/llvm-project/commit/9b7a7e4b9e44a73978c374f95f90332620f87ce8
Author: Brad Smith <brad at comstyle.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_wrapper_getpid.h
M openmp/runtime/src/z_Linux_util.cpp
M openmp/runtime/test/lit.cfg
M openmp/tools/multiplex/ompt-multiplex.h
Log Message:
-----------
[OpenMP] Add support for Haiku (#133034)
Co-authored-by: Jérôme Duval <jerome.duval at gmail.com>
Commit: bcad0501062325457cc9dae4b8b083e3bd2a04e3
https://github.com/llvm/llvm-project/commit/bcad0501062325457cc9dae4b8b083e3bd2a04e3
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
A cross-project-tests/tools/llvm-objdump/ARM/lit.local.cfg
A cross-project-tests/tools/llvm-objdump/ARM/plt.c
M lld/test/ELF/arm-gnu-ifunc-plt.s
M lld/test/ELF/arm-mixed-plts.s
M lld/test/ELF/arm-plt-reloc.s
M lld/test/ELF/arm-thumb-interwork-shared.s
M lld/test/ELF/arm-thumb-interwork-thunk.s
M lld/test/ELF/arm-thumb-plt-range-thunk-os.s
M lld/test/ELF/arm-thumb-plt-reloc.s
M lld/test/ELF/arm-thunk-multipass-plt.s
M lld/test/ELF/arm-thunk-re-add.s
M lld/test/ELF/armv8-thumb-plt-reloc.s
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[llvm-objdump][ARM] Find ELF file PLT entries for arm, thumb (#130764)
This implements arm, armeb, thumb, thumbeb PLT entries parsing support
in ELF for llvm-objdump.
Implementation is similar to AArch64MCInstrAnalysis::findPltEntries. PLT
entry signatures are based on LLD code for PLT generation
(ARM::writePlt).
llvm-objdump tests are produced from lld/test/ELF/arm-plt-reloc.s,
lld/test/ELF/armv8-thumb-plt-reloc.s.
Commit: 86690ce3b79e7f54a6e617a162de6ff5a350e717
https://github.com/llvm/llvm-project/commit/86690ce3b79e7f54a6e617a162de6ff5a350e717
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Remove unnecessary calls MCRegister::id(). NFC
Commit: 2d14797f407fbe69eb969806c0c9cfe1f63ccda4
https://github.com/llvm/llvm-project/commit/2d14797f407fbe69eb969806c0c9cfe1f63ccda4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M .github/workflows/docs.yml
Log Message:
-----------
[Github] Simplify checkout in docs test workflow (#132975)
This makes things quite a bit simpler and also gets rid of some API
calls. We weren't hitting any API limits, but getting rid of them leaves
more quota for other things should we ever need it. This just diffs the
merge commit in the pull request workflows, which gives the diff for the
PR.
Commit: 7b130f4aa896905354a855a341d7ded69fe9f5db
https://github.com/llvm/llvm-project/commit/7b130f4aa896905354a855a341d7ded69fe9f5db
Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libc/src/__support/CPP/atomic.h
Log Message:
-----------
[libc][CPP] correct cmpxchg failure ordering inference (#133127)
See https://en.cppreference.com/w/cpp/atomic/atomic/compare_exchange.
The failure order should be inferred from the success order if it is not
explicitly specified.
Commit: 304454f9e71ddbbb6c25e1b5d406131ded2417d0
https://github.com/llvm/llvm-project/commit/304454f9e71ddbbb6c25e1b5d406131ded2417d0
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/test/Driver/cl-options.c
Log Message:
-----------
[clang-cl] Accept the --warning-suppression-mappings= option (#133092)
Commit: 3ab70e3f90f43f33bd3180c1c3a9f9b00c4d6922
https://github.com/llvm/llvm-project/commit/3ab70e3f90f43f33bd3180c1c3a9f9b00c4d6922
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Semantics/sizeof.f90
Log Message:
-----------
[Flang] Change sizeof argument name to "x" (#130189)
This closes #128610 by fixing the name of the argument to the sizeof
function to be "x" and adds a test.
Commit: de1c2f24bc1991beed8314ee5922f5768391537e
https://github.com/llvm/llvm-project/commit/de1c2f24bc1991beed8314ee5922f5768391537e
Author: David Green <david.green at arm.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
Log Message:
-----------
[LoopVectorizer][AArch64] Move getMinTripCountTailFoldingThreshold later. (#132170)
This moves the checks of MinTripCountTailFoldingThreshold later, during the
calculation of whether to tail fold. This allows it to check beforehand whether
tail predication is required, either for scalable or fixed-width vectors.
This option is only specified for AArch64, where it returns the minimum of 5.
This patch aims to allow the vectorization of TC=4 loops, preventing them from
performing slower when SVE is present.
Commit: 077940621d2ef1352f0353a58c3130ed6c3034e8
https://github.com/llvm/llvm-project/commit/077940621d2ef1352f0353a58c3130ed6c3034e8
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M flang/lib/Parser/message.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/test/Driver/debug-parsing-log.f90
A flang/test/Parser/acc-data-statement.f90
A flang/test/Parser/acc.f
Log Message:
-----------
[flang][openacc] Make OpenACC block construct parse errors less verbose. (#131042)
This PR does reduces the verbosity of parser errors for OpenACC block
constructs that do not parse correctly because they are missing their
trailing end block directive by:
- Removing the redundant error messages created by parsing 3 different
styles of directive tokens.
- Providing a general mechanism of configuring the max number of
contexts printed for every syntax error.
- Not printing less specific contexts that are at the same location.
Prior to the changes:
```
$ flang -fc1 -fopenacc -fsyntax-only flang/test/Parser/acc-data-statement.f90 2>&1 | tee acc-data-statement.prior.log | wc -l
262
```
[acc-data-statement.prior.log](https://github.com/user-attachments/files/19298165/acc-data-statement.prior.log)
```
$ flang -fc1 -fopenacc -fsyntax-only flang/test/Parser/acc-data-statement.f90 2>&1 | tee acc-data-statement.prior.log | wc -l
73
```
[acc-data-statement.post.log](https://github.com/user-attachments/files/19298181/acc-data-statement.post.log)
Commit: 9224165871c5555acc568b3895c736ff2a580e1e
https://github.com/llvm/llvm-project/commit/9224165871c5555acc568b3895c736ff2a580e1e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
A .ci/compute_projects.py
A .ci/compute_projects_test.py
Log Message:
-----------
[CI] Add Python Script for Computing Projects/Runtimes to Test
This patch adds a python script, compute_projects, and associated unit
tests for computing the projects and runtimes that need to be tested in
premerge. Rewriting in Python opens up a couple new
improvements/opportunities:
1. I personally find python to be much easier to work with than shell
scripts for tasks like this. Particularly it becomes a lot easier to
work with paths with proper array support.
2. Unit testing becomes easier which makes it a lot easier to reason
about behavior changes, especially in review.
3. Most of the configuration is now setup in some dictionaries, which
makes changes much easier to apply for most of the common changes.
This preserves the behavior of the existing premerge scripts as much as
possible.
Reviewers: ldionne, lnihlen, Endilll, tstellar, Keenuts
Reviewed By: Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/132634
Commit: 51bceb46f8eeb7c3d060387be315ca41855933c2
https://github.com/llvm/llvm-project/commit/51bceb46f8eeb7c3d060387be315ca41855933c2
Author: Martin Storsjö <martin at martin.st>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
Log Message:
-----------
[libcxx] [test] Fix restoring LLVM_DIR and Clang_DIR (#132838)
In 664f345cd53d1f624d94f9889a1c9fff803e3391, a fix was introduced,
attempting to restore LLVM_DIR and Clang_DIR after doing
find_package(Clang).
However, 6775285e7695f2d45cf455f5d31b2c9fa9362d3d added a return if the
clangTidy target wasn't found. If this is hit, we don't restore LLVM_DIR
and Clang_DIR, which causes strange effects if CMake is rerun a second
time.
Move the code for restoring LLVM_DIR and Clang_DIR to directly after the
find_package calls, to make sure they are restored, regardless of the
find_package outcome.
Commit: 25f4f0a56de741a8120cfeab297211e9505ec1d7
https://github.com/llvm/llvm-project/commit/25f4f0a56de741a8120cfeab297211e9505ec1d7
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/BinaryFormat/ELF.cpp
M llvm/lib/InterfaceStub/IFSHandler.cpp
M llvm/test/tools/llvm-ifs/write-stub.test
Log Message:
-----------
[llvm-ifs] Handle more e_machine values for --target (#128559)
This adds ELF::convertTripleArchTypeToEMachine and uses it in
llvm-ifs. It handles many more Triple::ArchType values than the
old code, though not all since I couldn't quickly discern
what all the mappings are.
Commit: 2d1517d257fcbd0c9bce14badc7646e94d81ea2b
https://github.com/llvm/llvm-project/commit/2d1517d257fcbd0c9bce14badc7646e94d81ea2b
Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
cuda clang: Fix argument order for __reduce_max_sync (#132881)
Fixes: https://github.com/llvm/llvm-project/issues/131415
---------
Signed-off-by: Austin Schuh <austin.linux at gmail.com>
Commit: 2c7d40b2f0c5e68e90297b605ceb70c55d201bca
https://github.com/llvm/llvm-project/commit/2c7d40b2f0c5e68e90297b605ceb70c55d201bca
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-trunc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.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
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
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-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-prefer-flag.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/pr41179.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.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/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/cast-induction.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction-ptrcasts.ll
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-select-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-min-index.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/strided-accesses-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/unroll_nonlatch.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Generalize SCALAR-STEPS removal to any unroll factor.
Follow-up to dfca6c0d3bf9d1a056 to extend isUnrolled handle any unrolled
VPlan, which means there's a single UF, but it will be > 1 if unrolling
took place.
Commit: d724bab8064685c98cdded88157b6e2245e0d7bc
https://github.com/llvm/llvm-project/commit/d724bab8064685c98cdded88157b6e2245e0d7bc
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
Log Message:
-----------
[libc][bazel] Create a libc_header_library macro for hand-in-hand. (#133131)
Create a proper way to build header-only libraries for llvm-libc code
sharing. Use it to group headers that can be shared with libcxx for
std::from_chars() implementation.
It mostly works, though the macro needs to be updated to enforce that no
.cpp files are listed in dependencies (it's not the case now) - see PR
#133126.
Commit: 38aac86a2490ba1974755758e1311a6cbdbefb25
https://github.com/llvm/llvm-project/commit/38aac86a2490ba1974755758e1311a6cbdbefb25
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Speed up inferMatchingSuperRegClass. NFC. (#133060)
SubToSuperRegs was a DenseMap of std::vectors, where the vectors
typically had size 1. Switching to a vector of pairs avoids the overhead
of allocating tiny vectors.
I measured a 1.14x speed-up building AMDGPUGenRegisterInfo.inc with this
patch.
Commit: 9c18edc62123e778d1d713df44aa05c91e7bbbae
https://github.com/llvm/llvm-project/commit/9c18edc62123e778d1d713df44aa05c91e7bbbae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/IOHandler.h
A lldb/include/lldb/Core/Statusline.h
M lldb/include/lldb/Host/Editline.h
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/IOHandler.cpp
A lldb/source/Core/Statusline.cpp
M lldb/source/Host/common/Editline.cpp
R lldb/test/API/functionalities/progress_reporting/TestTrimmedProgressReporting.py
A lldb/test/API/functionalities/statusline/Makefile
A lldb/test/API/functionalities/statusline/TestStatusline.py
A lldb/test/API/functionalities/statusline/main.c
Log Message:
-----------
[lldb] Implement a statusline in LLDB (#121860)
Add a statusline to command-line LLDB to display information about the
current state of the debugger. The statusline is a dedicated area
displayed at the bottom of the screen. The information displayed is
configurable through a setting consisting of LLDB’s format strings.
Enablement
----------
The statusline is enabled by default, but can be disabled with the
following setting:
```
(lldb) settings set show-statusline false
```
Configuration
-------------
The statusline is configurable through the `statusline-format` setting.
The default configuration shows the target name, the current file, the
stop reason and any ongoing progress events.
```
(lldb) settings show statusline-format
statusline-format (format-string) = "${ansi.bg.blue}${ansi.fg.black}{${target.file.basename}}{ | ${line.file.basename}:${line.number}:${line.column}}{ | ${thread.stop-reason}}{ | {${progress.count} }${progress.message}}"
```
The statusline supersedes the current progress reporting implementation.
Consequently, the following settings no longer have any effect (but
continue to exist to not break anyone's `.lldbinit`):
```
show-progress -- Whether to show progress or not if the debugger's output is an interactive color-enabled terminal.
show-progress-ansi-prefix -- When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately before the progress message.
show-progress-ansi-suffix -- When displaying progress in a color-enabled terminal, use the ANSI terminal code specified in this format immediately after the progress message.
```
Format Strings
--------------
LLDB's format strings are documented in the LLDB documentation and on
the website: https://lldb.llvm.org/use/formatting.html#format-strings.
The current implementation is relatively limited but various
improvements have been discussed in the RFC.
One such improvement is being to display a string when a format string
is empty. Right now, when launching LLDB without a target, the
statusline will be empty, which is expected, but looks rather odd.
RFC
---
The full RFC can be found on Discourse:
https://discourse.llvm.org/t/rfc-lldb-statusline/83948
Commit: 533f85ae0542ee80a9b19bef09234646a7b19d1c
https://github.com/llvm/llvm-project/commit/533f85ae0542ee80a9b19bef09234646a7b19d1c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Core/BUILD.gn
Log Message:
-----------
[gn build] Port 9c18edc62123
Commit: fc0102ec043c449ade32805dcd3e70045322934d
https://github.com/llvm/llvm-project/commit/fc0102ec043c449ade32805dcd3e70045322934d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Remove unnecessary struct keyword. NFC
Commit: bfe85230e2dc27493b82ffba5a46c8f7449a6e10
https://github.com/llvm/llvm-project/commit/bfe85230e2dc27493b82ffba5a46c8f7449a6e10
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir][IntegerRangeAnalysis] expose maybeReplaceWithConstant (#133151)
This PR exposes `maybeReplaceWithConstant` in headers for downstream
use.
Commit: 6075275e68bd2362095af76b1acb49c2ac9610a4
https://github.com/llvm/llvm-project/commit/6075275e68bd2362095af76b1acb49c2ac9610a4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[AsmPrinter] Don't pass Twine by value. NFC
Commit: 06411399fb6f29277cfb3601f8c9603778f20224
https://github.com/llvm/llvm-project/commit/06411399fb6f29277cfb3601f8c9603778f20224
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/add.v2i16.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.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/fshr.ll
M llvm/test/CodeGen/AMDGPU/i1-to-bf16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.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.ldexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix.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_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] srl pattern for true16 mode (#132987)
Added a srl pattern for true16 flow. Changing right shift 16bit to a
reg_sequence
`srl vgpr32, 16 -> reg_sequence (vgpr32.hi16, 0)`
and finally it's lowered to two COPY
`vdst.lo16 = COPY vsrc.hi16`
`vdst.hi16 = COPY 0`
The benefits of this transform is allowing the following pass to
optimize out these copy.
Commit: 26bc1c6058d0af952de3073dcc9e710b4ba256aa
https://github.com/llvm/llvm-project/commit/26bc1c6058d0af952de3073dcc9e710b4ba256aa
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll
Log Message:
-----------
[RISCV] Fix incorrect runline for test
Commit: 78d7dd297f20a7b993ff177d956b0b7446a906f7
https://github.com/llvm/llvm-project/commit/78d7dd297f20a7b993ff177d956b0b7446a906f7
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[github] remove more caches after downloading things (#133129)
This is generally good practice if the caches won't be reused (though
arguably pedantic for the `stage1-toolchain` stage).
`docker history` on comparable images showed that this saves a few
hundred MB on stage1, and ~60MB on the `apt-get` layer of
`ci-container-agent`.
Commit: 3386156b1e8418083e99833d3d22420cf439c039
https://github.com/llvm/llvm-project/commit/3386156b1e8418083e99833d3d22420cf439c039
Author: QuietMisdreavus <QuietMisdreavus at users.noreply.github.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
M clang/lib/ExtractAPI/DeclarationFragments.cpp
A clang/test/Index/extract-api-cursor-cpp.cpp
Log Message:
-----------
[clang][ExtractAPI] fix a couple crashes when used via libclang (#132297)
This PR fixes two crashes in ExtractAPI that occur when decls are
requested via libclang:
- A null-dereference would sometimes happen in
`DeclarationFragmentsBuilder::getFragmentsForClassTemplateSpecialization`
when the template being processed was loaded indirectly via a typedef,
with parameters filled in. The first commit loads the template parameter
locations ahead of time to perform a null check before dereferencing.
- An assertion (or another null-dereference) was happening in
`CXXRecordDecl::bases` when processing a forward-declaration (i.e. a
record without a definition). The second commit guards the use of
`bases` in `ExtractAPIVisitorBase::getBases` by first checking that the
decl in question has a complete definition.
The added test `extract-api-cursor-cpp` adds tests for these two
scenarios to protect against the crash in the future.
Fixes rdar://140592475, fixes rdar://123430367
Commit: 2b43ecd27b9651ac2bfb1328ad14b43a0f47a385
https://github.com/llvm/llvm-project/commit/2b43ecd27b9651ac2bfb1328ad14b43a0f47a385
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
Log Message:
-----------
[webkit.RefCntblBaseVirtualDtor] Add support for NoVirtualDestructorBase. (#132497)
This PR adds the support for WTF::NoVirtualDestructorBase, which
signifies to the checker that the class is exempt from having a virtual
destructor.
Commit: 7da71a6b7132be8db76c67e34a2ba497bf851779
https://github.com/llvm/llvm-project/commit/7da71a6b7132be8db76c67e34a2ba497bf851779
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude runtimes from being tested as projects
Before this patch, making a change to a runtime directory (like libcxx)
would cause the project to be added to the LLVM_ENABLE_PROJECTS CMake
flag which is illegal as they can only be built as part of
LLVM_ENABLE_RUNTIMES. This patch fixes that behavior. Test added.
Commit: f1dad0bcb58f2b8bf0d847d4a65909b797be4fa1
https://github.com/llvm/llvm-project/commit/f1dad0bcb58f2b8bf0d847d4a65909b797be4fa1
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/DWARFLinker/Classic/DWARFLinker.cpp
M llvm/test/tools/dsymutil/ARM/stmt-seq-macho.test
M llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.exe
M llvm/test/tools/dsymutil/Inputs/private/tmp/stmt_seq/stmt_seq_macho.o
Log Message:
-----------
[DWARFLinker] Handle empty sequences when processing `DW_AT_LLVM_stmt_sequence` attributes (#132875)
We previously assumed that every `DW_AT_LLVM_stmt_sequence` attribute
has a corresponding sequence in the processed line table. However, this
isn't always true. Some sequences can be removed by the linker if they
are empty, as shown
[here](https://github.com/alx32/llvm-project/blob/release/14.x/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp#L565-L566).
When an attribute refers to one of these removed sequences, there is no
actual sequence for it to match. In such cases, we update the attribute
to indicate that it is invalid and does not point to any sequence. This
informs readers that the attribute should be ignored.
The newly modified test would have triggered the assert that is being
removed in this patch.
Commit: a629b505757a1853e6083290e5d8d7b82f4f4d4a
https://github.com/llvm/llvm-project/commit/a629b505757a1853e6083290e5d8d7b82f4f4d4a
Author: Ethan Kaji <ethan.kaji at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
Log Message:
-----------
Port `NVPTXTargetLowering::LowerCONCAT_VECTORS` to SelectionDAG (#120030)
Ports `NVPTXTargetLowering::LowerCONCAT_VECTORS` to
`llvm/lib/CodeGen/SelectionDAG` as requested in
https://github.com/llvm/llvm-project/issues/116695.
Commit: f9aa7a20d9352102c41285e63c3a1459036af79d
https://github.com/llvm/llvm-project/commit/f9aa7a20d9352102c41285e63c3a1459036af79d
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/docs/Status/Cxx23Issues.csv
A libcxx/test/std/utilities/utility/forward/forward_like.verify.cpp
Log Message:
-----------
[libc++] Verify std::forward_like's mandates clause. (#127318)
The existing using _ForwardLike declaration already fails with a
subsitution failure. The LWG issue was filed to clarify what should
happen for non-referencable types.
Added test to verify libc++ is already enforcing the new Mandates.
Implements:
- LWG3757 What's the effect of std::forward_like<void>(x)
Closes: #105026
Commit: 3c0300d1fecea583c9b3d7689213676db18485aa
https://github.com/llvm/llvm-project/commit/3c0300d1fecea583c9b3d7689213676db18485aa
Author: A. Jiang <de34 at live.cn>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M libcxx/include/__ranges/enable_view.h
M libcxx/test/std/ranges/range.req/range.view/enable_view.compile.pass.cpp
M libcxx/test/std/ranges/range.req/range.view/view.compile.pass.cpp
Log Message:
-----------
[libc++][ranges] Adjust inheritance detection for `enable_view` (#132582)
Per [range.view]/6, a `view_interface` isn't a base class of itself, so
`enable_view` should report `false`. Also, current implementation
strategy handles `const` but not `volatile`, IIUC cv-qualifiers should
be consistent handled.
In `enable_view.compile.pass.cpp`, coverage for (`const`) `volatile`
types are added.
Drive-by: Remove one unnessary `test_macro.h` inclusion in a test.
Fixes #132577.
Commit: 88099a7da97b5ea5f12fb8c6c993d7f1b6fe06ce
https://github.com/llvm/llvm-project/commit/88099a7da97b5ea5f12fb8c6c993d7f1b6fe06ce
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lsx/vec-trunc.ll
Log Message:
-----------
[LoongArch] Custom lower vector trunc to vector shuffle (#130938)
Commit: 79e82b6f146e39b2498b9eb44033cde8659ba6b7
https://github.com/llvm/llvm-project/commit/79e82b6f146e39b2498b9eb44033cde8659ba6b7
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/MachineInstr.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/callee-saved-regs.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/ctpop-vp.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-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-explodevector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-llrint.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-select-addsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpmerge.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpscatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vscale-range.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
M llvm/test/CodeGen/RISCV/rvv/frm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/remat.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
M llvm/test/CodeGen/RISCV/rvv/rvv-cfi-info.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/stack-folding.ll
M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.ll
M llvm/test/CodeGen/RISCV/rvv/stack-slot-coloring.mir
M llvm/test/CodeGen/RISCV/rvv/stores-of-loads-merging.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/vfadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfdiv-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/vfmadd-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-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-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/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vpmerge-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
Log Message:
-----------
[RISCV] Use a precise size for MMO on scalable spill and fill (#133171)
The primary effect of this is that we get proper scalable sizes printed
by the assembler, but this may also enable proper aliasing analysis. I
don't see any test changes resulting from the later.
Getting the size is slightly tricky as we store the scalable size as a
non-scalable quantity in the object size field for the frame index. We
really should remove that hack at some point...
For the synthetic tuple spills and fills, I dropped the size from the
split loads and stores to avoid incorrect (overly large) sizes. We could
also divide by the NF factor if we felt like writing the code to do so.
Commit: 263ec7221ef6ef96876d75b69ab48bf37dcbb25e
https://github.com/llvm/llvm-project/commit/263ec7221ef6ef96876d75b69ab48bf37dcbb25e
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M mlir/include/mlir/TableGen/Attribute.h
A mlir/include/mlir/TableGen/EnumInfo.h
M mlir/include/mlir/TableGen/Pattern.h
M mlir/lib/TableGen/Attribute.cpp
M mlir/lib/TableGen/CMakeLists.txt
A mlir/lib/TableGen/EnumInfo.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/LLVMIRConversionGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/tools/mlir-tblgen/TosaUtilsGen.cpp
Log Message:
-----------
[mlir][NFC] Move and rename EnumAttrCase, EnumAttr C++ classes (#132650)
This moves the EnumAttrCase and EnumAttr classes from Attribute.h/.cpp
to a new EnumInfo.h/cpp and renames them to EnumCase and EnumInfo,
respectively.
This doesn't change any of the tablegen files or any user-facing aspects
of the enum attribute generation system, just reorganizes code in order
to make main PR (#132148) shorter.
Commit: 2ca27e7c3e252d5c5fce57c0f85d0290babf82f3
https://github.com/llvm/llvm-project/commit/2ca27e7c3e252d5c5fce57c0f85d0290babf82f3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Fix typo in compute_projects_test.py
I apparently forgot to properly name the test before submitting the last
patch. This patch properly names the test.
Commit: e54f31a20c23b2b1fdb524a63b84361703613c4e
https://github.com/llvm/llvm-project/commit/e54f31a20c23b2b1fdb524a63b84361703613c4e
Author: Wu Yingcong <yingcong.wu at intel.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/cmake/builtin-config-ix.cmake
Log Message:
-----------
[compiler-rt][builtins] Add missing flag for builtins standalone build (#133046)
When builtins are built with runtimes, it is built before compiler-rt,
and this makes some of the HAS_XXX_FLAGs missing. In this case, the
COMPILER_RT_HAS_FCF_PROTECTION_FLAG is missing which makes it impossible
to enable CET in this case. This patch addresses this issue by also
check for such flag in standalone build instead of relying on the
compiler-rt's detection.
Commit: d58f57228d46a73059d507eef252a8dfae14f256
https://github.com/llvm/llvm-project/commit/d58f57228d46a73059d507eef252a8dfae14f256
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Use named sub-operands to simplify encoding/decoding for CoreV Reg-Reg instructions. (#133181)
We can name the sub-operands using a DAG in the 'ins'. This allows those
names to be matched to the encoding fields. This removes the need for a
custom encoder/decoder that treats the 2 sub-operands as a single 10-bit
value.
While doing this, I noticed the base and offset names in the
MIOperandInfo were swapped relative to how the operands are parsed and
printed. Assuming that I've correctly understood the parsing/print
format as "offset(base)".
Commit: 64046e9d2628ce421682eea8465e41554b46c96d
https://github.com/llvm/llvm-project/commit/64046e9d2628ce421682eea8465e41554b46c96d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
Log Message:
-----------
[Driver] Use a range constructor of StringSet (NFC) (#133201)
This patch uses a range constructor to collapse:
llvm::StringSet<> Dest;
for (const auto &S : Src)
Dest.insert(S);
down to:
llvm::StringSet<> Dest(llvm::from_range, Src);
Commit: 16d1942c069a7572efceba884452f08a157cb684
https://github.com/llvm/llvm-project/commit/16d1942c069a7572efceba884452f08a157cb684
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Drop '-x c' from riscv-target-features.c. NFC
Commit: cc30fbacec66fd6a53aabc0880de23fc22826a3a
https://github.com/llvm/llvm-project/commit/cc30fbacec66fd6a53aabc0880de23fc22826a3a
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/docs/RISCV/RISCVVectorExtension.rst
Log Message:
-----------
[Docs][RISCV] Update RISCVVectorExtension.rst to reflect RISCVVMV0Elimination. NFC (#133058)
Also correct the old name of RISCVFoldMasks to RISCVVectorPeephole
Commit: 291fd8f2cec30a218d1a8b50958ba4647de7b7c8
https://github.com/llvm/llvm-project/commit/291fd8f2cec30a218d1a8b50958ba4647de7b7c8
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
clang/lib/Sema/SemaExprCXX.cpp: Suppress a warning introduced in #133113. [-Wunused-but-set-variable]
Commit: 68e90e4f0c57b89be0b3f4cc750019dc34aea3ea
https://github.com/llvm/llvm-project/commit/68e90e4f0c57b89be0b3f4cc750019dc34aea3ea
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_poisoning.h
Log Message:
-----------
[asan][NFCI] Add ASAN_POISONING_H header guard (#133178)
Commit: 80f216db530eda98a444bc1994c7d69a7107c3c6
https://github.com/llvm/llvm-project/commit/80f216db530eda98a444bc1994c7d69a7107c3c6
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A clang/test/Modules/no-transitive-decl-change-3.cppm
Log Message:
-----------
[C++20] [Modules] Add a test
A test from a regression in the downstream.
The test should be always good.
Commit: 618e8b9a708ed037ec90c495890344046d78e5bf
https://github.com/llvm/llvm-project/commit/618e8b9a708ed037ec90c495890344046d78e5bf
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[lldb] Avoid unnecessary statusline redraw in HandleProgressEvent
There's no need to call RedrawStatusline from HandleProgressEvent. The
statusline gets redraw after handling all events, including progress
events, in the default event handler loop.
Commit: 55b95151d2a618b12156730962e109b3d5fa67b1
https://github.com/llvm/llvm-project/commit/55b95151d2a618b12156730962e109b3d5fa67b1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-26 (Wed, 26 Mar 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Avoid flickering by not clearing the statusline when redrawing
When redrawing the statusline, the current implementation would clear
the current line before drawing the new content. Since we always
overwrite the whole statusline from beginning to end, there's no need to
clear it and we can avoid the potential for flickering.
Commit: ad51368881bb828dbc0f0c42d7617ac860ec5e04
https://github.com/llvm/llvm-project/commit/ad51368881bb828dbc0f0c42d7617ac860ec5e04
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.experimental.constrained.sitofp intrinsics (#133166)
https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-sitofp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 9438694a54186ee6173c93d3a662d1a42383bece
https://github.com/llvm/llvm-project/commit/9438694a54186ee6173c93d3a662d1a42383bece
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] Add llvm.intr.ldexp operation (#133070)
https://llvm.org/docs/LangRef.html#llvm-ldexp-intrinsic
Commit: 2df25a47339c38875476e559d80b225dfe07ff02
https://github.com/llvm/llvm-project/commit/2df25a47339c38875476e559d80b225dfe07ff02
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/fold_bitcast_md_range.ll
Log Message:
-----------
Invalidate range metadata when folding bitcast into load (#133095)
Commit: 6294325a535d8042a667ccfb4400a9f63e1bee63
https://github.com/llvm/llvm-project/commit/6294325a535d8042a667ccfb4400a9f63e1bee63
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
[MIPS] Define SubTargetFeature for i6500 cpu (#132907)
PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:
+i6500' is not a recognized feature for this target (ignoring feature)
This PR fixes above issue by defining separate SubTargetFeature for
i6500.
Commit: b8a0558dea942b40f6cdcfaf9b6ba62d4140d693
https://github.com/llvm/llvm-project/commit/b8a0558dea942b40f6cdcfaf9b6ba62d4140d693
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a regression on annotating template angles (#132885)
Annotate the angles in `A<B != A>B` as template opener/closer as it's
unlikely that they are less/greater-than operators in this context.
Fix #132248
Commit: 05fb8408de23c3ccb6125b6886742177755bd757
https://github.com/llvm/llvm-project/commit/05fb8408de23c3ccb6125b6886742177755bd757
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
Log Message:
-----------
[clang-format] Allow `Language: Cpp` for C files (#133033)
Fix #132832
Commit: 58a0c9570c69ecdf23e998637d2b82cfa455bf14
https://github.com/llvm/llvm-project/commit/58a0c9570c69ecdf23e998637d2b82cfa455bf14
Author: Djordje Todorovic <djordje.todorovic at htecgroup.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
R clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
Revert "[MIPS] Define SubTargetFeature for i6500 cpu" (#133215)
Reverts llvm/llvm-project#132907 due to some test failures.
Commit: f15924d1d1310527d7d78e8c66655e6b94bc241b
https://github.com/llvm/llvm-project/commit/f15924d1d1310527d7d78e8c66655e6b94bc241b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/AST/NestedNameSpecifier.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFC.
Commit: 1715386e809eb9f24ed7d874b2f309853d5d8950
https://github.com/llvm/llvm-project/commit/1715386e809eb9f24ed7d874b2f309853d5d8950
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Fix MSVC signed/unsigned comparison warning. NFC.
Commit: db98e2922f0121f2c6fb3d6f42b40f9774f9a563
https://github.com/llvm/llvm-project/commit/db98e2922f0121f2c6fb3d6f42b40f9774f9a563
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_acosh.h
A libclc/clc/include/clc/math/clc_asinh.h
A libclc/clc/include/clc/math/clc_atanh.h
A libclc/clc/include/clc/math/clc_ep_log.h
A libclc/clc/include/clc/math/clc_ep_log.inc
A libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acosh.cl
A libclc/clc/lib/generic/math/clc_acosh.inc
A libclc/clc/lib/generic/math/clc_asinh.cl
A libclc/clc/lib/generic/math/clc_asinh.inc
A libclc/clc/lib/generic/math/clc_atanh.cl
A libclc/clc/lib/generic/math/clc_atanh.inc
A libclc/clc/lib/generic/math/clc_ep_log.cl
A libclc/clc/lib/generic/math/clc_ep_log.inc
A libclc/clc/lib/generic/math/clc_log1p.cl
A libclc/clc/lib/generic/math/clc_log1p.inc
A libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/atanh.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_rootn.cl
R libclc/generic/lib/math/ep_log.cl
R libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move log1p/asinh/acosh/atanh to the CLC library (#132956)
These four functions all related in that they share tables and helper
functions. Furthermore, the acosh and atanh builtins call log1p.
As with other work in this area, these builtins are now vectorized. To
enable this, there are new table accessor functions which return a
vector of table values using a vector of indices. These are internally
scalarized, in the absence of gather operations. Some tables which were
tables of multiple entries (e.g., double2) are split into two separate
"low" and "high" tables. This might affect the performance of memory
operations but are hopefully mitigated by better codegen overall.
Commit: 00c527abab3dfea5f3122f8151d69e77655eb033
https://github.com/llvm/llvm-project/commit/00c527abab3dfea5f3122f8151d69e77655eb033
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
A llvm/test/Transforms/Coroutines/coro-spill-suspend.ll
Log Message:
-----------
[Coro] Allow spilling @llvm.coro.suspend() to the coro frame (#133088)
It was excluded from spilling in a263a60, possibly by accident.
In the linked bug, we hit a situation like this:
```
%s = call @llvm.coro.suspend(...)
|
switch (%s)
case v1: / \ case v2:
... ...
| suspend point
| ...
\ /
%x = phi [v1] [v2]
|
...
|
use(%x)
```
Instcombine will notice that %x correlates exactly with %s, and so
use(%x) becomes use(%s).
However, corosplit would substitute different values for %s when
splitting the function, so even though %s had a particular value when
control actually passed through the switch, it could have a *different*
value when reaching use(%s).
This illustrates that while IR from the frontend typically does not use
these suspend return values across suspend points, mid-level
optimizations on the presplit coroutine may introduce new uses of
suspend values, so they must be considered eligible to spill to the
coroutine frame.
Fixes: #130326
Commit: f7a3334016580d4e69134b574b8b4081d348ff83
https://github.com/llvm/llvm-project/commit/f7a3334016580d4e69134b574b8b4081d348ff83
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-movmsk-avx.ll
M llvm/test/CodeGen/X86/combine-sdiv.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
Log Message:
-----------
[X86] SimplifyDemandedBitsForTargetNode - add X86ISD::BLENDI handling (#133102)
Commit: 99ec6f8aecc5d4ae8ff2ae6bebe8d670562c19df
https://github.com/llvm/llvm-project/commit/99ec6f8aecc5d4ae8ff2ae6bebe8d670562c19df
Author: WÁNG Xuěruì <git at xen0n.name>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
A llvm/test/MC/LoongArch/Misc/no-aliases.s
Log Message:
-----------
[LoongArch][MC] Add support for disassembly option "no-aliases" (#132900)
This parallels the GNU Binutils feature's usage. A hidden command-line
option `--loongarch-no-aliases` is also added, similar to how
`--loongarch-numeric-reg` is for the `numeric` option.
Commit: d7cea2b18717f0cc31b7da4a03f772d89ee201db
https://github.com/llvm/llvm-project/commit/d7cea2b18717f0cc31b7da4a03f772d89ee201db
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
[lldb] Remove UnwindPlan::Row shared_ptrs (#132370)
The surrounding code doesn't use them anymore. This removes the internal
usages.
This patch makes the Rows actual values. An alternative would be to make
them unique_ptrs. That would make vector resizes faster at the cost of
more pointer chasing and heap fragmentation. I don't know which one is
better so I picked the simpler option.
Commit: 71d54cd4f1cc5233437f25479166e4659fbe2e53
https://github.com/llvm/llvm-project/commit/71d54cd4f1cc5233437f25479166e4659fbe2e53
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Symbol/Function.cpp
Log Message:
-----------
[lldb] Remove (deprecated) Function::GetAddressRange (#132923)
All uses have been replaced by GetAddressRange*s* or GetAddress.
Also fix two internal uses of the range member.
Commit: 491d3dfc761e3a03c6bd187533f4684d6864a8cb
https://github.com/llvm/llvm-project/commit/491d3dfc761e3a03c6bd187533f4684d6864a8cb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (#133083)
If the broadcast is already the full vector width, try to prefer a blend over a vector insertion which is usually a lower latency (and sometimes a lower uop count).
Commit: 8abca171c3346eb7c889354d9b2288ad2b7e1504
https://github.com/llvm/llvm-project/commit/8abca171c3346eb7c889354d9b2288ad2b7e1504
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__cstddef/byte.h
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__fwd/byte.h
M libcxx/include/__new/align_val_t.h
M libcxx/include/__new/destroying_delete_t.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__new/nothrow_t.h
M libcxx/include/any
M libcxx/include/typeinfo
M libcxx/include/variant
Log Message:
-----------
[libc++] Introduce unversioned namespace macros (#133009)
We've started using `_LIBCPP_BEGIN_NAMESPACE_STD` and
`_LIBCPP_END_NAMESPACE_STD` for more than just the namespace for a while
now. For example, we're using it to add visibility annotations to types.
This works very well and avoids a bunch of annotations, but doesn't work
for the few places where we have an unversioned namespace. This adds
`_LIBCPP_BEGIN_UNVERSIONED_NAMESPACE_STD` and
`_LIBCPP_END_UNVERSIONED_NAMESPACE_STD` to make it simpler to add new
annotations consistently across the library as well as making it more
explicit that the unversioned namespace is indeed intended.
Commit: 6c2171672f03356835c534a0ec18250233ea66db
https://github.com/llvm/llvm-project/commit/6c2171672f03356835c534a0ec18250233ea66db
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Fix gcc signed/unsigned comparison warning. NFC.
Commit: 3284559cca4bc64e78e8243bb34195216e8979ee
https://github.com/llvm/llvm-project/commit/3284559cca4bc64e78e8243bb34195216e8979ee
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_atan2.h
A libclc/clc/include/clc/math/clc_atan2pi.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_atan2.cl
A libclc/clc/lib/generic/math/clc_atan2.inc
A libclc/clc/lib/generic/math/clc_atan2pi.cl
A libclc/clc/lib/generic/math/clc_atan2pi.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move atan2/atan2pi to the CLC library (#133226)
As with other work in this area, these builtins are now vectorized.
A further table has been split into two. There was discrepancy between
comments above the table describing the values as "lead" and "tail" and
variables taken from the table called "head" and "tail", so these have
been unified as head/tail.
Commit: 6c56a842b73cf2046b9ab8cf077890e11b758373
https://github.com/llvm/llvm-project/commit/6c56a842b73cf2046b9ab8cf077890e11b758373
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
Log Message:
-----------
[clang][CodeGen] Generate follow-up metadata for loops in correct format (#131985)
When pragma of loop transformations is specified, follow-up metadata for
loops is generated after each transformation. On the LLVM side,
follow-up metadata is expected to be a list of properties, such as the
following:
```
!followup = !{!"llvm.loop.vectorize.followup_all", !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
However, on the clang side, the generated metadata contains an MDNode
that has those properties, as shown below:
```
!followup = !{!"llvm.loop.vectorize.followup_all", !loop_id}
!loop_id = distinct !{!loop_id, !mp, !isvectorized}
!mp = !{!"llvm.loop.mustprogress"}
!isvectorized = !{"llvm.loop.isvectorized"}
```
According to the
[LangRef](https://llvm.org/docs/TransformMetadata.html#transformation-metadata-structure),
the LLVM side is correct. Due to this inconsistency, follow-up metadata
was not interpreted correctly, e.g., only one transformation is applied
when multiple pragmas are used.
This patch fixes clang side to emit followup metadata in correct format.
Commit: 1a140820ab6962a387eeec17ebe669c724822c49
https://github.com/llvm/llvm-project/commit/1a140820ab6962a387eeec17ebe669c724822c49
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Have GPRMem on the correct operand in QCIRVInstESStore (#133042)
It should be on rs1 and not rs2.
Commit: a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
https://github.com/llvm/llvm-project/commit/a9672515ce6b8b1bc6976ed1225f4fb4d53fa381
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
Log Message:
-----------
[Clang] Correct the DeclRefExpr's Type after the initializer gets instantiated (#133212)
The instantiation of a VarDecl's initializer might be deferred until the
variable is actually used. However, we were still building the
DeclRefExpr with a type that could later be changed by the initializer's
instantiation, which is incorrect when incomplete arrays are involved.
Fixes #79750
Fixes #113936
Fixes #133047
Commit: 39e7efe1e4304544289d8d1b45f4d04d11b4a791
https://github.com/llvm/llvm-project/commit/39e7efe1e4304544289d8d1b45f4d04d11b4a791
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/unittests/Host/HostTest.cpp
Log Message:
-----------
[lldb] Respect LaunchInfo::SetExecutable in ProcessLauncherPosixFork (#133093)
Using argv[0] for this was incorrect. I'm ignoring LaunchInfo::SetArg0,
as that's what darwin and windows launchers do (they use the first
element of the args vector instead).
I picked up the funny unit test re-exec method from the llvm unit tests.
Commit: a6e56162c251db180f4618202c8088acba311ce8
https://github.com/llvm/llvm-project/commit/a6e56162c251db180f4618202c8088acba311ce8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
Log Message:
-----------
[RISCV] Modify operand regclass in load store patterns (#133071)
$rs1 is defined as GPRMem in the correspoding instruction definition
classes.
Commit: 17aca79d98d92510d131c4766a040b02adf6c4b8
https://github.com/llvm/llvm-project/commit/17aca79d98d92510d131c4766a040b02adf6c4b8
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindTable.cpp
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
Log Message:
-----------
[lldb] Teach FuncUnwinders about discontinuous functions (#133072)
The main change here is that we're now able to correctly look up plans
for these functions. Previously, due to caching, we could end up with
one entry covering most of the address space (because part of the
function was at the beginning and one at the end). Now, we can correctly
recognise that the part in between does not belong to that function, and
we can create a different FuncUnwinders instance for it. It doesn't help
the discontinuous function much (its plan will still be garbled), but
we can at least properly unwind out of the simple functions in between.
Fixing the unwind plans for discontinuous functions requires handling
each unwind source specially, and this setup allows us to make the
transition incrementally.
Commit: ac09b789d8add7325fbf95d0feeb03a29de79b5c
https://github.com/llvm/llvm-project/commit/ac09b789d8add7325fbf95d0feeb03a29de79b5c
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/IR/SCFOps.td
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][scf] Remove redundant ensureTerminator for `scf.forall` (#133081)
The override function `ensureTerminator` ensures that the terminator
`InParallelOp` has a region. However, if the terminator of `scf.forall`
is not an `InParallelOp`, calling ensureTerminator causes a crash. Since
the InParallelOp builder already guarantees the existence of a region,
`ForallOp::ensureTerminator` is redundant and can be safely removed.
Fixes #130019.
Commit: 17d05695388128353662fbb80bbb7a13d172b41d
https://github.com/llvm/llvm-project/commit/17d05695388128353662fbb80bbb7a13d172b41d
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__configuration/availability.h
M libcxx/include/__functional/hash.h
M libcxx/include/__string/char_traits.h
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/src/functional.cpp
Log Message:
-----------
[libc++] Instantiate hash function externally (#127040)
This has multiple benefits:
- There is a single instance of our hash function, reducing object file
size
- The hash implementation isn't instantiated in every TU anymore,
reducing compile times
- Behind an ABI configuration macro it would be possible to salt the
hash
Commit: d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
https://github.com/llvm/llvm-project/commit/d0aa1f9c43a4a5709e060aea6c844bdcc70bcd0e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/hip-toolchain-rdc.hip
M libc/startup/gpu/CMakeLists.txt
Log Message:
-----------
[Clang] Make `--lto-partitions` only default for HIP (#133164)
Summary:
The default behavior for LTO on other targets does not specify the
number of LTO partitions. Recent changes made this default to 8 on
AMDGPU which had some issues with the `libc` project. The option to
disable this is HIP only so I think for now we should restrict this just
to HIP.
I'm definitely on board with getting some more parallelism here, but I
think it should probably be restricted to just offloading languages. The
new driver goes through the `--target=amdgcn-amd-amdhsa` for its output,
which means we'd need to forward the default somehow.
Commit: 8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
https://github.com/llvm/llvm-project/commit/8fdfe3f2a752b5886faf88c96ce61a0465f7dc9b
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__algorithm/min_element.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
Log Message:
-----------
[libc++] Refactor ranges::{min, max, min_element, max_element} to use std::__min_element (#132418)
Previously, ranges::min_element delegated to ranges::__min_element_impl, which
duplicated the definition of std::__min_element. This patch updates
ranges::min_element to directly call std::__min_element, which allows
removing the redundant code in ranges::__min_element_impl.
Upon removal of ranges::__min_element_impl, the other ranges algorithms
ranges::{min,max,max_element}, which previously delegated to ranges::__min_element_impl,
have been updated to call std::__min_element instead.
This refactoring unifies the implementation across these algorithms,
ensuring that future optimizations or maintenance work only need to be
applied in one place.
Commit: 27a437108be83b217d9b7b8360fc40d42ae4458b
https://github.com/llvm/llvm-project/commit/27a437108be83b217d9b7b8360fc40d42ae4458b
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/fpextend.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
Log Message:
-----------
[InstCombine] Handle scalable splats of constants in getMinimumFPType (#132960)
We previously handled ConstantExpr scalable splats in
5d929794a87602cfd873381e11cc99149196bb49, but only fpexts.
ConstantExpr fpexts have since been removed, and simultaneously we
didn't handle splats of constants that weren't extended.
This updates it to remove the fpext check and instead see if we can
shrink the result of getSplatValue.
Note that the test case doesn't get completely folded away due to
#132922
Commit: b9666cf2034e103ef28280fae61f43fae7e28192
https://github.com/llvm/llvm-project/commit/b9666cf2034e103ef28280fae61f43fae7e28192
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
Log Message:
-----------
[RISCV] Reverse the order of Base and Offset in Core-V RegReg operand. (#133209)
This puts the base before the offset to match the order we use for base
ISA where the offset is an immediate.
I'm investigating using sub-operands for the base ISA loads and stores
too so having a consistent operand order will allow more sharing.
Commit: 427ce92ea61c5ea96a60aa505aa7b1de56571fa3
https://github.com/llvm/llvm-project/commit/427ce92ea61c5ea96a60aa505aa7b1de56571fa3
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libcxx/include/__filesystem/operations.h
Log Message:
-----------
[libc++][NFC] Move dylib function in <__filesystem/operations.h> together
Most of the dylib functions inside `<__filesystem/operations.h>` are at
the top of the file. There are a few spread out in the file for some
reason, which this patch fixes.
Commit: bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
https://github.com/llvm/llvm-project/commit/bc7e3915e1a0a4e859115dec38c3fdff5e43fcf7
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][NVGPU] Add `mbarrier.get` Op (#133221)
The `mbarrier.create` op can create multiple mbarrier objects, and other
mbarrier-related ops can access an mbarrier using a dynamic SSA value.
This is especially useful when using mbarriers in dynamic loops.
This PR adds the `mbarrier.get` op, which returns a pointer to a
specific mbarrier object from a group of barriers created by the
nvgpu.mbarrier.create operation. It is useful when composing the NVGPU
and NVVM dialects.
Example:
```
%mbars = nvgpu.mbarrier.create
-> !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>, num_barriers = 10>
%mbar_pointer = nvgpu.mbarrier.get %mbars[%c2]
: !nvgpu.mbarrier.group<memorySpace = #gpu.address_space<workgroup>>
-> i32
```
Commit: 38d9a445106cba09854d9d00050a20f6faa4dd0b
https://github.com/llvm/llvm-project/commit/38d9a445106cba09854d9d00050a20f6faa4dd0b
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
Log Message:
-----------
[MLIR][NVGPU] Add `tma.fence.descriptor` OP (#133218)
When the TMA descriptor is transferred from host memory to global memory
using cudaMemcpy, each thread block must insert a fence before any
thread accesses the updated tensor map in global memory. Once the tensor
map has been accessed, no additional fences are needed by that block
unless the map is modified again.
[Example from cuda programming
guide](https://docs.nvidia.com/cuda/cuda-c-programming-guide/#using-tma-to-transfer-multi-dimensional-arrays).
The `tma.fence.descriptor` basically implements
`ptx::fence_proxy_tensormap_generic`.
```
#include <cuda.h>
#include <cuda/ptx>
namespace ptx = cuda::ptx;
__device__ CUtensorMap global_tensor_map;
__global__ void kernel(CUtensorMap *tensor_map)
{
// Fence acquire tensor map:
ptx::n32_t<128> size_bytes;
// Since the tensor map was modified from the host using cudaMemcpy,
// the scope should be .sys.
ptx::fence_proxy_tensormap_generic(
ptx::sem_acquire, ptx::scope_sys, tensor_map, size_bytes
);
// Safe to use tensor_map after fence inside this thread..
}
int main() {
CUtensorMap local_tensor_map;
// [ ..Initialize map.. ]
cudaMemcpy(&global_tensor_map, &local_tensor_map, sizeof(CUtensorMap), cudaMemcpyHostToDevice);
kernel<<<1, 1>>>(global_tensor_map);
}
```
Commit: ba1d9019675d6a215626104f726d151c622619f5
https://github.com/llvm/llvm-project/commit/ba1d9019675d6a215626104f726d151c622619f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/GlobalISel/instruction-select/itofp-rv32.mir
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/frm-dependency.ll
Log Message:
-----------
[RISCV] Set mayRaiseFPException = 0 on FCVT_D_W(U). (#133200)
The input is an integer which can't be NAN so the NV(invalid) exception
can't be raised. The conversion is exact so it can't raise NX(inexact),
UF(underflow), or OF(overflow). The instructions are not divide so they
can't raise DZ(divide by zero).
Fixes #133192.
Commit: cde58bfc16d46417e55bb4d7614631ac84b72cc0
https://github.com/llvm/llvm-project/commit/cde58bfc16d46417e55bb4d7614631ac84b72cc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.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/SandboxVectorizer/Legality.cpp
Log Message:
-----------
[Transforms] Use range constructors of *Set (NFC) (#133203)
Commit: 7cc17fb08597bc08ca37c90ed17981d884940e33
https://github.com/llvm/llvm-project/commit/7cc17fb08597bc08ca37c90ed17981d884940e33
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/unittests/ADT/SmallSetTest.cpp
Log Message:
-----------
[ADT] Remove old range constructors of SmallSet and StringSet (#133205)
This patch removes the old range constructors of SmallSet and
StringSet that do not take the llvm::from_range tag. Since there are
so few uses, this patch directly removes them without going through
the deprecation process.
Commit: d32e71d7c732c37fd28241b85f501d7a192aa22c
https://github.com/llvm/llvm-project/commit/d32e71d7c732c37fd28241b85f501d7a192aa22c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fmod.cl
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move fmod, remainder & remquo to the CLC library (#132054)
These functions were already nominally in the CLC namespace; this commit
just formally moves them over.
Note that 'half' versions of these CLC functions are now provided.
Previously the corresponding OpenCL builtins would forward directly to
the 'float' versions of the CLC builtins. Now the OpenCL builtins call
the 'half' CLC builtins, which themselves call the 'float' CLC versions.
This keeps the interface between the OpenCL and CLC libraries neater and
keeps the CLC library self-contained.
No changes to the generated code for non-SPIR-V targets is observed.
Commit: b38c23b4c199221af9e043041f2e594ec1e3745b
https://github.com/llvm/llvm-project/commit/b38c23b4c199221af9e043041f2e594ec1e3745b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
Log Message:
-----------
[RISCV] Update two autogen tests to reduce spurious diffs [NFC]
Commit: 8742022ec74c54f1415707261ccc2054a3decd5f
https://github.com/llvm/llvm-project/commit/8742022ec74c54f1415707261ccc2054a3decd5f
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
Log Message:
-----------
[RISCV] Canonicalize foldable branch conditions in optimizeCondBranch (#132988)
optimizeCondBranch isn't allowed to modify the CFG, but it can rewrite
the branch condition freely. However, If we could fold a conditional
branch to an unconditional one (aside from that restriction), we can
also rewrite it into some canonical conditional branch instead.
Looking at the diffs, the only cases this catches in tree tests are
cases where we could have constant folded during lowering from IR, but
didn't. This is inspired by trying to salvage code from
https://github.com/llvm/llvm-project/pull/131684 which might be useful.
Given the test impact, it's of questionable merits. The main advantage
over only the late cleanup pass is that it kills off the LIs for the
constants early - which can help e.g. register allocation.
Commit: a8575b3ea84fa308a63f8ced18453d2df58e75ef
https://github.com/llvm/llvm-project/commit/a8575b3ea84fa308a63f8ced18453d2df58e75ef
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (#133130)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a
vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded
elts across all users and call SimplifyDemandedVectorElts in
"AssumeSingleUse" use.
Commit: 0ae6185b455876b98cf58888117e3043cb43d060
https://github.com/llvm/llvm-project/commit/0ae6185b455876b98cf58888117e3043cb43d060
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-emergency-slot.mir
M llvm/test/CodeGen/RISCV/rvv/large-rvv-stack-size.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv32.mir
M llvm/test/CodeGen/RISCV/rvv/wrong-stack-slot-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Manually update MIR inputs to reflect #79e82b6
Since we've changed what get's generated, we should update the snapshots
of MIR. Otherwise, we end up testing configurations which are no longer
possible from codegen.
Commit: 59d06071e9b509e874f24c465b13eb77cffa1d42
https://github.com/llvm/llvm-project/commit/59d06071e9b509e874f24c465b13eb77cffa1d42
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/new-prs-labeler.yml
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
Log Message:
-----------
[NFC][HLSL] Move emitter out of AMDGPU.cpp (#133251)
- Move all HLSL code out of AMDGPU.cpp to CGHLSLBuiltins.cpp
- Fixes accidental reorganization of HLSL code into AMDGPU caused by
(https://github.com/llvm/llvm-project/pull/132252,
https://github.com/llvm/llvm-project/commit/7f920e2e5f70b)
Commit: 64178316cf8b85525874b5a33e412f83d8542a5e
https://github.com/llvm/llvm-project/commit/64178316cf8b85525874b5a33e412f83d8542a5e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 59d06071e9b5
Commit: e5ec87f3b6816086563e39ac1f4c4f77064fba6d
https://github.com/llvm/llvm-project/commit/e5ec87f3b6816086563e39ac1f4c4f77064fba6d
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/asan/asan_rtl.cpp
Log Message:
-----------
[asan] Print diagnostic if unlimited stack size detected (#133170)
This adds a diagnostic message if the stack size is unlimited. This would have simplified the diagnosis of https://github.com/google/sanitizers/issues/856#issuecomment-2747076811; we anticipate this may help diagnose future issues too.
Commit: 3a5d77608baf6dac9792f4d156196a7042e894ff
https://github.com/llvm/llvm-project/commit/3a5d77608baf6dac9792f4d156196a7042e894ff
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M libc/config/linux/aarch64/headers.txt
M libc/src/__support/OSUtil/linux/CMakeLists.txt
Log Message:
-----------
[libc] Update headers on aarch64 (#133180)
The entrypoints for aarch64 are mostly up to date, but the headers are
not. This patch fixes that, and also makes explicit the dependency from
OSUtils/linux on sys/syscalls.h
Commit: f612d705252dbf16265649ae5155d51b4c569182
https://github.com/llvm/llvm-project/commit/f612d705252dbf16265649ae5155d51b4c569182
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
Log Message:
-----------
[HLSL] Add new int overloads for math builtins (#133162)
Add int overloads which cast the various ints to a float and call the
float builtin.
These overloads are conditional on hlsl version 202x or earlier.
Add tests and puts tests in own files, including some of the tests added
for double overloads.
Closes #128229
Commit: 82c078c54d16b20c65d5e361f5da58b0b83c8c47
https://github.com/llvm/llvm-project/commit/82c078c54d16b20c65d5e361f5da58b0b83c8c47
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/include/__configuration/compiler.h
Log Message:
-----------
[libc++] Remove official Clang 18 support. (#130142)
Since Clang 20 has been release we no longer support Clang 18 per our
policy.
Note the Clang 18 workarounds will be removed in a follow-up patch.
Commit: 85c54a519fa6856b3e9a462445633ed4535eafa4
https://github.com/llvm/llvm-project/commit/85c54a519fa6856b3e9a462445633ed4535eafa4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/UsersManual.rst
M clang/www/c_status.html
Log Message:
-----------
[Docs] Document freestanding requirements (#132232)
This adds some initial documentation about freestanding requirements for
Clang. The most critical part of the documentation is spelling out that
a conforming freestanding C Standard Library is required; Clang will not
be providing the headers for <string.h> in C23 which expose a number of
symbols in freestanding mode.
The docs also make it clear that in addition to a conforming
freestanding C standard library, the library must provide some
additional symbols which LLVM requires.
These docs are not comprehensive, this is just getting the bare bones in
place so that they can be expanded later.
This also updates the C status page to make it clear that we don't have
anything to do for WG14 N2524 which adds string interfaces to
freestanding mode.
Commit: 08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
https://github.com/llvm/llvm-project/commit/08bb0b86dc8d8047fc5ef3180ae6388605c4d0c6
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/simplify-condbr.ll
Log Message:
-----------
[RISCV] Add test case for PR #133256
Commit: 00c43ae23524d72707701620da89ad248393a8e4
https://github.com/llvm/llvm-project/commit/00c43ae23524d72707701620da89ad248393a8e4
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/Type.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/TokenKinds.def
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/www/c_status.html
Log Message:
-----------
[C2y] Implement WG14 N3369 and N3469 (_Countof) (#133125)
C2y adds the `_Countof` operator which returns the number of elements in
an array. As with `sizeof`, `_Countof` either accepts a parenthesized
type name or an expression. Its operand must be (of) an array type. When
passed a constant-size array operand, the operator is a constant
expression which is valid for use as an integer constant expression.
This is being exposed as an extension in earlier C language modes, but
not in C++. C++ already has `std::extent` and `std::size` to cover these
needs, so the operator doesn't seem to get the user enough benefit to
warrant carrying this as an extension.
Fixes #102836
Commit: ae54f476f7d856682976f08622ee70880318a1b1
https://github.com/llvm/llvm-project/commit/ae54f476f7d856682976f08622ee70880318a1b1
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
A clang/test/SemaCXX/concepts-subsumption.cpp
Log Message:
-----------
[Clang] Improve subsumption. (#132849)
The main goal of this patch is to improve the
performance of concept subsumption by
- Making sure literal (atomic) clauses are de-duplicated (Whether 2
atomic constraint is established during the initial normal form
production).
- Eagerly removing duplicated clauses.
This should minimize the risks of exponentially large formulas that can
be produced by a naive {C,D}NF transformation.
While at it, I restructured that part of the code to be a bit clearer.
Subsumption of fold expanded constraint is also cached.
---
Note that removing duplicated clauses seems to be necessary and
sufficient to have acceptable performance on anything that could be
construed as reasonable code.
Ultimately, the number of clauses is always going to be fairly small
(but $2^{fairly\ small}$ is quickly *fairly large*..).
I went too far in the rabbit hole of Tseitin transformations etc, which
was much faster but would then require to check satisfiabiliy to
establish subsumption between some constraints (although it was good
enough to pass all but ones of our tests...).
It doesn't help that the C++ standard has a very specific definition of
subsumption that is really more of an implication...
While that sort of musing is fascinating, it was ultimately a fool's
errand, at least until such time that there is more motivation for a SAT
solver in clang (clang-tidy can after all use z3!).
Here be dragons.
Fixes #122581
Commit: c6406c8dba33d4cf8495257f70f52a21d06245ea
https://github.com/llvm/llvm-project/commit/c6406c8dba33d4cf8495257f70f52a21d06245ea
Author: David Green <david.green at arm.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.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/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.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/sve-intrinsics.ll
Log Message:
-----------
[AArch64] Add getVectorInstrCost Codesize costs handling. (#130946)
We have a lot of missing Codesize costs for vector operations. This
patch starts things off by adding codesize costs for getVectorInstrCost,
returning a single cost instead of the VectorInsertExtractBaseCost
(which is typically 2). Insert of a load are given a cost of 0 as they
use ld1, otherwise the cost is 1.
Commit: 08aedf7201e296af532575685372bb5ff7ed8b01
https://github.com/llvm/llvm-project/commit/08aedf7201e296af532575685372bb5ff7ed8b01
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
A mlir/test/Dialect/LLVMIR/call-param.mlir
M mlir/test/Dialect/LLVMIR/parameter-attrs-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR][LLVM] Lift alignstack attribute ptr type restriction (#133195)
Current usage of alignstack is restricted to LLVM pointer types, whereas
when it's used in parameters it's possible to use it for other types,
see examples like `{i8, i8}, [2 x float], etc` in `llvm/test/CodeGen`.
This PR lifts the restriction and add testcases.
Commit: aa207c3f054abb630be61cd60a11840a5c341c19
https://github.com/llvm/llvm-project/commit/aa207c3f054abb630be61cd60a11840a5c341c19
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/test/tools/llvm-mca/RISCV/SiFiveP500/load.s
Log Message:
-----------
[RISCV] Update the latency of floating point load in SiFive P500 scheduling model (#133165)
P500-series cores should have a floating point load latency closer to 5
cycles, just like P400- and P600-series cores.
Commit: d584cea064003f0c4c96e31a657fab1b2259a5c5
https://github.com/llvm/llvm-project/commit/d584cea064003f0c4c96e31a657fab1b2259a5c5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use TypeSize instead of uint64_t in getMachineMemOperand interface (#133274)
The primary reason is that if you pass a TypeSize without explicitly
converting to LocationSize, you otherwise implicit convert to uint64_t
to call the respective LocationSize constructor. This means that any
scalable value becomes a runtime assertion failure.
By replacing uint64_t with TypeSize in this API, we avoid the implicit
conversion for TypeSize. uint64_t callers implicit convert to
LocationSize (via the raw constructor) which should have unchanged
behavior.
Commit: 4480f26e939304f5aa659b72fe16746dfe96601e
https://github.com/llvm/llvm-project/commit/4480f26e939304f5aa659b72fe16746dfe96601e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/test/C/C2y/n3369_2.c
Log Message:
-----------
Fix failing test case for _Countof
Test just needs an explicit triple that was missed.
Commit: fb993cd2290c0cf71a5192f350adf12424b55890
https://github.com/llvm/llvm-project/commit/fb993cd2290c0cf71a5192f350adf12424b55890
Author: Ariel-Burton <arielburton at yahoo.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/test/Sema/for.c
Log Message:
-----------
Add guard to for loop test clang/test/Sema/for.c (#133169)
Commit 20b7f5982622f includes a case that checks diagnostics for for
loops using thread locals.
This fails on platforms which do not support TLS.
This change adds guards to run this part of the test iff the feature is
supported.
Commit: 8ddbc01295af21b06503f5a376c5572f4ed589c9
https://github.com/llvm/llvm-project/commit/8ddbc01295af21b06503f5a376c5572f4ed589c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Manage FindLastIV start value in ComputeFindLastIVResult (NFC) (#132690)
Keep the start value as operand of ComputeFindLastIVResult. A follow-up
patch will use this to make sure the start value is frozen if needed.
Depends on https://github.com/llvm/llvm-project/pull/132689
PR: https://github.com/llvm/llvm-project/pull/132690
Commit: 1a7af2a90fb043b25cbba15ce941ebfdba0e6717
https://github.com/llvm/llvm-project/commit/1a7af2a90fb043b25cbba15ce941ebfdba0e6717
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][DataLayout] Add `IsolatedFromAbove` to `DataLayoutOpInterface` (#132742)
This patch adds the `IsolatedFromAbove` trait as a dependent trait to
the `DataLayoutOpInterface` op interface.
The motivation behind this change comes from the implementation of the
`ptr` dialect, specifically the `ptr.type_offset` op. This op produces
an int-like value that equates to the size of a memory element. This is
useful for ptr arithmetic and indexing arrays. For example:
```mlir
%f32_off = ptr.type_offset f32 : index
%addr = ptr.ptradd %ptr, %f32_off : !ptr, index
%x = ptr.load %addr : !ptr -> f32 // Read ptr[1]
```
Without the `IsolatedFromAvobe` trait in the DL interface, the
`ptr.type_offset` cannot be `ConstantLike`. Why?
Take the example:
```mlir
op {DL1} {
%f32_off0 = ptr.type_offset f32 : index
op {DL2} {
%f32_off1 = ptr.type_offset f32 : index
}
}
```
If `ptr.type_offset` were to be `ConstantLike` then `canonicalize` would
hoist and unique the value. However, that could be wrong as DL2 could
have an entry to specify the size that's different from the size in DL1.
The best solution to the above problem is to make
`DataLayoutOpInterface` require the `IsolatedFromAbove` trait, as it
preserves the constness of values in the DL with respect to the
canonicalizer.
Commit: c90a536bcff5d4decc330535b6b3de3aeb139811
https://github.com/llvm/llvm-project/commit/c90a536bcff5d4decc330535b6b3de3aeb139811
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
Log Message:
-----------
[CodeGen] Simplify code using TypeSize overloads of getMachineMemOperand [nfc]
These were added in d584cea. This change runs through existing uses and
simplifies where obvious.
Commit: a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
https://github.com/llvm/llvm-project/commit/a2432793ea7d12ecbd424f7ed2c0e36f34a2df24
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[Clang] Add 'Joseph Huber' as offloading driver maintainer (#133296)
Summary:
I am probably the person most familiar with the offloading pipeline in
clang at this point.
Commit: 8bdcd0a96e65557c8c3bf506d186c49002db6463
https://github.com/llvm/llvm-project/commit/8bdcd0a96e65557c8c3bf506d186c49002db6463
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
Log Message:
-----------
[LAA] Add missing test coverage for retrying with runtime checks.
Adds extra test coverage showing change by
https://github.com/llvm/llvm-project/pull/128045.
Commit: 5cb3052ccc5016beff2061a622caed9a4578ba92
https://github.com/llvm/llvm-project/commit/5cb3052ccc5016beff2061a622caed9a4578ba92
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to LLVM 20.1.1
This patch bumps the CI container to the latest LLVM Release and gets rid of
the patch that we were carrying that is in 20.1.1.
Reviewers: tstellar
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132567
Commit: 18172e461cfcc2d8331b95a68ba6b08350149f2b
https://github.com/llvm/llvm-project/commit/18172e461cfcc2d8331b95a68ba6b08350149f2b
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump CI container to ubuntu 24.04
This helps keep things up to date, and should not cause any issues given we do
not need to care about binary compatibility for things built in the CI
container. This patch also changes the name of the container which allows
incrementally moving jobs over after this lands.
Reviewers: tstellar
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132568
Commit: 48864a52ef547ac0477271127b510dd9e9798219
https://github.com/llvm/llvm-project/commit/48864a52ef547ac0477271127b510dd9e9798219
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/source/Symbol/UnwindPlan.cpp
Log Message:
-----------
Revert "[lldb] Remove UnwindPlan::Row shared_ptrs (#132370)" (#133299)
This reverts commit d7cea2b18717f0cc31b7da4a03f772d89ee201db. It causes
crashes in API tests.
Commit: 5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
https://github.com/llvm/llvm-project/commit/5eccd71ce4f852c7b2f06ecd1976d9e34040fcaa
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add assertion ensuring Plan's UF matches BestUF (NFC).
Commit: e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
https://github.com/llvm/llvm-project/commit/e9d517d183b18ef6c94e0d0d10d1ac229a4a6014
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/amdgpu-toolchain.c
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
Log Message:
-----------
[Clang] Handle `-flto-partitions` generically and forward it properly (#133283)
Summary:
The https://github.com/llvm/llvm-project/pull/128509 patch introduced
`--flto-partitions`. This was marked as a HIP only argument, and was
also spelled and handled incorrectly for an `-f` option. This patch
makes the handling generic for `ld.lld` consumers.
This also fixes some issues with emitting the flags being put after the
default arguments, preventing users from overriding them. Also, forwards
things properly for the new driver so we can test this.
Commit: 02b45f4b811afa6f87b36605ae6f767a5dfa5025
https://github.com/llvm/llvm-project/commit/02b45f4b811afa6f87b36605ae6f767a5dfa5025
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[AMDGPU] Add a new function `getIntegerPairAttribute` (#133271)
The new function will return `std::nullopt` when any error occurs.
Commit: ee0009c4e63b299c6d310ed49c60f430947d8f56
https://github.com/llvm/llvm-project/commit/ee0009c4e63b299c6d310ed49c60f430947d8f56
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
Log Message:
-----------
[RISCV] Sort list of files. NFC.
Commit: 2fb53f59c17add00a00e98d92b15cefcfa00f346
https://github.com/llvm/llvm-project/commit/2fb53f59c17add00a00e98d92b15cefcfa00f346
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M llvm/CMakeLists.txt
Log Message:
-----------
[CI] Refactor generate_test_report script
This patch refactors the generate_test_report script, namely turning it
into a proper library, and pulling the script/unittests out into
separate files, as is standard with most python scripts. The main
purpose of this is to enable reusing the library for the new Github
premerge.
Reviewers: tstellar, DavidSpickett, Keenuts, lnihlen
Reviewed By: DavidSpickett
Pull Request: https://github.com/llvm/llvm-project/pull/133196
Commit: a1a5594ad2173be10e3e790fb1dce1a059d32e5b
https://github.com/llvm/llvm-project/commit/a1a5594ad2173be10e3e790fb1dce1a059d32e5b
Author: egebeysel <beyselege at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
Log Message:
-----------
[mlir][arith] add wide integer emulation support for subi (#133248)
Adds wide integer emulation support for the `arith.subi` op. `(i2N, i2N)
-> (i2N)` ops are emulated as `(vector<2xiN>, vector<2xiN>) ->
(vector<2xiN>)`, just as the other emulation patterns.
The emulation uses the following scheme:
```
resLow = lhsLow - rhsLow; // carry = 1 if rhsLow > lhsLow
resHigh = lhsLow - carry - rhsLow;
```
Signed-off-by: Ege Beysel <beysel at roofline.ai>
Commit: 7712de3062b979345fae0b9717796339a70c593b
https://github.com/llvm/llvm-project/commit/7712de3062b979345fae0b9717796339a70c593b
Author: Hubert Tong <hubert.reinterpretcast at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/test/lit.common.cfg.py
Log Message:
-----------
[compiler-rt][tests][AIX] Use /opt/freeware/bin/env (#133160)
`env -u` is not supported by the system `env` utility on AIX.
`/opt/freeware/bin/env` is the standard path for the GNU coreutils `env`
utility as distributed by the AIX Toolbox for Open Source Software.
Adding `/opt/freeware/bin` to `PATH` causes issues by picking up other
utilities that are less capable, in an AIX context, than the system
ones.
This patch modifies the relevant usage of `env` to use (on AIX) the full
path to `/opt/freeware/bin/env`.
Commit: 8244f8210f2e62f68429a0daf104fd483ada45ab
https://github.com/llvm/llvm-project/commit/8244f8210f2e62f68429a0daf104fd483ada45ab
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
Log Message:
-----------
[lldb] Emit progress events in SymbolFileDWARFDebugMap (#133211)
Emit progress events from SymbolFileDWARFDebugMap. Because we know the
number of OSOs, we can show determinate progress. This is based on a
patch from Adrian, and part of what prompted me to look into improving
how LLDB shows progress events. Before the statusline, all these
progress events would get shadowed and never displayed on the command
line.
Commit: 0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
https://github.com/llvm/llvm-project/commit/0d4f12ee0046b83d28dbf3a8aca07a0f27b77786
Author: Matthew Bastien <matthew_bastien at apple.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
Log Message:
-----------
[lldb-dap] Allow providing debug adapter arguments in the extension (#129262)
Added a new setting called `lldb-dap.arguments` and a debug
configuration attribute called `debugAdapterArgs` that can be used to
set the arguments used to launch the debug adapter. Right now this is
mostly useful for debugging purposes to add the `--wait-for-debugger`
option to lldb-dap.
Additionally, the extension will now check for a changed lldb-dap
executable or arguments when launching a debug session in server mode. I
had to add a new `DebugConfigurationProvider` to do this because VSCode
will show an unhelpful error modal when the
`DebugAdapterDescriptorFactory` returns `undefined`.
In order to facilitate this, I had to add two new properties to the
launch configuration that are used by the
`DebugAdapterDescriptorFactory` to tell VS Code how to launch the debug
adapter:
- `debugAdapterHostname` - the hostname for an existing lldb-dap server
- `debugAdapterPort` - the port for an existing lldb-dap server
I've also removed the check for the `executable` argument in
`LLDBDapDescriptorFactory.createDebugAdapterDescriptor()`. This argument
is only set by VS Code when the debug adapter executable properties are
set in the `package.json`. The LLDB DAP extension does not currently do
this (and I don't think it ever will). So, this makes the debug adapter
descriptor factory a little easier to read.
The check for whether or not `lldb-dap` exists has been moved into the
new `DebugConfigurationProvider` as well. This way the extension won't
get in the user's way unless they actually try to start a debugging
session. The error will show up as a modal which will also make it more
obvious when something goes wrong, rather than popping up as a warning
at the bottom right of the screen.
Commit: 7c3ecffe9b23411463919742ad8399f6aa48af4b
https://github.com/llvm/llvm-project/commit/7c3ecffe9b23411463919742ad8399f6aa48af4b
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor.f90
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Dialect/LLVMIR/global.mlir
M mlir/test/Dialect/LLVMIR/invalid.mlir
M mlir/test/Target/LLVMIR/Import/global-variables.ll
M mlir/test/Target/LLVMIR/Import/import-failure.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
M mlir/test/mlir-runner/global-constructors.mlir
Log Message:
-----------
[MLIR][LLVMIR] Add support for the full form of global_{ctor,dtor} (#133176)
Currently only ctor/dtor list and their priorities are supported. This
PR adds support for the missing data field.
Few implementation notes:
- The assembly printer has a fixed form because previous `attr_dict`
will sort the dict by key name, making global_dtor and global_ctor
differ in the order of printed arguments.
- LLVM's `ptr null` is being converted to `#llvm.zero` otherwise we'd
have to create a region to use the default operation conversion from
`ptr null`, which is silly given that the field only support null or a
symbol.
Commit: 57e5b82e8cf4b892ce023c37c9f6053c15c582a5
https://github.com/llvm/llvm-project/commit/57e5b82e8cf4b892ce023c37c9f6053c15c582a5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lld/MachO/SyntheticSections.cpp
M lld/test/MachO/icf-safe-thunks-dwarf.ll
Log Message:
-----------
[lld-macho] Fix STABS entries for `--icf=safe_thunks` and `--keep-icf-stabs` (#133179)
When using the linker flags `--icf=safe_thunks` and `--keep-icf-stabs`
together, an issue arises with the STABS debugging entries in the linked
output. The problem affects STABS entries for functions that are folded
via ICF using thunks.
For instance, if `func1` is merged into `func2` through a thunk, the
STABS entry for `func1` incorrectly points to the object file of
`func2`. This is incorrect behavior—each function’s STABS entry should
consistently point to its own original object file (e.g., the STABS
entry for `func1` should reference `func1`’s object file). This issue
causes `dsymutil` to not be able to retrieve the debug information for
the problematic function.
This patch corrects this behavior - making it so that STABS entries
always point to the correct object file.
Commit: 5c26e80e57eba912cc7eb47b1a33afa46c1526e5
https://github.com/llvm/llvm-project/commit/5c26e80e57eba912cc7eb47b1a33afa46c1526e5
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/fully-unrolled-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-op-cost.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-icmpcost.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-small-size.ll
Log Message:
-----------
[LV] Make cost model tests independent of VPValue numbers.
Update tests to not rely on hard-coded VPValue numbers.
Commit: 2a96beca9b502776d5e2a3be2da3f886135b056e
https://github.com/llvm/llvm-project/commit/2a96beca9b502776d5e2a3be2da3f886135b056e
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Core/Debugger.cpp
Log Message:
-----------
[SBProgress][CLI] Configure sbprogress events to be emitted for the CLI (#133309)
In the original SBProgress patch, #123837, I didn't ensure the debugger
was broadcasting these events to the CLI as SBProgress has far been
focused on DAP. We had an internal ask to have SBProgress events
broadcasted to the CLI so this patch addresses that.
<img width="387" alt="image"
src="https://github.com/user-attachments/assets/5eb93a46-1db6-4d46-a6b7-2b2f9bbe71db"
/>
Commit: 1d9d4651df9490360a883f4479a90de5bcab0a71
https://github.com/llvm/llvm-project/commit/1d9d4651df9490360a883f4479a90de5bcab0a71
Author: Alexander Weinrauch <alexander.weinrauch at amd.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[MLIR][ROCDL] Enable AliasAnalysis for GlobalLoadLds and LDS_Read_Tr (#133255)
Enables AliasAnalysis for `GlobalLoadLds` and `LDS_Read_Tr`. All other
memory related ROCDL Ops have this already enabled.
Commit: f2849fe05f03f06bef1384e7dbb9b6f296cf36ab
https://github.com/llvm/llvm-project/commit/f2849fe05f03f06bef1384e7dbb9b6f296cf36ab
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
Fix RemoveDeadValues: Bail out early when there are no terminators (#133316)
Fixes: #131765
Commit: 10f983aebbb3a27c122b2a0f0ba9f2c809f1c8b9
https://github.com/llvm/llvm-project/commit/10f983aebbb3a27c122b2a0f0ba9f2c809f1c8b9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
Log Message:
-----------
[RISCV] Remove ParserMatchClass and DecoderMethod from an operand only used by pseudos. NFC
Commit: 52975d5c9fd524ab82dae16d8ef6890708c40fae
https://github.com/llvm/llvm-project/commit/52975d5c9fd524ab82dae16d8ef6890708c40fae
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/UpliftWhileToFor.cpp
M mlir/test/Dialect/SCF/uplift-while.mlir
Log Message:
-----------
[mlir][scf] Allow different forwarding ordering in uplift
- Allow 'before' arguments are forwarded in different order to 'after'
body when uplifting `scf.while` to `scf.for`.
Commit: 01e505b9922485514d4e1f9a26c390d0e7a71bf4
https://github.com/llvm/llvm-project/commit/01e505b9922485514d4e1f9a26c390d0e7a71bf4
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
Log Message:
-----------
[clang-tidy][misc-const-correctness] fix fp when using const array type. (#133018)
Fixed: #132931
const array is immutable in C/C++ language design, we don't need to
check constness for it.
Commit: d8e44a9ab2901eee7cd0440b62722eb01cac94d7
https://github.com/llvm/llvm-project/commit/d8e44a9ab2901eee7cd0440b62722eb01cac94d7
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/bfloat-br-fcmp.ll
M llvm/test/CodeGen/RISCV/branch_zero.ll
M llvm/test/CodeGen/RISCV/double-br-fcmp.ll
M llvm/test/CodeGen/RISCV/float-br-fcmp.ll
M llvm/test/CodeGen/RISCV/half-br-fcmp.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
Log Message:
-----------
[RISCV] Add late optimization pass for riscv (#133256)
This patch is an alternative to PRs #117060, #131684, #131728.
The patch adds a late optimization pass that replaces conditional
branches that can be statically evaluated with an unconditinal branch.
Adding Michael as a co-author as most of the code that evaluates the
condition comes from #131684.
Co-authored-by: Michael Maitland michaeltmaitland at gmail.com
Commit: 50ea777e40dd0732fe08457d6326db538f0369b0
https://github.com/llvm/llvm-project/commit/50ea777e40dd0732fe08457d6326db538f0369b0
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Other/time-passes.ll
M llvm/tools/opt/NewPMDriver.cpp
Log Message:
-----------
[opt][timers] Fix time-passes.ll test failing on reversed iterators (#131941)
After https://github.com/llvm/llvm-project/pull/131217 was submitted,
time-passes.ll fails because `opt` prints `-time-report` when
`ManagedTimerGlobals` is destroyed. `ManagedTimerGlobals` stores
`TimerGroup`s in an unordered map, so the ordering of the output
`TimerGroup`s depends on the underlying iterator.
To fix this, we do what Clang does and use
`llvm::TimerGroup::printAll(...)`, which *is* deterministic. This is
also what Clang does. This does put move analysis section before the
pass section for `-time-report`, but again, this is also what Clang
currently does.
Commit: 5b7fd708fe792331baeade8b8d736c1d5310e0ee
https://github.com/llvm/llvm-project/commit/5b7fd708fe792331baeade8b8d736c1d5310e0ee
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses" (#133331)
Reverts llvm/llvm-project#133130
This touches a common file as #133083, which is causing failures
Commit: c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
https://github.com/llvm/llvm-project/commit/c10e26ba2eb307dcef95d91ea12aa13dc96e8d19
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M lldb/source/Core/CoreProperties.td
Log Message:
-----------
[lldb] Improve default statusline colors to work with more color schemes (#133315)
Use the reverse video [1] font effect (`${ansi.negative}`) as the
default for the statusline. Inverting the foreground and background
color has a better change as looking reasonably good, compared to
picking an arbitrary color.
[1] https://en.wikipedia.org/wiki/Reverse_video
Commit: c676eb770a2608d9ace02a59d6d40844bce35de7
https://github.com/llvm/llvm-project/commit/c676eb770a2608d9ace02a59d6d40844bce35de7
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/test/Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
Log Message:
-----------
[PreISelIntrinsicLowering][test] Add coverage for @llvm.experimental.memset.pattern with ptr pattern argument
These tests all show the desired output because after #132026, the
intrinsic can take any sized type as an argument. The tests were adapted
from those I proposed adding in #129220.
Commit: a285be320aadad51c431eed87cc2540951b3e4da
https://github.com/llvm/llvm-project/commit/a285be320aadad51c431eed87cc2540951b3e4da
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[WebKit Checkers] Recognize Objective-C and CF pointer conversion functions. (#132784)
Recognize dynamic_objc_cast, checked_objc_cast, dynamic_cf_cast, and
checked_cf_cast.
Commit: a42342265f005bca6d4a22d464fa0e357104c7f6
https://github.com/llvm/llvm-project/commit/a42342265f005bca6d4a22d464fa0e357104c7f6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port d8e44a9ab290
Commit: a10a9134023539ee6ab3d166518487f40e368334
https://github.com/llvm/llvm-project/commit/a10a9134023539ee6ab3d166518487f40e368334
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
workflows: Add missing apt-get update to abi tests (#133264)
Commit: 864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
https://github.com/llvm/llvm-project/commit/864d4f940bdd3f5d1d45cdde573dd7fdc766e14e
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Trim traling blank in VOP3Instructions.td. NFC. (#133330)
Commit: e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
https://github.com/llvm/llvm-project/commit/e9dc0518c92ce0551f44b1b49722b4fb5f54ec4b
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
Revert "Fix gcc signed/unsigned comparison warning. NFC." (#133334)
This reverts commit 6c2171672f03356835c534a0ec18250233ea66db. It touches
a common file as #133083, which is causing failures
Commit: 5e1fba4243eea8f0166de20217416a12e26b45be
https://github.com/llvm/llvm-project/commit/5e1fba4243eea8f0166de20217416a12e26b45be
Author: Walter Lee <49250218+googlewalt at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
Revert "[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast)" (#133340)
Reverts llvm/llvm-project#133083
This causes BuildBot failures, and causes time outs in some of our internal tests (3 min => over 5 min).
Commit: fc33aa9684243dcce84b81f11c004061350b945a
https://github.com/llvm/llvm-project/commit/fc33aa9684243dcce84b81f11c004061350b945a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
Log Message:
-----------
[llvm][cmake] Quote CMAKE_CXX_COMPILER_ID in string comparison (#133332)
We're seeing following configuration error when building the `runtimes`
target on our buildbots:
```
CMake Error at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/CheckProblematicConfigurations.cmake:14 (if):
if given arguments:
"STREQUAL" "MSVC"
Unknown arguments specified
Call Stack (most recent call first):
/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-sanitized/llvm-project/llvm/cmake/modules/HandleLLVMOptions.cmake:10 (include)
CMakeLists.txt:175 (include)
```
If I understand correctly this happens because ${CMAKE_CXX_COMPILER_ID}
is empty. Quoting it should make the comparison work for those cases.
Commit: 2e3c31779018b9bea6abe262510b0bada148c1a5
https://github.com/llvm/llvm-project/commit/2e3c31779018b9bea6abe262510b0bada148c1a5
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
Log Message:
-----------
Fix the assertion failure in Analysis/Checkers/WebKit/forward-decl-checker.mm after https://github.com/llvm/llvm-project/pull/132784. (#133341)
Commit: 9cd88847b57a43c1f862e54abce445a2f2f8f46f
https://github.com/llvm/llvm-project/commit/9cd88847b57a43c1f862e54abce445a2f2f8f46f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
Log Message:
-----------
[RISCV] Remove unused MCOperandPredicate from simm12_lsb00000. NFC
I don't think the use of isBareSymbolRef() was correct since we
don't have any relocations associated with this instruction type.
Commit: d18faf646082b75634e0a2f616feba34fe29a378
https://github.com/llvm/llvm-project/commit/d18faf646082b75634e0a2f616feba34fe29a378
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
Log Message:
-----------
[MLIR] NFC: Remove unused includes (#133327)
Commit: aa3149d204ed019c53eedd1bb00a315c0db41270
https://github.com/llvm/llvm-project/commit/aa3149d204ed019c53eedd1bb00a315c0db41270
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r (#133339)
Commit: f4e14e7cf37543e2b57b7b6422a0bd94c50e9040
https://github.com/llvm/llvm-project/commit/f4e14e7cf37543e2b57b7b6422a0bd94c50e9040
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Const correct reference argument to isElementRotate. NFC
Commit: d7c53a91c2c11439429bbd50bb1d0a202c553a47
https://github.com/llvm/llvm-project/commit/d7c53a91c2c11439429bbd50bb1d0a202c553a47
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/docs/DefiningDialects/Operations.md
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/TableGen/EnumInfo.h
M mlir/lib/TableGen/EnumInfo.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/test/Dialect/LLVMIR/func.mlir
M mlir/test/IR/attribute.mlir
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/mlir-tblgen/enums-gen.td
M mlir/tools/mlir-tblgen/EnumPythonBindingGen.cpp
M mlir/tools/mlir-tblgen/EnumsGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/utils/spirv/gen_spirv_dialect.py
Log Message:
-----------
[mlir] Decouple enum generation from attributes, adding EnumInfo and EnumCase (#132148)
This commit pulls apart the inherent attribute dependence of classes
like EnumAttrInfo and EnumAttrCase, factoring them out into simpler
EnumCase and EnumInfo variants. This allows specifying the cases of an
enum without needing to make the cases, or the EnumInfo itself, a
subclass of SignlessIntegerAttrBase.
The existing classes are retained as subclasses of the new ones, both
for backwards compatibility and to allow attribute-specific information.
In addition, the new BitEnum class changes its default printer/parser
behavior: cases when multiple keywords appear, like having both nuw and
nsw in overflow flags, will no longer be quoted by the operator<<, and
the FieldParser instance will now expect multiple keywords. All
instances of BitEnumAttr retain the old behavior.
Commit: 75ca080daba6585d0a6522187aab4bc781ba4103
https://github.com/llvm/llvm-project/commit/75ca080daba6585d0a6522187aab4bc781ba4103
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
A llvm/test/MC/Disassembler/RISCV/xqccmp-invalid-rlist.txt
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32xqccmp-valid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-valid.s
M llvm/test/MC/RISCV/rv64xqccmp-valid.s
Log Message:
-----------
[RISCV][Xqccmp] Correctly Parse/Disassemble pushfp (#133188)
In the `qc.cm.pushfp` instruction, it is like `cm.pushfp` except in one
important way - `qc.cm.pushfp {ra}, -N*16` is not a valid encoding,
because this would update `s0`/`fp`/`x8` without saving it.
This change now correctly rejects this variant of the instruction, both
during parsing and during disassembly. I also implemented validation for
immediates that represent register lists (both kinds), which may help to
catch bugs in the future.
Commit: cd6e959102888279dc7e75a41ebd75a08ac3f7a5
https://github.com/llvm/llvm-project/commit/cd6e959102888279dc7e75a41ebd75a08ac3f7a5
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
Revert "[MC] Explicitly mark MCSymbol for MO_ExternalSymbol" (#133291)
Reverts llvm/llvm-project#108880 .
The patch has no regression test, no description of why the fix is
necessary, and the code is modifying MC datastructures in a way that's
forbidden in the AsmPrinter.
Fixes #132055.
Commit: 3a3732c2527056342051068c3dbaef4e822bd0a6
https://github.com/llvm/llvm-project/commit/3a3732c2527056342051068c3dbaef4e822bd0a6
Author: egebeysel <beysel at roofline.ai>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/test/Dialect/Arith/emulate-wide-int.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
Log Message:
-----------
[mlir][arith] wide integer emulation support for fpto*i ops (#132375)
Adding wide integer emulation support for `arith.fpto*i` operations. As
the other emulated operations, the upper and lower `N` bits of the `i2N`
integer result are emitted separately.
For the unsigned case we use the following emulation
```c
// example is 64 -> 32 bit emulation, but the implementation is generalized to any 2N -> N case
const double TWO_POW_N = (uint_64_t(1) << N); // 2^N, N is the bitwidth of the widest int supported
// f is a floating-point value representing the input of the fptoui op.
uint32_t hi = (uint32_t)(f / TWO_POW_N); // Truncates the division result
uint32_t lo = (uint32_t)(f - hi * TWO_POW_N); // Subtracts to get the lower bits.
```
For the signed case, we defer the emulation of the absolute value to
`fptoui` and handle the sign:
```
fptosi(fp) = sign(fp) * fptoui(abs(fp))
```
The edge cases of `NaNs, +-inf` and overflows/underflows are undefined
behaviour and the resulting numbers are the combination of the lower
bitwidth UB values. These operations also propagate poison values.
Signed-off-by: Ege Beysel <beysel at roofline.ai>
Commit: d443cd62d289d972c0245488920acba2b14f7cf9
https://github.com/llvm/llvm-project/commit/d443cd62d289d972c0245488920acba2b14f7cf9
Author: Hank Chang <hank.chang at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Move early exit checks outside "instrumentFunction()" to avoid… (#133285)
… unnecessary FunctionSanitizer construction (NFC)
This patch moves several early-exit checks (e.g., empty function, etc.)
out of `AddressSanitizer::instrumentFunction` and into the caller. This
change avoids unnecessary construction of FunctionSanitizer when
instrumentation is not needed.
Commit: 89cfeeb062577069d1da236d33810bb0416f1102
https://github.com/llvm/llvm-project/commit/89cfeeb062577069d1da236d33810bb0416f1102
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/lib/AST/ASTStructuralEquivalence.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
Log Message:
-----------
[clang] fix structural comparison for dependent class member pointer (#133343)
Fixes a regression introduced in
https://github.com/llvm/llvm-project/pull/130537 and reported here
https://github.com/llvm/llvm-project/issues/133144
This fixes a crash in ASTStructuralEquivalence where the non-null
precondition for IsStructurallyEquivalent would be violated, when
comparing member pointers with a dependent class.
This also drive-by fixes the ast node traverser for member pointers so
it doesn't traverse into the qualifier in case it's not a type, or the
class declaration in case it would be equivalent to what the qualifier
refers.
This avoids printing of `<<<NULL>>>` on the text node dumper, which is
redundant.
No release notes since the regression was never released.
Fixes https://github.com/llvm/llvm-project/issues/133144
Commit: ebe1ece4bbfdcd29dd2b578f466998970f28a333
https://github.com/llvm/llvm-project/commit/ebe1ece4bbfdcd29dd2b578f466998970f28a333
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
A llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen][RISCV] Support sub-operands in CompressInstEmitter.cpp. (#133039)
I'm looking into using sub-operands for memory operands. This would use
MIOperandInfo to create a single operand that contains a register and
immediate as sub-operands. We can treat this as a single operand for
parsing and matching in the assembler. I believe this will provide some
simplifications like removing the InstAliases we need to support "(rs1)"
without an immediate.
Doing this requires making CompressInstEmitter aware of sub-operands.
I've chosen to use a flat list of operands in the CompressPats so each
sub-operand is represented individually.
Commit: a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
https://github.com/llvm/llvm-project/commit/a6cb5cc0f0b6448e9b2d05017ea17fccf1eb1feb
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[mlir] Add nullptr checks in SparseElementsAttr parser (#133222)
This PR adds nullptr checks in the SparseElementsAttr parser to improve
robustness and prevent crashes. Fixes #132891.
Commit: d131b78e060c709d41ba55572a5639f8e9f7ecc0
https://github.com/llvm/llvm-project/commit/d131b78e060c709d41ba55572a5639f8e9f7ecc0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/pr133217.ll
Log Message:
-----------
[RISCV] Disable i1 fixed vectors with more than 1024 elements. (#133267)
v2048i1 is an MVT, but v2048i8 is not so we don't support i8 vectors
with more than 1024 elements. Lowering a v2048i1 shufflevector would
requires promoting to v2048i8. Since v2048i8 isn't legal and isn't an
MVT this leads to a crash.
To fix the crash, this patch makes v2048i1 an illegal type.
Commit: 725a7b664b92cd2e884806de5a08900b43d43cce
https://github.com/llvm/llvm-project/commit/725a7b664b92cd2e884806de5a08900b43d43cce
Author: wanglei <wanglei at loongson.cn>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/LoongArch/Relocations/relocations.s
Log Message:
-----------
[LoongArch] Pre-commit test for #133225
Reviewed By: SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/133224
Commit: 14c36db16fc090ef494ff6d8207562c414b40e30
https://github.com/llvm/llvm-project/commit/14c36db16fc090ef494ff6d8207562c414b40e30
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
A llvm/test/ExecutionEngine/JITLink/x86-64/Inputs/libFooUniversalDylib.yaml
A llvm/test/ExecutionEngine/JITLink/x86-64/MachO_foo-in-weak-dylib.s
Log Message:
-----------
[ORC] Generalize GetDylibInterface to support MachO Universal Binaries.
Also adds a testcase for dylib handling in llvm-jitlink`s -weak-lx and
-weak_library options.
Commit: f359c0bde52a06d841910aff0a61041c9b573763
https://github.com/llvm/llvm-project/commit/f359c0bde52a06d841910aff0a61041c9b573763
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptosi-i64.mlir
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-fptoui-i64.mlir
M mlir/test/Integration/Dialect/Arith/CPU/test-wide-int-emulation-subi-i32.mlir
Log Message:
-----------
[mlir][arith] Trim trailing spaces in wide int emulation tests. NFC. (#133349)
Followup cleanup after https://github.com/llvm/llvm-project/pull/132375
and https://github.com/llvm/llvm-project/pull/133248
Commit: 52d7f14a895eb8669d72cd02754e5586de3e61d8
https://github.com/llvm/llvm-project/commit/52d7f14a895eb8669d72cd02754e5586de3e61d8
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
Revert "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358)
Reverts llvm/llvm-project#133339
Commit: c8b69c90760072b2813a3465d70817470f63cd4a
https://github.com/llvm/llvm-project/commit/c8b69c90760072b2813a3465d70817470f63cd4a
Author: Jinjie Huang <huangjinjie at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfile.cpp
Log Message:
-----------
[NFC][SampleFDO] Clean the unneeded field and the related loop (#132376)
Clean the unneeded field 'TotalCollectedSamples' and the unnecessary
loop.
The field seems introduced in:https://reviews.llvm.org/D31952, and its
uses were removed in: https://reviews.llvm.org/D19287, but this field
and unnecessary calculation were not cleaned up.
This patch will remove these unneeded codes.
Commit: a1bb7507455ce407ebbb659ddf0d5ae4bb5c3869
https://github.com/llvm/llvm-project/commit/a1bb7507455ce407ebbb659ddf0d5ae4bb5c3869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
Log Message:
-----------
[mlir] Use a range constructor of DenseSet (NFC) (#133355)
Commit: cb80b26e3731e7b10ff516d66761a3cfbc55bd20
https://github.com/llvm/llvm-project/commit/cb80b26e3731e7b10ff516d66761a3cfbc55bd20
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
Log Message:
-----------
[clang] Use *Set::insert_range (NFC) (#133357)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E);
down to:
Set.insert_range(Range);
In some cases, we can further fold that into the set declaration.
Commit: d055e58334a91dcbaee22eb87bcdae85a1f33cd4
https://github.com/llvm/llvm-project/commit/d055e58334a91dcbaee22eb87bcdae85a1f33cd4
Author: wanglei <wanglei at loongson.cn>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/test/MC/LoongArch/Relocations/relocations.s
M llvm/test/MC/LoongArch/lasx/invalid-imm.s
M llvm/test/MC/LoongArch/lsx/invalid-imm.s
Log Message:
-----------
[LoongArch][MC] Add relocation support for fld fst [x]vld [x]vst
This also fixes errors when using Clang with step-by-step compilation.
Because the optimization will pass relocation information to memory
access instructions. For example:
t.c:
```
float f = 0.1;
float foo() { return f;}
```
```
clang --target=loongarch64 -O2 -c t.c --save-temps
```
Reviewed By: tangaac, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/133225
Commit: c9197b27b484713c312c16cad12f9b518c1323c5
https://github.com/llvm/llvm-project/commit/c9197b27b484713c312c16cad12f9b518c1323c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
Log Message:
-----------
[AMDGPU] Use MapVector instead of DenseMap (NFC) (#133356)
This patch combines:
DenseMap<MachineBasicBlock *, bool> ReachableMap;
SmallVector<MachineBasicBlock *, 4> ReachableOrdered;
into:
MapVector<MachineBasicBlock *, bool> ReachableMap;
because we add elements to the two data structures in lockstep, and we
care about preserving the insertion order.
As a side benefit, we get to avoid hash lookups at:
ReachableMap[MBB] = true;
Commit: 673f4705a827aba52b991d446a90a1c0ca5641a5
https://github.com/llvm/llvm-project/commit/673f4705a827aba52b991d446a90a1c0ca5641a5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[llvm] Use *Set::insert_range (NFC) (#133353)
We can use *Set::insert_range to collapse:
for (auto Elem : Range)
Set.insert(E.first);
down to:
Set.insert_range(llvm::make_first_range(Range));
In some cases, we can further fold that into the set declaration.
Commit: 81c6ce3b33ff462a23744c82f493e1e1ea3844de
https://github.com/llvm/llvm-project/commit/81c6ce3b33ff462a23744c82f493e1e1ea3844de
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Simplify VOP3_CVT_PK_F8_F32_Profile. NFC. (#133328)
Commit: 0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
https://github.com/llvm/llvm-project/commit/0ed4bdfe70d88e8b7aa70739ffcb655ad01226ef
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/test/MC/PowerPC/ppc64-fixups.s
Log Message:
-----------
PPCAsmParser: Detect multiple specifiers
In addition, simplify extractSpecifier and switch to the `Specifier`
naming convention.
Commit: 96e5ee23a76136851a52f48c780249e2a86a5ce9
https://github.com/llvm/llvm-project/commit/96e5ee23a76136851a52f48c780249e2a86a5ce9
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/lite-mode.s
Log Message:
-----------
[BOLT][AArch64] Add partial support for lite mode (#133014)
In lite mode, we only emit code for a subset of functions while
preserving the original code in .bolt.org.text. This requires updating
code references in non-emitted functions to ensure that:
* Non-optimized versions of the optimized code never execute.
* Function pointer comparison semantics is preserved.
On x86-64, we can update code references in-place using "pending
relocations" added in scanExternalRefs(). However, on AArch64, this is
not always possible due to address range limitations and linker address
"relaxation".
There are two types of code-to-code references: control transfer (e.g.,
calls and branches) and function pointer materialization.
AArch64-specific control transfer instructions are covered by #116964.
For function pointer materialization, simply changing the immediate
field of an instruction is not always sufficient. In some cases, we need
to modify a pair of instructions, such as undoing linker relaxation and
converting NOP+ADR into ADRP+ADD sequence.
To achieve this, we use the instruction patch mechanism instead of
pending relocations. Instruction patches are emitted via the regular MC
layer, just like regular functions. However, they have a fixed address
and do not have an associated symbol table entry. This allows us to make
more complex changes to the code, ensuring that function pointers are
correctly updated. Such mechanism should also be portable to RISC-V and
other architectures.
To summarize, for AArch64, we extend the scanExternalRefs() process to
undo linker relaxation and use instruction patches to partially
overwrite unoptimized code.
Commit: 4485e25dd2a57be1ee504b4dd863a1e140f5084c
https://github.com/llvm/llvm-project/commit/4485e25dd2a57be1ee504b4dd863a1e140f5084c
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
[compiler-rt][nfc] DenseMap needs placement new (#133329)
Commit: 68571f91515b8467723322ece8da3ea2d00c7596
https://github.com/llvm/llvm-project/commit/68571f91515b8467723322ece8da3ea2d00c7596
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
Log Message:
-----------
Revert "[compiler-rt][nfc] DenseMap needs placement new (#133329)"
This reverts commit 4485e25dd2a57be1ee504b4dd863a1e140f5084c.
Buildbot failures, e.g. https://lab.llvm.org/buildbot/#/builders/66/builds/11827
Commit: bed2bdf17b68b33dd1519a836ec2b77da8746053
https://github.com/llvm/llvm-project/commit/bed2bdf17b68b33dd1519a836ec2b77da8746053
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-27 (Thu, 27 Mar 2025)
Changed paths:
M compiler-rt/test/CMakeLists.txt
Log Message:
-----------
[NFCI] Change compiler_rt_Test_runtime to lowercase (#133362)
Commit: 0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
https://github.com/llvm/llvm-project/commit/0ed8b27890232738fa8e276d0fd2ac5c3c8e74ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-attributes-convergent-uncontrolled.ll
A llvm/test/tools/llvm-reduce/remove-attributes-convergent.ll
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
Log Message:
-----------
llvm-reduce: Avoid removing convergent with convergence tokens (#132946)
Check if the intrinsics are declared in the module as an overly
conservative fix.
Fixes #132695
Commit: 7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
https://github.com/llvm/llvm-project/commit/7eccafc3c84606587a175c0a8c1ebea6e4fb21cd
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
Log Message:
-----------
MIPS: Implement isAsCheapAsAMove for addiu (#133273)
Set `addiu` as `isAsCheapAsAMove` only when the src register or imm is
zero only.
If other cases are set `isAsCheapAsAMove`, MachineLICM will reject to
hoist it.
Commit: a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
https://github.com/llvm/llvm-project/commit/a6e61ce2391f46cfe97de3a4986a5ed8fdb3b8db
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
Log Message:
-----------
[RISCV] Remove duplicate check in SelectAddrRegImmLsb00000. NFC (#133372)
Commit: 5b36835df010c5813808d34e45428c624fb52ff1
https://github.com/llvm/llvm-project/commit/5b36835df010c5813808d34e45428c624fb52ff1
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
A flang/test/Driver/m64-option.f90
Log Message:
-----------
[flang] Expose -m64 option (#132409)
Exposes `-m64` option for Flang.
These options can be used to build libraries or tools (e.g. OpenBlas).
Commit: e3f1c464f7283e79f566b33b87258ee55f77e139
https://github.com/llvm/llvm-project/commit/e3f1c464f7283e79f566b33b87258ee55f77e139
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/test/ELF/aarch64-feature-pac.s
Log Message:
-----------
[PAC][lld] Support `-z nopac-plt` flag (#132973)
Support `-z nopac-plt` so it's possible to cancel previous `-z pac-plt`.
Commit: 68f71aae3b4222afcd53cf0f84110032d1d34ec6
https://github.com/llvm/llvm-project/commit/68f71aae3b4222afcd53cf0f84110032d1d34ec6
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.sincos intrinsics (#133311)
https://llvm.org/docs/LangRef.html#llvm-frexp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: 29cb00331f19dd2a93524fbd9f5367cb0d25fc72
https://github.com/llvm/llvm-project/commit/29cb00331f19dd2a93524fbd9f5367cb0d25fc72
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvmir] add llvm.experimental.constrained.uitofp intrinsics (#133300)
https://llvm.org/docs/LangRef.html#llvm-experimental-constrained-uitofp-intrinsic
Signed-off-by: Letu Ren <fantasquex at gmail.com>
Commit: f5f4da6db6904a88d23d4bacd01330a205683343
https://github.com/llvm/llvm-project/commit/f5f4da6db6904a88d23d4bacd01330a205683343
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
Log Message:
-----------
[RISCV] Don't vectorize for loops with small trip count (#132176)
Inspired by https://reviews.llvm.org/D130755.
I don't know the logic behind the value 5, it is copied from AArch64.
For some tests, I have to change the trip count so that we don't
break what they are testing.
Commit: 0a74cbfac462dfbf446e1f560e987619f93194ac
https://github.com/llvm/llvm-project/commit/0a74cbfac462dfbf446e1f560e987619f93194ac
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Pass -fapprox-func when compiling 'native' builtins (#133119)
The libclc build system isn't well set up to pass arbitrary options to
arbitrary source files in a non-intrusive way. There isn't currently any
other motivating example to warrant rewriting the build system just to
satisfy this requirement. So this commit uses a filename-based approach
to inserting this option into the list of compile flags.
Commit: b52977b868b02625ade1f14bfbe835e299b26f0e
https://github.com/llvm/llvm-project/commit/b52977b868b02625ade1f14bfbe835e299b26f0e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/exp_helper.cl
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move pow, powr & pown to the CLC library (#133294)
These functions were already nominally in the CLC library.
Similar to others, these builtins are now vectorized and are not broken
down into scalar types.
Commit: 883612859bd255fc964c121ea6d3b1a9fb37fc65
https://github.com/llvm/llvm-project/commit/883612859bd255fc964c121ea6d3b1a9fb37fc65
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
A llvm/test/TableGen/instances.td
Log Message:
-----------
[TableGen] Add `!instances` operator to get defined records (#129680)
The format is: `!instances<T>([regex])`.
This operator produces a list of records whose type is `T`. If
`regex` is provided, only records whose name matches the regular
expression `regex` will be included. The format of `regex` is ERE
(Extended POSIX Regular Expressions).
Commit: 7b75db5755e63ddefa35101cf6a1179de560d312
https://github.com/llvm/llvm-project/commit/7b75db5755e63ddefa35101cf6a1179de560d312
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
Log Message:
-----------
[VPlan] Add new VPIRPhi overlay for VPIRInsts wrapping phi nodes (NFC). (#129387)
Add a new VPIRPhi subclass of VPIRInstruction, that purely serves as an
overlay, to provide more convenient checking (via directly doing
isa/dyn_cast/cast) and specialied execute/print implementations.
Both VPIRInstruction and VPIRPhi share the same VPDefID, and are
differentiated by the backing IR instruction.
This pattern could alos be used to provide more specialized interfaces
for some VPInstructions ocpodes, without introducing new, completely
spearate recipes. An example would be modeling VPWidenPHIRecipe &
VPScalarPHIRecip using VPInstructions opcodes and providing an interface
to retrieve incoming blocks and values through a VPInstruction subclass
similar to VPIRPhi.
PR: https://github.com/llvm/llvm-project/pull/129387
Commit: 1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
https://github.com/llvm/llvm-project/commit/1318a7bb098ff055533d7b3fe2f5d9201f3d79a6
Author: Mallikarjuna Gouda <mgouda at mips.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsSubtarget.h
Log Message:
-----------
Reland [MIPS] Define SubTargetFeature for i6500 cpu (#132907) (#133366)
Relands #132907 with a fix in the testcase:
clang/test/CodeGen/Mips/subtarget-feature-test.c
enable this test for only mips64 target
PR #130587 defined same SubTargetFeature for CPUs i6400 and i6500 which
resulted into following warning when -mcpu=i6500 was used:
+i6500' is not a recognized feature for this target (ignoring feature)
This PR fixes above issue by defining separate SubTargetFeature for
i6500.
Commit: 71f43a7c42a37d18be98b0885d62ef76e658f242
https://github.com/llvm/llvm-project/commit/71f43a7c42a37d18be98b0885d62ef76e658f242
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133378)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
https://github.com/llvm/llvm-project/commit/50d4ae4a62fb22e5e03a6150baaf80e4bb4f2d41
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/test/Analysis/taint-generic.cpp
Log Message:
-----------
[analyzer] Fix format attribute handling in GenericTaintChecker (#132765)
Previously `optin.taint.GenericTaint` misinterpreted the parameter
indices and produced false positives in situations when a [format
attribute](https://clang.llvm.org/docs/AttributeReference.html#format)
is applied on a non-static method. This commit fixes this bug
Commit: c13c04fdfe9b312160310eeeee785867627ffe2f
https://github.com/llvm/llvm-project/commit/c13c04fdfe9b312160310eeeee785867627ffe2f
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__memory/allocator_traits.h
Log Message:
-----------
[libc++] Simplify the implementation of the pointer aliases in allocator_traits (#127079)
Commit: b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
https://github.com/llvm/llvm-project/commit/b82fd7110972c52cf4e58bf08b65bce7a91ecb0e
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-28 (Fri, 28 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] Adjust skips on reverse continue tests (#133240)
The x86-specific issue has been fixed with #132122. Watchpoint tests
fail on aarch64 with macos<15.0 due to a kernel bug.
Commit: 21a8c63cdc36abbf38b4402c9eb34a26598b8476
https://github.com/llvm/llvm-project/commit/21a8c63cdc36abbf38b4402c9eb34a26598b8476
Author: macurtis-amd <macurtis at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/DeviceRTL/src/Workshare.cpp
A offload/test/offloading/fortran/target-teams-dist-nest-par.f90
Log Message:
-----------
[offload] Remove bad assert in StaticLoopChunker::Distribute (#132705)
When building with asserts enabled, this can actually cause strange
miscompilations because an incorrect llvm.assume is generated at the
point of the assertion.
Commit: 0d64f5adbaea173380668bc4280bb816bdb3a0de
https://github.com/llvm/llvm-project/commit/0d64f5adbaea173380668bc4280bb816bdb3a0de
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
Log Message:
-----------
[NFC] Fix a typo in StdLibraryFunctionsChecker.cpp comments (#133375)
Commit: f7a034d400860501a26e3429e1c6a9f310f07f76
https://github.com/llvm/llvm-project/commit/f7a034d400860501a26e3429e1c6a9f310f07f76
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SOPInstructions.td
A llvm/test/CodeGen/AMDGPU/nor-divergent-lanemask.ll
Log Message:
-----------
[AMDGPU] (x or y) xor -1 -> x nor y (#130264)
Added pattern so s_nor is selected for ((i1 x or i1 y) xor -1) instead
of s_or and s_xor . This patch is for i1 divergent. The ballot in the
test is added for the retrieval of lanemask. The control flow is needed
because the combiner can't pass through phi instructions.
Commit: 319045d8c42dc855eacdb4bd1d71b6ac3fca3257
https://github.com/llvm/llvm-project/commit/319045d8c42dc855eacdb4bd1d71b6ac3fca3257
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
Log Message:
-----------
[analyzer] Add metrics tracking time spent in Z3 solver (#133236)
These metrics would turn out to be useful for verifying an upgrade of Z3.
Commit: 7d869045e068be152f4435d73733eb2276a6fc08
https://github.com/llvm/llvm-project/commit/7d869045e068be152f4435d73733eb2276a6fc08
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
Log Message:
-----------
[AMDGPU] Hoist some constant stuff out of the loop in AMDGPUAsmParser.cpp. NFC. (#133398)
Commit: 8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
https://github.com/llvm/llvm-project/commit/8a3fe30a0a394ed3aa30ce4ba16e5a148a8bdd53
Author: Paul Schwabauer <pschwabauer at intevation.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/ComplexExplicitSpecifier.cpp
Log Message:
-----------
[PATCH] [clang][frontend] Fix serialization for CXXConstructorDecl (refs llvm#132794) (#133077)
When retrieving the ExplicitSpecifier from a CXXConstructorDecl, one of
its canonical declarations is returned. To correctly write the
declaration record the ExplicitSpecifier of the current declaration must
be used.
Failing to do so results in a crash during deserialization.
Commit: af150272cff97c121ed4fdb76fce702fbe2f12a3
https://github.com/llvm/llvm-project/commit/af150272cff97c121ed4fdb76fce702fbe2f12a3
Author: Weaver <Tom.Weaver at sony.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
Revert "MIPS: Set EnableLoopTermFold (#133378)"
This reverts commit 71f43a7c42a37d18be98b0885d62ef76e658f242.
Caused build bot failures:
https://lab.llvm.org/buildbot/#/builders/190/builds/17267
https://lab.llvm.org/buildbot/#/builders/144/builds/21445
https://lab.llvm.org/buildbot/#/builders/46/builds/14343
please consider fixing the test failure in long-array-initialize.ll before
recommitting.
Commit: b009c5af71a8676f1e6b4332f867957454635b2f
https://github.com/llvm/llvm-project/commit/b009c5af71a8676f1e6b4332f867957454635b2f
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/structurizer/cf.switch.ifstmt.simple2.ll
Log Message:
-----------
[SPIR-V] Mark XFAIL the test case that fails with LLVM_ENABLE_EXPENSIVE_CHECKS enabled (#133142)
After https://github.com/llvm/llvm-project/pull/130605
structurizer/cf.switch.ifstmt.simple2.ll test case starts failing with
the "PHI operand is not live-out from predecessor" diagnostic message.
This test case didn't include usual "-verify-machineinstrs" argument and
the fail was missed before
https://github.com/llvm/llvm-project/pull/130605 merging.
The problem looks not blocking, because the test case successfully
passes its CHECK's. This PR is to fix the build process by mark the test
case as XFAIL when LLVM_ENABLE_EXPENSIVE_CHECKS is enabled.
Investigation of the Machine Verifier complaint is to do. The issue is
created: https://github.com/llvm/llvm-project/issues/133141
Commit: 45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
https://github.com/llvm/llvm-project/commit/45c3fe8ff339843cdf0cfc8ccae91c0a4b7c09cd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/vector-shuffle-combining-avx512vl.ll
Log Message:
-----------
[X86] Add test coverage for the concatable sources vpermv3 -> vpermv fold for non-constant shuffle masks (#133415)
Test both forward/reverse concat cases
Commit: 7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
https://github.com/llvm/llvm-project/commit/7f103ad537a64cd47dc49c661ad0245ea3ae2fdc
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
A llvm/test/CodeGen/SPIRV/structurizer/loop-unroll.ll
Log Message:
-----------
[SPIR-V] Add llvm.loop.unroll metadata lowering (#132062)
.enable lowers to Unroll LoopControl
.disable lowers to DontUnroll LoopControl
.count lowers to PartialCount LoopControl
.full lowers to Unroll LoopControl
TODO in future patches: enable structurizer for non-vulkan targets.
---------
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: f76254d9b2a68e0021d93e682744e4240a2368b9
https://github.com/llvm/llvm-project/commit/f76254d9b2a68e0021d93e682744e4240a2368b9
Author: Jesse D <jesse.a.deguire at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc] Fix implicit conversion error in DyadicFloat::as_mantissa_type(). (#133383)
This is the same fix that was recently applied to
as_mantissa_type_rounded(), but for as_mantissa_type().
Commit: 4cdcf3b19302d8f337b5607d6b9df170f577dc70
https://github.com/llvm/llvm-project/commit/4cdcf3b19302d8f337b5607d6b9df170f577dc70
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
Log Message:
-----------
[InstCombine] Fold `(trunc nuw A to i1) == (trunc nuw B to i1)` to `A == B` (#133368)
Fixes #133344
Proof: https://alive2.llvm.org/ce/z/X3Uh23
InstCombine couldn't optimize `i1` because `canonicalizeICmpBool()` was
transforming the comparison into bitwise operations before
`foldICmpTruncWithTruncOrExt()` was called.
This PR solves the ordering issue by placing
`foldICmpTruncWithTruncOrExt()` before `canonicalizeICmpBool()`.
I believe this will not cause any regressions since all tests are
passing.
Commit: c4bc1b1d8177961c50c7a197bfb97b5226e749ff
https://github.com/llvm/llvm-project/commit/c4bc1b1d8177961c50c7a197bfb97b5226e749ff
Author: Nico Weber <thakis at chromium.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
A clang/test/Driver/arch-arm64e.c
Log Message:
-----------
[clang] Update Mach-O ptrauth driver defaults (#132834)
Xcode clang default-enables a bunch of ptrauth flags when targeting
arm64e. Let's match that.
Commit: 772173f54868eef6e1a4d40ab93b0ee6c04b1aca
https://github.com/llvm/llvm-project/commit/772173f54868eef6e1a4d40ab93b0ee6c04b1aca
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.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
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/lib/builtins/CMakeLists.txt
M flang/lib/Frontend/FrontendActions.cpp
R flang/test/Lower/AMD/code-object-version.f90
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libcxx/cmake/caches/AMDGPU.cmake
M offload/DeviceRTL/CMakeLists.txt
Log Message:
-----------
[Clang][AMDGPU] Remove special handling for COV4 libraries (#132870)
Summary:
When we were first porting to COV5, this lead to some ABI issues due to
a change in how we looked up the work group size. Bitcode libraries
relied on the builtins to emit code, but this was changed between
versions. This prevented the bitcode libraries, like OpenMP or libc,
from being used for both COV4 and COV5. The solution was to have this
'none' functionality which effectively emitted code that branched off of
a global to resolve to either version.
This isn't a great solution because it forced every TU to have this
variable in it. The patch in
https://github.com/llvm/llvm-project/pull/131033 removed support for
COV4 from OpenMP, which was the only consumer of this functionality.
Other users like HIP and OpenCL did not use this because they linked the
ROCm Device Library directly which has its own handling (The name was
borrowed from it after all).
So, now that we don't need to worry about backward compatibility with
COV4, we can remove this special handling. Users can still emit COV4
code, this simply removes the special handling used to make the OpenMP
device runtime bitcode version agnostic.
Commit: 212a48b4daf3101871ba6e7c47cf103df66a5e56
https://github.com/llvm/llvm-project/commit/212a48b4daf3101871ba6e7c47cf103df66a5e56
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/X86/combine-bitselect.ll
Log Message:
-----------
[X86] combine-bitselect.ll - regenerate VPTERNLOG comments
Commit: a481452cd88acc180f82dd5631257c8954ed7812
https://github.com/llvm/llvm-project/commit/a481452cd88acc180f82dd5631257c8954ed7812
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Add OR/XOR/SUB to RISCVInstrInfo::isCopyInstrImpl (#132002)
This adds coverage for additional instructions in isCopyInstrImpl, for
now picking just those where I can observe that there is a codegen
difference for SPEC.
This allows MachineCopyPropagation to successfully eliminate no-op moves in this form.
Commit: 33cd00f8c82d5df45b1dfd59310929a4d315fd8e
https://github.com/llvm/llvm-project/commit/33cd00f8c82d5df45b1dfd59310929a4d315fd8e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M flang/include/flang/Evaluate/traverse.h
Log Message:
-----------
[flang] Use more generic overload for Operation in Traverse (#133305)
Currently there are two specific overloads: for unary operations, i.e.
`Operation<D, R, O>`, and binary ones `Operation<D, R, LO, RO>`.
This makes it impossible for a derived class to use a single overload to
handle all types of operations: `Operation<D, R, O...>`. Since the base
overloads need to be included in the derived class's scope, via `using
Base::operator()` either one of the specific overloads will always be a
better candidate than the more generic derived one.
```
class MyVisitor : public Traverse<...> {
using Traverse<...>::operator();
template <typename D, typename R, typename... O>
Result operator()(const Operation<D, R, O...> &op) const {
// Will never be used.
}
};
```
This patch replaces the two specific overloads for Operation in Traverse
with a single generic overload, while preserving the existing
functionality, and allowing derived classes to use a single overload as
well.
Commit: 4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
https://github.com/llvm/llvm-project/commit/4abff4d7b2b49f343da68f32ffdae2914ba8ae7f
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/include/mlir/Transforms/DialectConversion.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][Transforms] Improve `replaceOpWithMultiple` API (#132608)
This commit adds an additional overload to `replaceOpWithMultiple` that
accepts additional container types. This has been brought up by users of
the new `replaceOpWithMultiple` API.
In particular, one missing container type was
`SmallVector<SmallVector<Value>>`. The "default" `ArrayRef<ValueRange>`
container type can lead to use-after-scope errors in cases such as:
```c++
// Compute the replacement value ranges. Some replacements are single
// values, some are value ranges.
SmallVector<ValueRange> repl;
repl.push_back(someValueRange); // OK
for (...) {
// push_back(Value) triggers an implicit conversion to ValueRange,
// which does not own the range.
repl.push_back(someValue); // triggers use-after-scope later
}
rewriter.replaceOpWithMultiple(op, repl);
```
In this example, users should use `SmallVector<SmallVector<Value>>
repl;`.
Commit: 316bb89c942c1a1cf61d3e673030f82d6f0b8acf
https://github.com/llvm/llvm-project/commit/316bb89c942c1a1cf61d3e673030f82d6f0b8acf
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
Log Message:
-----------
[Driver] Enable LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON on AIX. (#132821)
In the wake of discussion in PR #131200 and internal discussion after,
we will add support for `LLVM_ENABLE_PER_TARGET_RUNTIME=ON` for AIX
instead of disable it. I already reverted the change in PR #131200.
The default value of the option is still OFF on AIX.
Commit: ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
https://github.com/llvm/llvm-project/commit/ecdbd26ba4b6017200b7773d41a270aa1fa2bd71
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
Log Message:
-----------
[clang-tidy][NFC] improve documentation for `bugprone-argument-comment` check (#133436)
Improve docs for `bugprone-argument-comment` check by writing explicitly
default values for options.
Before this change, it was unclear what values are default.
Commit: d6dcd985c03bec4b77872be00a81d92454fedc32
https://github.com/llvm/llvm-project/commit/d6dcd985c03bec4b77872be00a81d92454fedc32
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
Log Message:
-----------
[clang-tidy] Fix `thread_local` false positives in `misc-use-internal-linkage` check (#132573)
Based on C++ standard (see issue
https://github.com/llvm/llvm-project/issues/131679) and
[StackOverflow](https://stackoverflow.com/questions/22794382/are-c11-thread-local-variables-automatically-static)
`thread_local` variables are implicitly `static` so we should not
suggest adding `static` on a `thread_local` variables. I'd appreciate if
someone else will confirm this too because reading standard is tricky.
However, many people still use `static` and `thread_local` together:
[github
code-search](https://github.com/search?type=code&q=%22static+thread_local%22+language%3AC%2B%2B).
Maybe disabling warnings on `thread_local` should be made as a flag?
WDYT?
Closes https://github.com/llvm/llvm-project/issues/131679.
Commit: 53b48301eb3bb4aba63678e9b5eb7cbea7745e34
https://github.com/llvm/llvm-project/commit/53b48301eb3bb4aba63678e9b5eb7cbea7745e34
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
Log Message:
-----------
[AMDGPU] Tweak address space definitions. NFC. (#133442)
Define address spaces in numerical order. Fix comments to refer to
"local" instead of "group" address space.
Commit: 579379cf7f650a3fd5a039ea5c2480d69acc3878
https://github.com/llvm/llvm-project/commit/579379cf7f650a3fd5a039ea5c2480d69acc3878
Author: Andras Gemes <gemesandras22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/Security.rst
Log Message:
-----------
[Nomination] Add HighTec representatives to the Security Group (#124142)
I would like to nominate Mario Cupelli (@mariocup) and myself to join
the LLVM Security Group as representatives (vendor contacts) of [HighTec
EDV Systeme](https://github.com/hightec-rt).
Mario is the CTO of HighTec and has a strong background in compiler
safety qualification. I am a SW engineer with a focus on cybersecurity
and a goal to contribute to the LLVM Security Group.
HighTec collaborates with major silicon vendors and offers
safety-qualified C/C++ and Rust compilers based on LLVM. Our active
contributions to LLVM include work on the linker and various patches and
we are committed to further improving LLVM’s security.
Our motivation for joining the LLVM Security Group is to collaborate
with LLVM security experts, stay informed about the latest CVEs in LLVM
and meet the cybersecurity requirements of the automotive industry.
Commit: b6569cce4090ea12493ab2c948ea79c6a1a1983d
https://github.com/llvm/llvm-project/commit/b6569cce4090ea12493ab2c948ea79c6a1a1983d
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/early-clobber-tied-def-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/regalloc-last-chance-recoloring-failure.ll
M llvm/test/CodeGen/RISCV/rvv/rv32-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/rv64-spill-zvlsseg.ll
M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
Log Message:
-----------
[RISCV] Refine location size for segment spill and fill (#133268)
This is a follow up to #133171. I realized we could assume the structure
of the previous MMO, and thus the split is much simpler than I'd
initially pictured.
Commit: 427725508b084c7aa595312967d74d8888b168b6
https://github.com/llvm/llvm-project/commit/427725508b084c7aa595312967d74d8888b168b6
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
Log Message:
-----------
[BOLT] Add getter for optional relocations (#133085)
Minor refactoring on comments.
Commit: 48b753027382a5815295d6680c7dd407be936c86
https://github.com/llvm/llvm-project/commit/48b753027382a5815295d6680c7dd407be936c86
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaType.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
Log Message:
-----------
[clang][flang][Triple][llvm] Add isOffload function to LangOpts and isGPU function to Triple (#126956)
I'm adding support for SPIR-V, so let's consolidate these checks.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 1f90a88b80998e595a3a11a7d13c333dbfa8777a
https://github.com/llvm/llvm-project/commit/1f90a88b80998e595a3a11a7d13c333dbfa8777a
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/utils/ci/run-buildbot
Log Message:
-----------
[libcxx] Remove clang-18 workaround in picolib build (#133254)
clang-19 changed how Arm triples were normalised and so while we
supported 18 and 19, we could not hard code the path here.
Now that Linaro's bots are running clang-19, and libcxx is going to drop
clang-18 support (https://github.com/llvm/llvm-project/pull/130142) I
have simplified it by hard coding the path again.
I also looked into why this exists in the first place. It was added in
https://reviews.llvm.org/D154246 but not questioned at the time.
It is due to the way we build compiler-rt, which is due to the final
layout we need in the install:
1. The builtins library must be called libclang_rt.builtins.a for clang
to find it. There must not be an architecture name in the filename.
2. That builtins library must be directly in lib/, next to picolib's
installed files.
To achieve number 1 we must set LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON.
However, that causes the file to be installed in a per-target dir which
breaks number 2. So to fix that, we move the builtins library up one
level into lib/.
The alternative is to turn off per-target dirs, which results in a
builtin file with an arch in the name, then rename and move that file
(since it gets installed into lib/generic/).
So in the end, it's the same amount of hacks. I think it's best to keep
the one that uses LLVM_ENABLE_PER_TARGET_RUNTIME_DIR=ON, as this is the
recommended way to built these days.
Commit: db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
https://github.com/llvm/llvm-project/commit/db04c3e4b3d9b79d99c5bbeb7fffaa887cd4352e
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/lib/Frontend/FrontendAction.cpp
Log Message:
-----------
[clang] Implement some missing interfaces for DelegatingDeserializationListener (#133424)
Split from the https://github.com/llvm/llvm-project/pull/133395 per the
review comment.
This patch also moves the `DelegatingDeserializationListener` close to
`ASTDeserializationListener`.
Commit: bf5627c85e6975a73bf582cf0d23a993673413d0
https://github.com/llvm/llvm-project/commit/bf5627c85e6975a73bf582cf0d23a993673413d0
Author: Hari Limaye <hari.limaye at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/consecutive-ptr-uniforms.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
A llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
Log Message:
-----------
[LV] Optimize VPWidenIntOrFpInductionRecipe for known TC (#118828)
Optimize the IR generated for a VPWidenIntOrFpInductionRecipe to use the
narrowest type necessary, when the trip-count of a loop is known to be
constant and the only use of the recipe is the condition used by the
vector loop's backedge branch.
Commit: 9ce77255b9a48b024e434e5c4017da07fc44bbe1
https://github.com/llvm/llvm-project/commit/9ce77255b9a48b024e434e5c4017da07fc44bbe1
Author: Cassandra Beckley <cbeckley at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.cpp
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
Log Message:
-----------
[HLSL] Add __spirv__ macro (#132848)
This macro can be used by HLSL code to detect that it is being compiled
for the SPIR-V target.
Commit: 43829039c9b00a56847027801ab420cff2031143
https://github.com/llvm/llvm-project/commit/43829039c9b00a56847027801ab420cff2031143
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Format/MacroCallReconstructor.cpp
Log Message:
-----------
[Format] Use a range constructor of DenseSet (NFC) (#133382)
Commit: 0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
https://github.com/llvm/llvm-project/commit/0ae9c65d4a1c8d1e620a2843f22e77f05fcf202f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-objdump/llvm-objdump.cpp
Log Message:
-----------
[tools] Use *Set::insert_range (NFC) (#133384)
We can use *Set::insert_range to replace "for" loop-based insertions.
In some cases, we can further fold insert_range into the set
declaration.
Commit: 460d628d9006f63af3d296a90c32a60a347dbc2c
https://github.com/llvm/llvm-project/commit/460d628d9006f63af3d296a90c32a60a347dbc2c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] Clean up unused argument, unify style, modernize syntax (NFC)
Finalize code style overhaul in GVN, following up to
2a0946bc0dffca89d16cd9d5208ec9416ed8100e and 9deed7d2ef3a147c4e8410910967fde601359039.
Commit: 2218587b5b131bb8ed57c3e6c7a5c0c589493300
https://github.com/llvm/llvm-project/commit/2218587b5b131bb8ed57c3e6c7a5c0c589493300
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
Log Message:
-----------
MIPS: Support isLegalICmpImmediate and isLegalAddImmediate (#133400)
Set it to true only if isInt<16>.
By default implemention defines them to true always. For most cases,
MIPS uses 16bit IMM, and for microMIPS, ICMP and ADDiu have 16bit IMM
flavors.
Commit: fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
https://github.com/llvm/llvm-project/commit/fe30cf18ab3eb1aba5ea7e44574e27fdde791c1d
Author: swatheesh-mcw <swatheesh.muralidharan at multicorewareinc.com>
Date: 2025-03-28 (Fri, 28 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/interop-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:
-----------
Revert "Revert "[flang][openmp] Adds Parser and Semantic Support for Interop Construct, and Init and Use Clauses."" (#132343)
Reverts llvm/llvm-project#132005
Commit: 22138720020dd8dfd30dbd220c49d6585126d2f7
https://github.com/llvm/llvm-project/commit/22138720020dd8dfd30dbd220c49d6585126d2f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
Log Message:
-----------
llvm-reduce: Use isCallee helper (#133419)
Commit: 8ea3f818dea7d1104429040486614c96e0698901
https://github.com/llvm/llvm-project/commit/8ea3f818dea7d1104429040486614c96e0698901
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
Log Message:
-----------
[lldb][test] TestCCallingConventions.py: skip on older AArch64 compilers
With our Clang-15 arm64 CI this test-case crashes when compiling the test program:
```
user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
Unexpected callee-save save/restore opcode!
UNREACHABLE executed at /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp:1129!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/clang_1501_build/bin/clang -g -O0 -isysroot /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk -arch arm64 -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/../../../../..//include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/lldb-build/tools/lldb/include -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions -I/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make -include /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/packages/Python/lldbsuite/test/make/test_common.h -fno-limit-debug-info -Werror=ignored-attributes -MT ms_abi.o -MD -MP -MF ms_abi.d -c -o ms_abi.o /Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/Users/ec2-user/jenkins/workspace/llvm.org/lldb-cmake-matrix/llvm-project/lldb/test/API/lang/c/calling-conventions/ms_abi.c'.
4. Running pass 'Prologue/Epilogue Insertion & Frame Finalization' on function '@func'
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0 clang-15 0x0000000105d512b0 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1 clang-15 0x0000000105d500e4 llvm::sys::RunSignalHandlers() + 112
2 clang-15 0x0000000105d507c4 llvm::sys::CleanupOnSignal(unsigned long) + 232
3 clang-15 0x0000000105c79d78 (anonymous namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 128
4 clang-15 0x0000000105c79f94 CrashRecoverySignalHandler(int) + 124
5 libsystem_platform.dylib 0x0000000185ecba24 _sigtramp + 56
6 libsystem_pthread.dylib 0x0000000185e9ccc0 pthread_kill + 288
7 libsystem_c.dylib 0x0000000185daca40 abort + 180
8 clang-15 0x0000000105c88508 llvm::install_out_of_memory_new_handler() + 0
9 clang-15 0x0000000104af7404 fixupCalleeSaveRestoreStackOffset(llvm::MachineInstr&, unsigned long long, bool, bool*) + 0
10 clang-15 0x0000000104af53e0 llvm::AArch64FrameLowering::emitPrologue(llvm::MachineFunction&, llvm::MachineBasicBlock&) const + 3564
```
Commit: 71a977d0d611f3e9f6137a6b8a26b730b2886ce9
https://github.com/llvm/llvm-project/commit/71a977d0d611f3e9f6137a6b8a26b730b2886ce9
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
Log Message:
-----------
[RISCV] Add shift-add (SH1ADD, ...) to isCopyInstrImpl (#133443)
As with #132002, these do show up in a compilation of llvm-test-suite
(including SPEC 2017). We remove 30-40 static instances so this isn't
anything earth shattering.
rs2 is always added to the other shifted (and potentially extended)
operand unmodified, so rs1==zero is equivalent to a copy.
Commit: a983c3b209bf6602c0687251647535c7fa43a17a
https://github.com/llvm/llvm-project/commit/a983c3b209bf6602c0687251647535c7fa43a17a
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[TableGen] Make more use of CodeGenRegisterClass::EnumValue. NFC. (#132749)
Commit: f7f479b2a3ac4c242339896fe1012342dc1e56fc
https://github.com/llvm/llvm-project/commit/f7f479b2a3ac4c242339896fe1012342dc1e56fc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Use templates to reduce duplicated code for assembler operand predicates. (#133351)
We already had a template isUImm function. This patch adds isSImm,
isShiftedUImm, and 2 helpers that take a predicate function to validate
the immediate with. I'm using a template for the predicate function.
Commit: a33d789bb70e8b19840cacfc1980da883ae01ebd
https://github.com/llvm/llvm-project/commit/a33d789bb70e8b19840cacfc1980da883ae01ebd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Avoid invalid reductions on x86_intrcc (#133396)
If there are arguments, the first one must be byval.
Commit: 6526cda5d865d55b1db5aa0faffb29448e5c6a23
https://github.com/llvm/llvm-project/commit/6526cda5d865d55b1db5aa0faffb29448e5c6a23
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
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.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Migrating DAP 'initialize' to new typed RequestHandler. (#133007)
This adds new types and helpers to support the 'initialize' request with
the new typed RequestHandler. While working on this I found there were a
few cases where we incorrectly treated initialize arguments as
capabilities. The new `lldb_dap::protocol::InitializeRequestArguments`
and `lldb_dap::protocol::Capabilities` uncovered the inconsistencies.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: 4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
https://github.com/llvm/llvm-project/commit/4abe47c6fc06e44792bc1b0dc58f3b453ae4fb80
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/mktime_test.cpp
Log Message:
-----------
[libc] Enable 'mktime' for the GPU (#133437)
Summary:
This is a dependency on `strftime` which we provide, so we should have
this.
Commit: ea8573aca5bf5a629bfb01113d74b36efd5c2a51
https://github.com/llvm/llvm-project/commit/ea8573aca5bf5a629bfb01113d74b36efd5c2a51
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add statusline to the release notes (#133281)
Add a release note for the LLDB statusline: #121860
Commit: 1b86867ab3ccf731863043718d53700535e0fb21
https://github.com/llvm/llvm-project/commit/1b86867ab3ccf731863043718d53700535e0fb21
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-arguments-x86_intrcc.ll
A llvm/test/tools/llvm-reduce/remove-argument-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes when removing arguments (#133407)
The attribute APIs make this cumbersome. There seem to be missing
overloads using AttrBuilder for the function attrs. Plus there doesn't
seem to be a direct way to set the function attrs on the call.
Commit: 688df34634a5e3d9423060442a47a01b185ef4e1
https://github.com/llvm/llvm-project/commit/688df34634a5e3d9423060442a47a01b185ef4e1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags when removing arguments (#133408)
Commit: 115a77df9d8475bc62bc22fe52d0d1c62d8111e5
https://github.com/llvm/llvm-project/commit/115a77df9d8475bc62bc22fe52d0d1c62d8111e5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/remove-arguments-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing metadata when removing arguments (#133409)
Commit: 277ab85d1ccf80750f5193495c0665808c2863de
https://github.com/llvm/llvm-project/commit/277ab85d1ccf80750f5193495c0665808c2863de
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Lex/Preprocessor.cpp
Log Message:
-----------
[clang] Make `PreprocessorOptions` reference const
Commit: 6b1acdb818dd158619c71546af1bf5e134cd7e03
https://github.com/llvm/llvm-project/commit/6b1acdb818dd158619c71546af1bf5e134cd7e03
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-bundles.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Fix losing operand bundles when removing arguments (#133410)
Commit: 827f2ad64394bdcafabc58133c4b8258f728763c
https://github.com/llvm/llvm-project/commit/827f2ad64394bdcafabc58133c4b8258f728763c
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
Log Message:
-----------
AMDGPU: Convert vector 64-bit shl to 32-bit if shift amt >= 32 (#132964)
Convert vector 64-bit shl to 32-bit if shift amt is known to be >= 32.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 44e3735ac18407f23a4e1fea29192449dbe3d4de
https://github.com/llvm/llvm-project/commit/44e3735ac18407f23a4e1fea29192449dbe3d4de
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-arguments-preserve-wrong-cc.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Preserve original callsite calling conv when removing arguments (#133411)
In undefined mismatch cases, this was fixing the callsite to use the calling
convention of the new function. Preserve the original wrong callsite's calling
convention.
Commit: 133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
https://github.com/llvm/llvm-project/commit/133c1afa8e54d4e9599cb0d8aad843c03f0e63b9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-arguments-invoke.ll
A llvm/test/tools/llvm-reduce/reduce-arguments-non-callee-use.ll
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
Log Message:
-----------
llvm-reduce: Filter function based on uses before removing arguments (#133412)
Invokes and others are not handled, so this was leaving broken callsites
behind for anything other than CallInst
Commit: 049f179606a4af3ea650d7049626d267e01b79e2
https://github.com/llvm/llvm-project/commit/049f179606a4af3ea650d7049626d267e01b79e2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Support/CMakeLists.txt
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/unittests/Analysis/ValueTrackingTest.cpp
M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
Log Message:
-----------
[Analysis][NFC] Extract KnownFPClass (#133457)
- extract KnownFPClass for future use inside of GISelKnownBits
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 8c7550132f410766598ba88de6b7e7a2a4607f67
https://github.com/llvm/llvm-project/commit/8c7550132f410766598ba88de6b7e7a2a4607f67
Author: Ana Mihajlovic <Ana.Mihajlovic at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/addsubu64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement-stack-lower.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i128.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.i8.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.global.atomic.csub.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mubuf-global.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/mul.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/amdgcn.bitcast.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_local_pointer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/carryout-selection.ll
M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes-flat.ll
M llvm/test/CodeGen/AMDGPU/div-rem-by-constant-64.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
M llvm/test/CodeGen/AMDGPU/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/AMDGPU/gfx10-vop-literal.ll
M llvm/test/CodeGen/AMDGPU/gfx12_scalar_subword_loads.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
M llvm/test/CodeGen/AMDGPU/idiv-licm.ll
M llvm/test/CodeGen/AMDGPU/integer-mad-patterns.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.intersect_ray.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.prefetch.data.ll
M llvm/test/CodeGen/AMDGPU/llvm.mulo.ll
M llvm/test/CodeGen/AMDGPU/load-constant-always-uniform.ll
M llvm/test/CodeGen/AMDGPU/lrint.ll
M llvm/test/CodeGen/AMDGPU/lround.ll
M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/match-perm-extract-vector-elt-bug.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memmove-var-size.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/offset-split-flat.ll
M llvm/test/CodeGen/AMDGPU/offset-split-global.ll
M llvm/test/CodeGen/AMDGPU/promote-constOffset-to-imm.ll
M llvm/test/CodeGen/AMDGPU/reassoc-mul-add-1-to-mad.ll
M llvm/test/CodeGen/AMDGPU/saddo.ll
M llvm/test/CodeGen/AMDGPU/saddsat.ll
M llvm/test/CodeGen/AMDGPU/shl_add_ptr_csub.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/ssubsat.ll
M llvm/test/CodeGen/AMDGPU/sub.ll
M llvm/test/CodeGen/AMDGPU/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/usubsat.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-add.ll
M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
Log Message:
-----------
[AMDGPU] Unused sdst writing to null (#133229)
Unused sdst writing to null to avoid a false VALU->SALU dependency
stall. This requires using the VOP3 encoding.
Commit: 4c4e4e4299b16d8dd85811e9dd8697b17c95577f
https://github.com/llvm/llvm-project/commit/4c4e4e4299b16d8dd85811e9dd8697b17c95577f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strengthen calls to collectInstsToScalarize (NFC) (#130642)
Avoid the pattern of always calling collectInstsToScalarize after
collectUniformsAndScalars, and call it in collectUniformsAndScalars
instead. Also strengthen checks for early exits in the function.
Commit: b8c86dc7699d3c561bcbee143d2022561d5cc8a3
https://github.com/llvm/llvm-project/commit/b8c86dc7699d3c561bcbee143d2022561d5cc8a3
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
Log Message:
-----------
[SystemZ] Remove custom implementation of optimizeLoadInst [NFC] (#133123)
In 236f938ef, I introduced a generic version of this routine. I believe
that the SystemZ specific version of this is less general than the
generic version, and is thus unrequired. I wasn't 100% given the
difference in sub-register, multiple use and defs, but from the SystemZ
code, it looks like those cases simply don't arise?
Commit: e70fe9b264b6f98fd3744b514d7166f75dd19872
https://github.com/llvm/llvm-project/commit/e70fe9b264b6f98fd3744b514d7166f75dd19872
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/test/AST/ast-dump-templates.cpp
Log Message:
-----------
NFC: fix typo in clang/test/AST/ast-dump-templates.cpp
Commit: b3f01a6aa45b00240cec1c64286b85d7ba87e2af
https://github.com/llvm/llvm-project/commit/b3f01a6aa45b00240cec1c64286b85d7ba87e2af
Author: Qiu Chaofan <qcf at ecnelises.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/FrontendAction.cpp
A clang/test/Frontend/print-stats.c
Log Message:
-----------
[Clang] Check PP presence when printing stats (#131608)
Front-end option `-print-stats` can be used to print statistics around
the compilation process. But clang with this options will crash when
input is IR file. This patch fixes the crash by checking preprocessor
presence before invoking it.
Commit: d6d559cc090b775649f1de6f6bfcc029184d4fb5
https://github.com/llvm/llvm-project/commit/d6d559cc090b775649f1de6f6bfcc029184d4fb5
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Add zvfhmin to zipeven/zipodd shuffle tests per review suggestion
Commit: bc37fea107dd21ea92efee20032a844e09d4e504
https://github.com/llvm/llvm-project/commit/bc37fea107dd21ea92efee20032a844e09d4e504
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
Log Message:
-----------
[RISCV] Fix the disassembler's handling of C.LUI when imm=0 (#133450)
Fix for #133446.
According to the RISC-V spec: "C.LUI is valid only when rd≠{x0,x2}, and
when the immediate is not equal to zero. The code points with imm=0 are
reserved".
This change makes the disassembler consider code points with imm=0 as
illegal. It introduces a test which exercises every C.LUI opcode
including the illegal ones but excluding those assigned to C.ADDI16SP).
Output for +c, +c +Zcmop, and +c +no-rvc-hints is checked.
Commit: b0bb86e239b2b09476ca58976094cc645ea9194f
https://github.com/llvm/llvm-project/commit/b0bb86e239b2b09476ca58976094cc645ea9194f
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
Log Message:
-----------
[HLSL][NFC] Use method builder to create default resource constructor (#131384)
Updates `BuiltinTypeMethodBuilder` helper class to support creation of
constructors and updates the code that creates default constructor for
resource classes to use it.
This enables us to share code when creating builtin methods and
constructors and will come in handy when we add more constructors in the
future.
Depends on #131032.
Commit: da84a7d4038177152082265c0d425866a4f71659
https://github.com/llvm/llvm-project/commit/da84a7d4038177152082265c0d425866a4f71659
Author: John Holdsworth <github at johnholdsworth.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/SymbolTable.cpp
A lld/test/MachO/interposable.s
Log Message:
-----------
[lld][MachO] Support for -interposable (#131813)
As discussed in https://github.com/llvm/llvm-project/issues/53680, add
support for ld64's -interposable flag on Apple platforms to lld.
Commit: 4e4cb4359ae915b5a14c94914e39a8cc94e98963
https://github.com/llvm/llvm-project/commit/4e4cb4359ae915b5a14c94914e39a8cc94e98963
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/alu8.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr65025.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.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-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
M llvm/test/CodeGen/RISCV/split-store.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
Log Message:
-----------
[RISCV][MC] Enable printing of zext.b alias (#133502)
The comment shows that at the time we were worried about producing the
alias in assembly that might be ingested by a binutils version that
doesn't yet support it. binutils gained support over 4 years ago
<https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2137f55ad04e451d834048d4bfec1de2daea20e>.
With all the changes in areas such as ELF attributes, if you tried to
use LLVM's RISC-V assembler output with a binutils that old then zext.b
would be the least of your worries.
Commit: 70f083f068ef0c6c589897d44e809ca18d5d1148
https://github.com/llvm/llvm-project/commit/70f083f068ef0c6c589897d44e809ca18d5d1148
Author: David Green <david.green at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
Log Message:
-----------
[LV][AArch64] Test cleanup of low_trip_count_predicates.ll. NFC
Post commit cleanup from #132170
Commit: 864c76a181dd054a2c74ffa58b02bc554a8a1f83
https://github.com/llvm/llvm-project/commit/864c76a181dd054a2c74ffa58b02bc554a8a1f83
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Rename operands used for branch and compressed jump targets. NFC (#133364)
The current names look just like predicates we use for regular
immediates, but branches and jumps also allow bare symbols.
While I was there I realized I could use PredicateMethod to have the
AsmMatcher directly call the template function we use in the asm parser.
Commit: 77ba6918a14ddef4ee639bf6221cc2eb95adf320
https://github.com/llvm/llvm-project/commit/77ba6918a14ddef4ee639bf6221cc2eb95adf320
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
Log Message:
-----------
[mlir][linalg] Fix FoldReshapeWithGenericOpByCollapsing insertion point (#133476)
Fixes dominance verifier error with
`FoldReshapeWithGenericOpByCollapsing` by setting the insertion point
after `producer`. The `tensor.collapse_shape` op only has a single
operand (`producer`) so it is safe to insert after the producer.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 1bfc61064ab46e44865453d2c2176f5e7f96987c
https://github.com/llvm/llvm-project/commit/1bfc61064ab46e44865453d2c2176f5e7f96987c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll
Log Message:
-----------
[SLP]Fix spill cost analysis for split vectorized nodes
If the entry is SplitVectorize, it can be skipped in favor of its
operands, operands allow correctly detect spill costs.
Fixes #133288
Commit: d4dc5712c47dab5f5dcfc329db8121059b591fb1
https://github.com/llvm/llvm-project/commit/d4dc5712c47dab5f5dcfc329db8121059b591fb1
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Allow setting a base directory for hosted pages (#132482)
Currently, when we set URLs from JS, we set them only using the protocol
and host locations. This works fine when docs are served from the base
directory of the site, but if you want to nest it under another
directory, our JS fails to set the correct path, leading to broken
links.
This patch adds a --base option to specify the path prefix to use, which
is set in the generated index_json.js file. index.json can then fill in
the prefix appropriately when generating links in a browser. This flag
has no effect for non HTML output.
Given an index hosted at: www.docs.com/base_directory/index.html
we used to generate the following link:
www.docs.com/file.html
Using --base base_directory we now generate:
www.docs.com/base_directory/file.html
This allows such links to work when hosting pages without using a custom
index.js.
Commit: c8246f69f4e17b877bf42643f3d4360a89232f68
https://github.com/llvm/llvm-project/commit/c8246f69f4e17b877bf42643f3d4360a89232f68
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Remove friend declarations from __tree (#133237)
Instead, make the few functions `map` relies on public. This makes it
more clear what is private to `__tree` and what is part of the
library-internal interface.
Commit: 45b9e24b1ea8f34230cb2a746d624bd7e64e484b
https://github.com/llvm/llvm-project/commit/45b9e24b1ea8f34230cb2a746d624bd7e64e484b
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/metadata/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Fix some small typos in compiler-rt. NFC (#133388)
Commit: 91d2ecf0d563b03d75380375e8ac26a291bed9d7
https://github.com/llvm/llvm-project/commit/91d2ecf0d563b03d75380375e8ac26a291bed9d7
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/CPP/atomic.h
M mlir/include/mlir/Analysis/Presburger/Simplex.h
M mlir/include/mlir/AsmParser/AsmParser.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
M mlir/test/mlir-tblgen/op-properties-predicates.td
Log Message:
-----------
[NFC] Fix some typos in libc and mlir comments (#133374)
Commit: 812efdb0940f82fbfd2a139573764364cb55cdc2
https://github.com/llvm/llvm-project/commit/812efdb0940f82fbfd2a139573764364cb55cdc2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.11
Commit: c0952a931c7d556ca9f0073d86d591a37eb60477
https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking-debuginfo.c
Log Message:
-----------
[clang] [sanitizer] add pseudofunction to indicate array-bounds check (#128977)
With this, we can:
* use profilers to estimate how many cycles we spend on these checks
(subject to caveats),
* more easily see why we crashed.
Commit: 812e02a74c0afb8bce8bf7ac7cc606ace188e30d
https://github.com/llvm/llvm-project/commit/812e02a74c0afb8bce8bf7ac7cc606ace188e30d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
A llvm/test/CodeGen/NVPTX/frem.ll
Log Message:
-----------
[NVPTX] Use fast-math flags when lowering sin, cos, frem (#133121)
Update the lowering rules for sin, cos, and frem to respect the
instruction-level flags in addition to the global and function-level
options. For sin and cos, the TableGen lowering has been updated to
check the `afn` flag on the node. The lowering for frem has been pulled
to custom instruction legalization in order to allow for DAG Combiner
optimizations to operate over the expanded instructions.
Commit: 83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
https://github.com/llvm/llvm-project/commit/83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Make Root Signature lexer keywords case-insensitive (#132967)
>From the corrections to the Root Signature specification here:
https://github.com/llvm/wg-hlsl/issues/192. It was denoted that keywords
are also case-insensitive in DXC.
This pr adjusts the lexer to adhere to the updated spec.
We also have a NFC to add a missing license to a file while in the area.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 0c811053734e49151fb436f8afbb87b396bcb15e
https://github.com/llvm/llvm-project/commit/0c811053734e49151fb436f8afbb87b396bcb15e
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Disable PGO on NVPTX (#133522)
Commit: 3026fa0eb61904d6dde1dba8c93a3c757c2d4056
https://github.com/llvm/llvm-project/commit/3026fa0eb61904d6dde1dba8c93a3c757c2d4056
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
Log Message:
-----------
[HLSL] add CustomTypeChecking to float builtins (#133441)
- Add CustomTypeChecking to HLSL builtins that take float arguments
- Add new builtin tests to confirm CustomTypeChecking doesn't promote
scalar float arguments aren't promoted to double
- fixes #133440
Commit: 783a846507683c7b515473b833c9cf02cd2b1993
https://github.com/llvm/llvm-project/commit/783a846507683c7b515473b833c9cf02cd2b1993
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
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/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add VF as operand to VPScalarIVStepsRecipe.
Similarly to other recipes, update VPScalarIVStepsRecipe to also take
the runtime VF as argument. This removes some unnecessary runtime VF
computations for scalable vectors. It will also allow dropping the
UF == 1 restriction for narrowing interleave groups required in
577631f0a528.
Commit: bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
https://github.com/llvm/llvm-project/commit/bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
Author: Mohammed Keyvanzadeh <mohammadkeyvanzade94 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/AddressRanges.h
Log Message:
-----------
[llvm][ADT] Some AddressRanges.h improvements (#132847)
- Rename parameter to adhere to the project's parameter naming
convention.
- Remove redundant template argument.
- Remove redundant name-qualification.
- Change non-explicit conversion operator to an explicit one to avoid
surprising implicit conversions.
Commit: 457970d25d7216d793734915ab675701e50c292c
https://github.com/llvm/llvm-project/commit/457970d25d7216d793734915ab675701e50c292c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.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/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
Log Message:
-----------
[libc++][NFC] Format std::num_put tests
Commit: 77913b5d1dc970e3e053ab1ab160da897560b1b4
https://github.com/llvm/llvm-project/commit/77913b5d1dc970e3e053ab1ab160da897560b1b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add instantiation of VPUnrollPartAccessor<3> to fix link error.
Fix link errors with GCC by providing an explicit instantiation.
Commit: 5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
https://github.com/llvm/llvm-project/commit/5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[doc][IR] Add documentation for `llvm.vector.(de)interleave3/5/7` (#133519)
I put the documentation of all factors into the same (de)interleave
entries because I really don't see a reason to separate them in an
already long LangRef page.
Commit: 021a1f69742aab7d650887a0978db5cf007967d3
https://github.com/llvm/llvm-project/commit/021a1f69742aab7d650887a0978db5cf007967d3
Author: Alex <alejandro.duran at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/include/OffloadPolicy.h
M offload/libomptarget/PluginManager.cpp
Log Message:
-----------
[OFFLOAD] Stricter enforcement of user offload disable (#133470)
If user specifies offload is disabled (e.g.,
OMP_TARGET_OFFLOAD=disable), disable library almost completely. This
reduces resources spent to a minimum and ensures all APIs behave as if
the only available device is the host device.
Currently some of the APIs behave as if there were devices avaible for
offload even when under OMP_TARGET_OFFLOAD=disable.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 973bf4d53b9cfac4400a9954d9c527092b238a86
https://github.com/llvm/llvm-project/commit/973bf4d53b9cfac4400a9954d9c527092b238a86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Remove unnecessary if guard before calling SignExtend64<6> in decodeCLUIImmOperand. NFC (#133514)
Commit: 5bdce305793f161cfa1bf69a65954089c99ccf0b
https://github.com/llvm/llvm-project/commit/5bdce305793f161cfa1bf69a65954089c99ccf0b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][True16][CodeGen] remove v2i16 from srl pattern (#133458)
remove v2i16 from srl true16 pattern since 16bit right shift on v2i16
should not be applied with this pattern
Commit: 48408954670e1f564bd92eed6b54bf155238201c
https://github.com/llvm/llvm-project/commit/48408954670e1f564bd92eed6b54bf155238201c
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
Log Message:
-----------
[libc] implement `memalignment` (#132493)
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
§7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).
- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)
Closes #132300
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 5252bb1d74cc7bcbba4d0f6826486f43a124d01c
https://github.com/llvm/llvm-project/commit/5252bb1d74cc7bcbba4d0f6826486f43a124d01c
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir] IntegerRangeAnalysis: return initialized state for noninteger values (#133541)
Otherwise, the state for noninteger values remains uninitialized,
causing the analysis to return bogus results.
Commit: 934f2557bacbbe914878c1ba56a17a8c6eae83c9
https://github.com/llvm/llvm-project/commit/934f2557bacbbe914878c1ba56a17a8c6eae83c9
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir][analysis] Commit missing check lines
Commit: b394babddcec466a4cb8f31ea94b99c1b934ea71
https://github.com/llvm/llvm-project/commit/b394babddcec466a4cb8f31ea94b99c1b934ea71
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Transforms/HotColdSplit/musttail.ll
Log Message:
-----------
[HotColdSplit] Don't outline musttail calls. (#133177)
musttail calls have several restrictions, generally enforcing matching
calling conventions between the caller parent and musttail callee. We
can't usually honor them, because the extracted function has a different
signature altogether, taking inputs/outputs and returning a control-flow
identifier rather than the actual return value.
Don't consider musttail calls as valid for extraction.
Commit: e29f228a0732b126cca3ee2ff2536f08c1e49434
https://github.com/llvm/llvm-project/commit/e29f228a0732b126cca3ee2ff2536f08c1e49434
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
actually fix the test
Commit: 1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
https://github.com/llvm/llvm-project/commit/1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
Log Message:
-----------
[HLSL] Add WaveReadLaneAt unsigned integer overloads (#133520)
Add WaveReadLaneAt unsigned integer overloads
2nd argument of WaveReadLaneAt should be a uint32_t and not an int32_t
add tests
Closes #133473
Commit: 1e00bb16f488492198df692ae2e2abc405a138f3
https://github.com/llvm/llvm-project/commit/1e00bb16f488492198df692ae2e2abc405a138f3
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
[sanitizer] actually run preadv2 test (#133529)
it seems the %run was accidentally omitted, otherwise the `assert` calls
would not make sense
Commit: c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
https://github.com/llvm/llvm-project/commit/c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/test/CodeGen/X86/global-variable-partition.ll
Log Message:
-----------
[CodeGen][StaticDataPartitioning]Place local-linkage global variables in hot or unlikely prefixed sections based on profile information (#125756)
In this PR, static-data-splitter pass finds out the local-linkage global
variables in {`.rodata`, `.data.rel.ro`, `bss`, `.data`} sections by
analyzing machine instruction operands, and aggregates their accesses
from code across functions.
A follow-up item is to analyze global variable initializers and count
for access from data.
* This limitation is demonstrated by `bss2` and `data3` in
`llvm/test/CodeGen/X86/global-variable-partition.ll`.
Some stats of static-data-splitter with this patch:
**section**|**bss**|**rodata**|**data**
:-----:|:-----:|:-----:|:-----:
hot-prefixed section coverage|99.75%|97.71%|91.30%
unlikely-prefixed section size percentage|67.94%|39.37%|63.10%
1. The coverage is defined as `#perf-sample-in-hot-prefixed <data>
section / #perf-sample in <data.*> section` for each <data> section.
* The perf command samples
`MEM_INST_RETIRED.ALL_LOADS:u:pinned:precise=2` events at a high
frequency (`perf -c 2251`) for 30 seconds. The profiled binary is built
as non-PIE so `data.rel.ro` coverage data is not available.
2. The unlikely-prefixed `<data>` section size percentage is defined as
`unlikely <data> section size / the sum size of <data>.* sections` for
each `<data>` section
Commit: 515d1ae679ea25687423be37abec74565d755921
https://github.com/llvm/llvm-project/commit/515d1ae679ea25687423be37abec74565d755921
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add --repository-line-prefix argument (#131280)
This PR adds a new command-line option that allows users to specify the
prefix used for line-based anchors in repository URLs. Different
repository interfaces use different formats for line anchors (GitHub
uses `#L123`, googlesource uses `#123`, etc.). This option enables users
to customize the line prefix to match their repository platform without
requiring hard-coded values for each service.
Fixes #59814
Commit: 6cc208cd3c80a57c535ad2ea7e8a189d02966682
https://github.com/llvm/llvm-project/commit/6cc208cd3c80a57c535ad2ea7e8a189d02966682
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libc/Maintainers.rst
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/index.rst
M llvm/Maintainers.md
Log Message:
-----------
[libc] Add maintainers file (#133471)
Based on #133297 by jhuber.
LLVM-libc needs a maintainers file, this patch adds an initial set.
The file is based on `clang/maintainers.rst` and
https://llvm.org/docs/DeveloperPolicy.html#maintainers.
Commit: 8dc64e93cb203904c778ba7c390f8b7adc85bb02
https://github.com/llvm/llvm-project/commit/8dc64e93cb203904c778ba7c390f8b7adc85bb02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
llvm-reduce: Avoid double map lookup (#133447)
Commit: 27b53e90a50428456e48a04b606fc366d48520a9
https://github.com/llvm/llvm-project/commit/27b53e90a50428456e48a04b606fc366d48520a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName instead of setName when cloning functions (#133393)
Commit: 4324f236ac8e8487f82c2f5e9fff1560600019c8
https://github.com/llvm/llvm-project/commit/4324f236ac8e8487f82c2f5e9fff1560600019c8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port c8a70f4c6e24
Commit: bb047b9ea37f8183941bdbffde00886fa4ab2407
https://github.com/llvm/llvm-project/commit/bb047b9ea37f8183941bdbffde00886fa4ab2407
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/lib/SandboxIR/Constant.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement missing ConstantVector member functions (#131390)
This patch implements get(), getSplat(), getSplatValue() and getType(),
mirroring LLVM IR.
Commit: fb0cd9899d79211a497f0b560f73d2bca67d7d9d
https://github.com/llvm/llvm-project/commit/fb0cd9899d79211a497f0b560f73d2bca67d7d9d
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
NFC: Remove unused includes (#133474)
Commit: 304b3c500021a9281a1d03cf3a63380ca31f7451
https://github.com/llvm/llvm-project/commit/304b3c500021a9281a1d03cf3a63380ca31f7451
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.RawPtrRefMemberChecker] The checker doesn't warn Objective-C types in ivars. (#132833)
This PR fixes the bug that we weren't generating warnings when a raw
poiner is used to point to a NS type in Objective-C ivars. Also fix the
bug that we weren't suppressing this warning in system headers.
Commit: 84c1afe69e51018fd48462d95190797f880d5195
https://github.com/llvm/llvm-project/commit/84c1afe69e51018fd48462d95190797f880d5195
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Simplify instruction reduction to avoid worklist (#133391)
Commit: b2e2950358ff6fc201e408145b30db63b33d486b
https://github.com/llvm/llvm-project/commit/b2e2950358ff6fc201e408145b30db63b33d486b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
R llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll
Log Message:
-----------
llvm-reduce: Remove xfailed test for ifunc with constant expression (#133389)
The verifier does reject this now
Commit: 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
https://github.com/llvm/llvm-project/commit/8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
A llvm/test/tools/llvm-reduce/Inputs/flaky-test.py
A llvm/test/tools/llvm-reduce/flaky-interestingness.ll
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Do not assert if the input is no longer interesting (#133386)
If the interestingness script is flaky, we should not assert. Print
a warning, and continue. This could still happen as a result of an
llvm-reduce bug, so make a note of that.
Add a --skip-verify-interesting-after-counting-chunks option to
avoid the extra run of the reduction script, and to silence the
warning.
Commit: 842f25a5fb781491c14102d0db1886a78a190ed5
https://github.com/llvm/llvm-project/commit/842f25a5fb781491c14102d0db1886a78a190ed5
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 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:
-----------
[NFC] [dataflow] generalize smart pointer caching (#133350)
This allows us to use it for classes that use other names than get /
value.
Commit: 8726e973459d93d34653946ba1e01ad198cdf11f
https://github.com/llvm/llvm-project/commit/8726e973459d93d34653946ba1e01ad198cdf11f
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll
Log Message:
-----------
[msan] Handle SSE2 cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps using handleSSEVectorConvertIntrinsicByProp (#132815)
cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps are currently handled strictly.
This patch handles them using handleSSEVectorConvertIntrinsicByProp
(from https://github.com/llvm/llvm-project/pull/130705), generalized to
handle SSE intrinsics that do not have a rounding mode parameter.
Commit: 724f2096cedd6e179c79eaddf41accaad1218c96
https://github.com/llvm/llvm-project/commit/724f2096cedd6e179c79eaddf41accaad1218c96
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
M llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
M llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
M llvm/test/tools/llvm-reduce/remove-attributes-from-intrinsics.ll
M llvm/test/tools/llvm-reduce/remove-function-bodies.ll
M llvm/test/tools/llvm-reduce/remove-instructions.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/test/tools/llvm-reduce/remove-module-data.ll
M llvm/test/tools/llvm-reduce/remove-multiple-use-of-args-in-same-instruction.ll
M llvm/test/tools/llvm-reduce/skip-delta-passes.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode-split.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode.ll
Log Message:
-----------
llvm-reduce: Add -abort-on-invalid-reduction to more tests (#133390)
If I flip the default, the only failures are in MIR tests.
Commit: 22a11be8ab6f31cd3621f37d675e44988218f314
https://github.com/llvm/llvm-project/commit/22a11be8ab6f31cd3621f37d675e44988218f314
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Fix parser of `vector.contract` (#133434)
This PR adds a check in the parser to prevent a crash when
`vector.contract` lacks the `iterator_types` attribute.
Fixes #132886.
Commit: 55430f8673b9f8b27779faad3fe9c59954d539df
https://github.com/llvm/llvm-project/commit/55430f8673b9f8b27779faad3fe9c59954d539df
Author: peterbell10 <peterbell10 at openai.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
Log Message:
-----------
[NVPTX] Customize getScalarizationOverhead (#128077)
We've observed that the SLPVectorizer is too conservative on NVPTX
because it over-estimates the cost to build a vector. PTX has a single
`mov` instruction that can build e.g. `<2 x half>` vectors from scalars,
however the SLPVectorizer over-estimates it as the cost of 2 insert
elements.
To fix this I customize `getScalarizationOverhead` to lower the cost for
building 2x16 types.
Commit: 539ef5eee2c26b93923ed7872c6f847ff54c71ae
https://github.com/llvm/llvm-project/commit/539ef5eee2c26b93923ed7872c6f847ff54c71ae
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Addressing ubsan enum usage. (#133542)
Running tests with ubsan enabled showed that the current
`protocol::AdapterFeature` and `protocol::ClientFeature` enums are
incorrectly defined if we want to use them in a `llvm::DenseSet`. The
enums are currently untyped and this results in the undefined behavior.
Adding `FLAGS_ENUM()` wrappers to all the enums in the
`lldb-dap::protocol` namespace to ensure they're typed so they can be
used with types like `llvm::DenseSet`.
Commit: f8ffbaebed1a7ac82a445a22630fefb769f0d08b
https://github.com/llvm/llvm-project/commit/f8ffbaebed1a7ac82a445a22630fefb769f0d08b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[test] Test absolute/relative relocations referencing undefined non-weak symbol
Commit: edef028029c4785dfe23c06731de4fc9f34d5cd5
https://github.com/llvm/llvm-project/commit/edef028029c4785dfe23c06731de4fc9f34d5cd5
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-28 (Fri, 28 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
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xqciio-aliases-valid.s
A llvm/test/MC/RISCV/xqciio-invalid.s
A llvm/test/MC/RISCV/xqciio-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciio (External Input Output) extension (#132721)
This extension adds two external input output instructions for
non-memory-mapped device.
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: b33cc642ed398b13875dbb9099916affce355b49
https://github.com/llvm/llvm-project/commit/b33cc642ed398b13875dbb9099916affce355b49
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
Log Message:
-----------
[lldb] Use *Set::insert_range and a range constructor (NFC) (#133548)
This patch uses *Set::insert_range and a range constructor of DenseSet
to clean up the code to populate sets.
Commit: d4427f308eb6e42790a36b56d61b482cbc9f67ba
https://github.com/llvm/llvm-project/commit/d4427f308eb6e42790a36b56d61b482cbc9f67ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/unittests/ADT/DirectedGraphTest.cpp
Log Message:
-----------
[llvm] Use range constructors of *Set (NFC) (#133549)
Commit: d3c10a3897ccd060090ca273de4cedb91cd2d605
https://github.com/llvm/llvm-project/commit/d3c10a3897ccd060090ca273de4cedb91cd2d605
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[CodeGen] Use llvm::reverse (NFC) (#133550)
Commit: f915015a3e22d569f23dee0e042bfd6f4ee74509
https://github.com/llvm/llvm-project/commit/f915015a3e22d569f23dee0e042bfd6f4ee74509
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[llvm] Remove extraneous calls to make_range (NFC) (#133551)
Commit: 854d795985d404236346340cb015409c30078e46
https://github.com/llvm/llvm-project/commit/854d795985d404236346340cb015409c30078e46
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[mlir] Use llvm::reverse (NFC) (#133552)
Commit: 63bb0078f824143f580225ad92464b21186f646e
https://github.com/llvm/llvm-project/commit/63bb0078f824143f580225ad92464b21186f646e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
Log Message:
-----------
[ctxprof] Auto root detection: trie for stack samples (#133106)
An initial patch for supporting automated root detection. The auto-detector is introduced subsequently, but this patch introduces a datastructure for capturing sampled stacks, per thread, in a trie, and inferring from such samples which functions are reasonable roots.
Commit: 1d4801f22ab1fd6205b1cf625b690aefc554cd4c
https://github.com/llvm/llvm-project/commit/1d4801f22ab1fd6205b1cf625b690aefc554cd4c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir] fix `maybeReplaceWithConstant` in IntRangeOptimizations (#133556)
If a dialect is caching/reusing constants when materializing then such
constants might already have `IntegerValueRangeLattice`s associated with
them and the range endpoint bit widths might not match the new
replacement (amongst other possible wackiness).
I observed this with `%true = arith.constant true` which was
materialized but had an existing `IntegerValueRangeLattice` (i.e.,
`solver.getOrCreateState<dataflow::IntegerValueRangeLattice>` was not
uninitalized) with range endpoint bit widths:
```
umin bit width: 32
umax bit width: 32
smin bit width: 32
smax bit width: 32
```
while the widths of the range end points for something like `%20 =
arith.cmpi slt, %19, %c1_i32` (a replacement candidate) would be
```
umin bit width: 1
umax bit width: 1
smin bit width: 1
smax bit width: 1
```
Thus, we should be clearing the analysis state each time a constant is
reused.
Commit: ba2de8f22d0cac86d89c1806fb54ed3463349342
https://github.com/llvm/llvm-project/commit/ba2de8f22d0cac86d89c1806fb54ed3463349342
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Allow absolute relocation referencing symbol index 0 in PIC mode
The value of an absolute relocation, like R_RISCV_HI20 or R_PPC64_LO16,
with a symbol index of 0, the resulting value should be treated as
absolute and permitted in both -pie and -shared links.
This change also resolves an absolute relocation referencing an
undefined symbol in statically-linked executables.
PPC64 has unfortunate exceptions:
* R_PPC64_TOCBASE uses symbol index 0 but it should be treated as
referencing the linker-defined .TOC.
* R_PPC64_PCREL_OPT (https://reviews.llvm.org/D84360) could no longer
rely on `isAbsoluteValue` return false.
Commit: 8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
https://github.com/llvm/llvm-project/commit/8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Move 2 implementation functions up in `CtxInstrProfiling.cpp` (#133146)
Commit: 31fe0d20fc49b0e0f653c95496b7955328f2983b
https://github.com/llvm/llvm-project/commit/31fe0d20fc49b0e0f653c95496b7955328f2983b
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Vectorizers.rst
Log Message:
-----------
[SandboxVec][Doc] Add documentation for the Sandbox Vectorizer (#133504)
Commit: 2898c3e0bbf904c68efb194525bcdfeedb3014c2
https://github.com/llvm/llvm-project/commit/2898c3e0bbf904c68efb194525bcdfeedb3014c2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Simplify Getting Changed Files in Code Formatting Workflow (#133023)
This patch changes getting changed files in the pr code format job to
just checking out the previous two commits (the merge commit and its
porent, the current commit latest in main), which allows us to just diff
the merge commit. This means we do not have to checkout the ref through
the merge base, which should save approximately a minute per job (or
much more in some cases where the PR is particularly out of date).
Commit: 1e03408d4b17a792da5fd01b30f05ff055cfbd79
https://github.com/llvm/llvm-project/commit/1e03408d4b17a792da5fd01b30f05ff055cfbd79
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
Log Message:
-----------
[DirectX] Remove intrinsic definitions with no use (#133459)
Do cleanup in DXILFinalizeLinkage.cpp where intrinsic declares are getting orphaned.
This change reduces "Unsupported intrinsic for DXIL lowering" errors
when compiling DML shaders from 12218 to 415. and improves our
compilation success rate from less than 1% to 44%.
Commit: 40c1d50024f8f0306b8601559d69663ae3d2d9bb
https://github.com/llvm/llvm-project/commit/40c1d50024f8f0306b8601559d69663ae3d2d9bb
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll
Log Message:
-----------
[HLSL] Implement the `smoothstep` intrinsic (#132288)
Closes #99156.
Tasks completed:
- Implement `smoothstep` using HLSL source in `hlsl_intrinsics.h`
- Implement the `smoothstep` SPIR-V target built-in in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add sema checks for `smoothstep` to `CheckSPIRVBuiltinFunctionCall` in
`clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for spv `smoothstep` to `EmitSPIRVBuiltinExpr` in
`clang/lib/CodeGen/TargetBuiltins/SPIR.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/smoothstep.hlsl`
- Add spv codegen test to
`clang/test/CodeGenSPIRV/Builtins/smoothstep.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl`
- Add spv sema tests to
`clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c`
- Create the `int_spv_smoothstep` intrinsic in `IntrinsicsSPIRV.td`
- In SPIRVInstructionSelector.cpp create the `smoothstep` lowering and
map it to `int_spv_smoothstep` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll`
Commit: 34d858635f0887cc083ccbe3ac69fd34f107b4f6
https://github.com/llvm/llvm-project/commit/34d858635f0887cc083ccbe3ac69fd34f107b4f6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Move CI over to new project computation script
This patch migrates the CI over to the new compute_projects.py script
for calculating what projects need to be tested based on a change to
LLVM.
Reviewers: lnihlen, ldionne, tstellar, Endilll, joker-eph, Keenuts
Reviewed By: Keenuts, tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132642
Commit: 21eeca3db0341fef4ab4a6464ffe38b2eba5810c
https://github.com/llvm/llvm-project/commit/21eeca3db0341fef4ab4a6464ffe38b2eba5810c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude docs directories from triggering rebuilds
Currently when someone touches a docs directory in a subproject, it is
treated as if the source code of that project got touched, so the
project is built, it is tested, and the same for all of its enumerated
dependents. This is wasteful, particularly for patches just touching
docs in places like LLVM where we might spend an hour of node time to do
nothing useful given changes in the docs shouldn't cause test failures
and there is already another workflow that tests the documentation build
completes successfully.
Reviewers: Keenuts, tstellar, lnihlen
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/133185
Commit: 41c906fe2b62a8266874a1146b9c85d96f1fa8fa
https://github.com/llvm/llvm-project/commit/41c906fe2b62a8266874a1146b9c85d96f1fa8fa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add rich build information for github workflows
This patch adds rich test failure information to the Github output,
using the same library that is used for the buildkite pipeline.
Eventually I think we want to add more information like reproduction
information using the containers, but that is very divergent between
Github and Buildkite, so we probably want to wait until we've switched
over before doing that.
Reviewers: Keenuts, tstellar, lnihlen, DavidSpickett
Reviewed By: DavidSpickett, Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/133197
Commit: 1e62a3505fa0d0ef1f706549ce62f645f3091cfa
https://github.com/llvm/llvm-project/commit/1e62a3505fa0d0ef1f706549ce62f645f3091cfa
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/RISCV/linker-relaxation.s
Log Message:
-----------
[RISCV] Test %hi(absolute_symbol)
Commit: e87bec622c0d10ae736e160a9335055d466d76ab
https://github.com/llvm/llvm-project/commit/e87bec622c0d10ae736e160a9335055d466d76ab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/fail-execute-test.test
A llvm/test/tools/llvm-reduce/fail-output-file.test
M llvm/tools/llvm-reduce/TestRunner.cpp
Log Message:
-----------
llvm-reduce: Make some error messages more consistent (#133563)
The coding standards states that error messages should start with
a lowercase. Also use WithColor, and add missing test coverage for
the failed to write to output file case.
Commit: 5b3e152e16950e551530b640335bb17dcc70a2fa
https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
Log Message:
-----------
llvm-reduce: Make run-ir-passes error more consistent (#133564)
Avoid capitalized Error. This loses the "Error constructing pass pipeline"
part, and just forwards the error to the default report_fatal_error case. Not
sure if it's worth trying to keep.
Commit: 1878259c3960daeee91e2c95d487514d9e2984a4
https://github.com/llvm/llvm-project/commit/1878259c3960daeee91e2c95d487514d9e2984a4
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][spirv] Update verifier for `spirv.mlir.merge` (#133427)
- Moves the verification logic to the `verifyRegions` method of the
parent operation.
- Fixes a crash during verification when the last block lacks a
terminator.
Fixes #132850.
Commit: fa5025b76034bcdd65d3a96eb29ae1edc18b876e
https://github.com/llvm/llvm-project/commit/fa5025b76034bcdd65d3a96eb29ae1edc18b876e
Author: Marco Elver <elver at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Add entry for pcsections Metadata (#133423)
Add an entry for pcsections Metadata that references the PC Sections
Metadata document.
Fixes: https://github.com/llvm/llvm-project/issues/130552
Commit: 646ad89108da1e1f9aac9c20f348b2053da6fc4d
https://github.com/llvm/llvm-project/commit/646ad89108da1e1f9aac9c20f348b2053da6fc4d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__type_traits/is_referenceable.h
Log Message:
-----------
[libc++] Unify __can_reference and __is_referenceable_v (#133278)
Both traits do the same thing. This patch renames __can_reference to
__referenceable and moves it to the is_referenceable header.
Commit: 5b5f40283da2244f777eb606c722e4483fee4fab
https://github.com/llvm/llvm-project/commit/5b5f40283da2244f777eb606c722e4483fee4fab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes in operand-to-args (#133420)
Commit: d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
https://github.com/llvm/llvm-project/commit/d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags in operands-to-args (#133421)
Commit: d852cc5311e22d845b3d626c80a310570628fa2c
https://github.com/llvm/llvm-project/commit/d852cc5311e22d845b3d626c80a310570628fa2c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing call metadata in operands-to-args (#133422)
Commit: 1d0005a69ac812ea0ff069052daf4c2ea0242a48
https://github.com/llvm/llvm-project/commit/1d0005a69ac812ea0ff069052daf4c2ea0242a48
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[GlobalISel][NFC] Rename GISelKnownBits to GISelValueTracking (#133466)
- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future
Commit: d22e35be1768ed619269e6d0843260b25b52cb34
https://github.com/llvm/llvm-project/commit/d22e35be1768ed619269e6d0843260b25b52cb34
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
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/asinhf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/asinhf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add asinhf16 function (#131351)
Implement asinh for Float16 along with tests. Closes #131001
Commit: 9451617d563d3b0f43d86b25fd1b6a6528d0afc2
https://github.com/llvm/llvm-project/commit/9451617d563d3b0f43d86b25fd1b6a6528d0afc2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC] LLVM reduce: fix unused variable (#133584)
Commit: 1c7ab39f3d6959c64d01c8f275d672bd56315155
https://github.com/llvm/llvm-project/commit/1c7ab39f3d6959c64d01c8f275d672bd56315155
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
A llvm/test/Transforms/LoopStrengthReduce/Mips/lit.local.cfg
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133454)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
https://github.com/llvm/llvm-project/commit/0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
Revert "[NFC] LLVM reduce: remove unused variable" (#133586)
Reverts llvm/llvm-project#133584
Commit: 3e742b517a0606bfed329dfcb8c34c614ed73ea7
https://github.com/llvm/llvm-project/commit/3e742b517a0606bfed329dfcb8c34c614ed73ea7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[NFC][AMDGPU] clang-format `AMDGPUBaseInfo.[h,cpp]` (#133559)
Commit: 374a5bea522f97f0879f30dacd5079297bdcfb39
https://github.com/llvm/llvm-project/commit/374a5bea522f97f0879f30dacd5079297bdcfb39
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
Log Message:
-----------
[Flang][OpenMP] Add PointerAssociateScalar to Cray Pointer used in the DSA (#133232)
Issue: Cray Pointer is not associated to Cray Pointee, leading to
Segmentation fault
Fix: GetUltimate, retrieves the base symbol in the current scope, which
gets passed all the references and returns the original symbol
---------
Co-authored-by: Michael Klemm <michael.klemm at amd.com>
Commit: 847cdd46e5433434661f4d7aa950dd5c5b28c063
https://github.com/llvm/llvm-project/commit/847cdd46e5433434661f4d7aa950dd5c5b28c063
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC][llvm-reduce] Fix an used variable warning in `ReduceOperandsToArgs.cpp`
Commit: e16541e1a6c02b32124e8893b29882bff072fd46
https://github.com/llvm/llvm-project/commit/e16541e1a6c02b32124e8893b29882bff072fd46
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
Log Message:
-----------
[libc++] fix `flat_set`'s transparent `insert` (#133402)
Unlike `flat_map` and `flat_multimap`, The two function template
overloads `flat_set::insert`'s wording strongly suggest we should use
the transparent comparator
https://eel.is/c++draft/flat.set#modifiers-1
Both the code and the tests were not using the transparent comparator,
which needs to be fixed
Commit: 1ff74917b56e9e57dd13286123144b5f13e9a517
https://github.com/llvm/llvm-project/commit/1ff74917b56e9e57dd13286123144b5f13e9a517
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/MachO/Driver.cpp
Log Message:
-----------
[lld] Use *Set::insert_range (NFC) (#133565)
Commit: 3db5be79d24bb48a38e844fafc3db054f8d8cc58
https://github.com/llvm/llvm-project/commit/3db5be79d24bb48a38e844fafc3db054f8d8cc58
Author: vporpo <vporpodas at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
A llvm/test/Transforms/SandboxVectorizer/print_region_pass.ll
Log Message:
-----------
[SandboxVec] Add print-region pass (#131019)
This patch implements a simple printing pass for regions. This is meant
to be used in tests and for debugging.
Commit: 666faa7fd98b7a58e089a38083f33c067ed5b955
https://github.com/llvm/llvm-project/commit/666faa7fd98b7a58e089a38083f33c067ed5b955
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (REAPPLIED) (#133401)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded elts across all users and call SimplifyDemandedVectorElts in "AssumeSingleUse" use.
Second try after #133130 was reverted by #133331 due to it affecting reverted test files
Commit: fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
https://github.com/llvm/llvm-project/commit/fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
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/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
M llvm/test/MC/RISCV/data-directive-specifier.s
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
Log Message:
-----------
[RISCV] Replace @plt/@gotpcrel in data directives with %pltpcrel %gotpcrel
clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo at plt` is different from
the legacy `call func at plt` (where `@plt` is simply ignored).
The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c
RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.
This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.
* MCValue::SymA can no longer have a SymbolVariant. Add an assert
similar to that of AArch64ELFObjectWriter.cpp before
https://reviews.llvm.org/D81446 (see my analysis at
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
if intrigued)
* `jump foo at plt, x31` now has a different diagnostic.
Pull Request: https://github.com/llvm/llvm-project/pull/132569
Commit: b9b39db5d7677710f1d00dc8ff5844ad2abb269f
https://github.com/llvm/llvm-project/commit/b9b39db5d7677710f1d00dc8ff5844ad2abb269f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
Log Message:
-----------
RISCVAsmParser: Don't treat operands with relocation specifier as parse-time constants
An immediate operand is encoded as an `MCExpr`, with `RISCVMCExpr`
specifying an operand that includes a relocation specifier. When
https://reviews.llvm.org/D23568 added initial fixup and relocation
support in 2017, it adapted code from `PPCMCExpr` (for `@l` `@ha`) to
evaluate the `RISCVMCExpr` operand. (PPCAsmParser had considerable
technical debt, though I’ve recently streamlined it somewhat, e.g.
8560da28c69de481f3ad147722577e87b902facb)
Evaluating RISCVMCExpr during parsing is unnecessary. For example,
there's no need to treat `lui a0, %hi(2)` differently from `lui a0,
%hi(foo)` when foo has not been defined yet.
This evaluation introduces unnecessary complexity. For instance, parser
functions require an extra check like `VK == RISCVMCExpr::VK_None`, as
seen in these examples:
```
if (!evaluateConstantImm(getImm(), Imm, VK) || VK != RISCVMCExpr::VK_None)
return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_None;
```
This PR eliminates the parse-time evaluation of `RISCVMCExpr`, aligning
it more closely with other targets.
---
`abs = 0x12345; lui t3, %hi(abs)` now generates
R_RISCV_HI20/R_RISCV_RELAX with linker relaxation.
(Tested by test/MC/RISCV/linker-relaxation.s)
(Notably, since commit ba2de8f22d0cac86d89c1806fb54ed3463349342 in
lld/ELF, the linker can handle R_RISCV_HI relocations with a symbol
index of 0 in -pie mode.)
Pull Request: https://github.com/llvm/llvm-project/pull/133377
Commit: 2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
https://github.com/llvm/llvm-project/commit/2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Use MCRegister. NFC
Commit: 3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
https://github.com/llvm/llvm-project/commit/3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
A llvm/test/Transforms/LoopUnrollAndJam/delete_middle_loop.ll
Log Message:
-----------
[UnrollAndJam] Do not preserve loop nests if a loop was fully unrolled. (#133510)
If UnJ completely unrolls a loop and removes it entirely, the loop
remains in the current loop nest. If the loop nest gets reused the loops
will no longer be valid. As there is no way to remove a loop from a
LoopNest, this patch removes the preserve of the LoopNestAnalysis so
that it will be regenerated.
Fixes #124518
Commit: 884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
https://github.com/llvm/llvm-project/commit/884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
Log Message:
-----------
[clang-tools-extra] Use *Set::insert_range (NFC) (#133589)
Commit: 9c6eca28cbd4689173bc8b0733ffe39363481103
https://github.com/llvm/llvm-project/commit/9c6eca28cbd4689173bc8b0733ffe39363481103
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
Log Message:
-----------
[AArch64] Return an invalid cost for vscale x 2 x i128 srem.
This protects against invalid size requests on scalable vectors by checking the
original VT, not the legalized type when checking for scalars. The cost
returned is now invalid, which lines up with the codegen not being able to
produce a result.
Commit: 0cd82327ff71282b2bfc51090074a3fd63e4842d
https://github.com/llvm/llvm-project/commit/0cd82327ff71282b2bfc51090074a3fd63e4842d
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/BoundsSafety.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/SanitizerCoverage.rst
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
Log Message:
-----------
Fix some typos (NFC) (#133558)
Commit: 6b9813446625408393c5a2b4d0d54470f7932944
https://github.com/llvm/llvm-project/commit/6b9813446625408393c5a2b4d0d54470f7932944
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-29 (Sat, 29 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-unroll.ll
Log Message:
-----------
[VPlan] Re-enable narrowing interleave groups with interleaving.
Remove the UF = 1 restriction introduced by 577631f0a5 building on top
of 783a846507683, which allows updating all relevant users of the VF,
VPScalarIVSteps in particular.
This restores the full functionality of
https://github.com/llvm/llvm-project/pull/106441.
Commit: be7f185ca16e990614113519d003bfe3685f489b
https://github.com/llvm/llvm-project/commit/be7f185ca16e990614113519d003bfe3685f489b
Author: Alcaro <floating at muncher.se>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[NFC][analyzer] Fix typo in VirtualCall checker docs (#133593)
Commit: 3d43739753f3b50824a09343efe40a2a476488df
https://github.com/llvm/llvm-project/commit/3d43739753f3b50824a09343efe40a2a476488df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
Log Message:
-----------
[Basic] Use SmallSet::insert_range (NFC) (#133594)
Commit: d66af9c69b6960ad5f903cc6c0db99395dace6af
https://github.com/llvm/llvm-project/commit/d66af9c69b6960ad5f903cc6c0db99395dace6af
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp
Log Message:
-----------
[mlir] Use SetVector::insert_range (NFC) (#133595)
Commit: abf9c1a18d2875b6a8f98eba3761b8389818e1bf
https://github.com/llvm/llvm-project/commit/abf9c1a18d2875b6a8f98eba3761b8389818e1bf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Switch a few attribute to use the C++11 syntax (#133293)
Using the C++11 attribute syntax makes it more strict where attributes
can be applied, reducing the number of possible positions an attribute
can appear in.
Commit: 31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
https://github.com/llvm/llvm-project/commit/31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][TTI] Adjust VLS shuffle costing to account for sub-mask reuse (#129793)
If we have a shuffle which can be split via VLA where two or more of the
destinations have exactly the same elements, then we only need to
account for them once in costing. The duplicate copies are are (at
worst) whole register moves.
Note that this change only handles the single source case. Doing the
multiple source case seemed a bit more complicated, and I didn't have a
motivating test case.
Commit: 2f5c836e08164ce8835d520001042efe93caf950
https://github.com/llvm/llvm-project/commit/2f5c836e08164ce8835d520001042efe93caf950
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
Log Message:
-----------
[SBProgress] Add swig support for `with` statement in Python (#133527)
We recently added an explicit finalize to SBProgress, #128966. I
realized while adding some additional implementations of SBProgress that
we should to add `with` support for ease of use. This patch addresses
adding and `__enter()__` method (which a no-op) and an `__exit()__` to
swig. I also refactor the emitter for the test to leverage `with`
instead of explicitly calling finalize, and I've updated the docstrings.
Commit: f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
https://github.com/llvm/llvm-project/commit/f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Initial codegen support for the XRivosVizip extension (#131933)
This implements initial code generation support for a subset of the
xrivosvizip extension. Specifically, this adds support for vzipeven,
vzipodd, and vzip2a, but not vzip2b, vunzip2a, or vunzip2b. The others
will follow in separate patches.
One review note: The zipeven/zipodd matchers were recently rewritten to
better match upstream style, so careful review there would be
appreciated. The matchers don't yet support type coercion to wider
types. This will be done in a future patch.
Commit: e8059467ef0041f6735b23ef680eb9070e308e33
https://github.com/llvm/llvm-project/commit/e8059467ef0041f6735b23ef680eb9070e308e33
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix -Wsign-compare warning from f8ee58a
lib/Target/RISCV/RISCVISelLowering.cpp:4629:26: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
4629 | for (unsigned i = 0; i != NumElts; ++i) {
| ~ ^ ~~~~~~~
1 error generated.
Commit: 0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
https://github.com/llvm/llvm-project/commit/0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Use *Set::insert_range (NFC) (#133601)
Commit: 8f5c3deadd79a19c8585e014581288e92462a97c
https://github.com/llvm/llvm-project/commit/8f5c3deadd79a19c8585e014581288e92462a97c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Use llvm::append_range (NFC) (#133602)
Commit: e3a3f78f35e091f005197bdd8f0464684546b5a0
https://github.com/llvm/llvm-project/commit/e3a3f78f35e091f005197bdd8f0464684546b5a0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/WindowScheduler.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#133603)
Commit: f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
https://github.com/llvm/llvm-project/commit/f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: 02af13aacb477d1f0a89375646f09b638055e3b9
https://github.com/llvm/llvm-project/commit/02af13aacb477d1f0a89375646f09b638055e3b9
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV] Simplify evaluateAsRelocatableImpl. NFC
RISCVMCExpr is not created with VK_None.
Commit: ad1ba15ea894ac47b0f2447db191a14ebe1b301d
https://github.com/llvm/llvm-project/commit/ad1ba15ea894ac47b0f2447db191a14ebe1b301d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#133606)
Commit: d8b078d5509d84da987c18cb357aac867051881c
https://github.com/llvm/llvm-project/commit/d8b078d5509d84da987c18cb357aac867051881c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133607)
Commit: db603a09dabefc6847423c8968578ce6d54a7a2d
https://github.com/llvm/llvm-project/commit/db603a09dabefc6847423c8968578ce6d54a7a2d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[MC] Move ELF-specific handleAddSubRelocations to ELFObjectWriter::recordRelocation
Commit: d9b3209e8640e69d328b7ead169c5304a80dd1be
https://github.com/llvm/llvm-project/commit/d9b3209e8640e69d328b7ead169c5304a80dd1be
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[X86] applyFixup: Remove unneeded Target.isAbsolute() and isResolved
Target and isResolved are only used by ARM.
Commit: c6d0e0435dba0a02ad1970e89083ad61922f7245
https://github.com/llvm/llvm-project/commit/c6d0e0435dba0a02ad1970e89083ad61922f7245
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
Log Message:
-----------
[M68k] applyFixup: don't reference Target and IsResolved
They are workarounds only needed by ARM and might be removed.
Commit: eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
https://github.com/llvm/llvm-project/commit/eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/MaximalStaticExpansion.cpp
Log Message:
-----------
[polly] Use *Set::insert_range (NFC) (#133609)
Commit: 976a384ba67adf059ab9fe5550e7e67b6fc53396
https://github.com/llvm/llvm-project/commit/976a384ba67adf059ab9fe5550e7e67b6fc53396
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
Log Message:
-----------
[clang] implement common-sugar for adjusted member-pointers (#133613)
Commit: 9747bb182f430bb1bd3525b7f42e88df626e28e5
https://github.com/llvm/llvm-project/commit/9747bb182f430bb1bd3525b7f42e88df626e28e5
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
A llvm/test/CodeGen/X86/constant-pool-partition.ll
Log Message:
-----------
[CodeGen][StaticDataSplitter]Support constant pool partitioning (#129781)
This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125756
In this PR, static-data-splitter pass produces the aggregated profile
counts of constants for constant pools in a global state
(`StateDataProfileInfo`), and asm printer consumes the profile counts to
produce `.hot` or `.unlikely` prefixes.
This implementation covers both x86 and aarch64 asm printer.
Commit: fea6b388055284f37852e615fbf5b40a3ba34249
https://github.com/llvm/llvm-project/commit/fea6b388055284f37852e615fbf5b40a3ba34249
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/DeltaPass.h
A llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAliases.h
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.h
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.h
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.h
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
M llvm/tools/llvm-reduce/deltas/RunIRPasses.h
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.h
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.cpp
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.h
Log Message:
-----------
[llvm-reduce]: print short form, actionable names in the log (#133561)
Closes #132696
before the patch like this:
```
----------------------------
*** Reducing GlobalObjects...
----------------------------
*** Reducing GV Initializers...
----------------------------
*** Reducing GlobalVariables...
----------------------------
```
after the patch like this:
```
----------------------------
*** Reducing GlobalObjects (global-objects)...
----------------------------
*** Reducing GV Initializers (global-initializers)...
----------------------------
*** Reducing GlobalVariables (global-variables)...
----------------------------
```
Commit: 825ecfed9e08f27ecb65b960bb754f6d300ff625
https://github.com/llvm/llvm-project/commit/825ecfed9e08f27ecb65b960bb754f6d300ff625
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#133615)
Commit: 8db434a4815737e4d665aeedd1495369e80ea208
https://github.com/llvm/llvm-project/commit/8db434a4815737e4d665aeedd1495369e80ea208
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
M llvm/tools/bugpoint/ToolRunner.cpp
M llvm/tools/dsymutil/Reproducer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-libtool-darwin/DependencyInfo.h
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/tools/obj2yaml/macho2yaml.cpp
Log Message:
-----------
[bugpoint] Avoid repeated hash lookups (NFC) (#133616)
Commit: a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
https://github.com/llvm/llvm-project/commit/a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaPasses.def
Log Message:
-----------
llvm-reduce: Remove trailing whitespace
Commit: 057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
https://github.com/llvm/llvm-project/commit/057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/Utils.h
Log Message:
-----------
llvm-reduce: Trim unnecessary includes
Commit: 1cb6ba5c60c3ce19785948eb327036a455dd1457
https://github.com/llvm/llvm-project/commit/1cb6ba5c60c3ce19785948eb327036a455dd1457
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Improve const correctness of constraint normalization (#133633)
Follow up to #132849
Commit: faefb70c7a771ae646df3d5defe122cfff2aac7c
https://github.com/llvm/llvm-project/commit/faefb70c7a771ae646df3d5defe122cfff2aac7c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DLL_VIS
This macro is only ever used inside the definiton for the various
visibility macros on windows. There, it's defined in multiple places
with different expansions, which makes it more confusing than helpful
when trying to figure out what macro expands to what.
Commit: 10dd404d9fbe505fb189972565c577318a6b577b
https://github.com/llvm/llvm-project/commit/10dd404d9fbe505fb189972565c577318a6b577b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Make DeltaPasses.def available for fea6b388055284f37852e615fbf5b40a3ba34249
Commit: 4dbcefe3806f9970c0e4f4b08d98df5253517f14
https://github.com/llvm/llvm-project/commit/4dbcefe3806f9970c0e4f4b08d98df5253517f14
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
Revert the llvm::append_range change in lib/Target/X86/X86WinEHState.cpp
This reverts a single file from ad1ba15ea894ac47b0f2447db191a14ebe1b301d.
llvm::append_range in this context fails to compile with recent Clang and
libc++:
libcxx/include/__algorithm/copy_backward.h:221:68: error: invalid operands to
binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>'
and 'long')
...
llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in
instantiation of function template specialization
'llvm::append_range<std::deque<llvm::BasicBlock *>,
llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock
>>>' requested here
724 | llvm::append_range(Worklist, successors(BB));
| ^
Commit: 9a913a39442d986cf8315f88666f8f5ebd6a4a94
https://github.com/llvm/llvm-project/commit/9a913a39442d986cf8315f88666f8f5ebd6a4a94
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
InlineCostAnnotationPrinter: Fix constructing random TargetTransformInfo (#133637)
Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for
ProfileSummaryInfo.
This should only change the printing, not the actual result.
Commit: 424c8f9217b7f746eb10c97be7314556c24065cd
https://github.com/llvm/llvm-project/commit/424c8f9217b7f746eb10c97be7314556c24065cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Remove dead UF argument from VPTransformState ctor (NFC).
Commit: 5b65b4d46412f0d5838b0d67b81b6dc03c93908f
https://github.com/llvm/llvm-project/commit/5b65b4d46412f0d5838b0d67b81b6dc03c93908f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV] Remove dead code from evaluateTargetFixup
AUIPCTarget as a relocatable expression cannot have a SubSym or
@-specifier.
Commit: 5715510d00d44d97a0024caf864e649225372281
https://github.com/llvm/llvm-project/commit/5715510d00d44d97a0024caf864e649225372281
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 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.h
Log Message:
-----------
[RISCV] Remove unused declarations and getSpecifier. NFC
Remove unused declarations after #132569.
Simplify some code as we no longer use MCSymbolRefExpr::VariantKind.
Commit: 1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
https://github.com/llvm/llvm-project/commit/1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
Author: Liqiang TAO <taolq at outlook.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
StackProtector: use isInTailCallPosition to verify tail call position (#68997)
The issue is caused by [D133860](https://reviews.llvm.org/D133860).
The guard would be inserted in wrong place in some cases, like the test
case showed below.
This patch fixed the issue by using `isInTailCallPosition()` to verify
whether the tail call is in right position.
Commit: 52639d69acbed0e49fd855c8c04cd9307405e2e6
https://github.com/llvm/llvm-project/commit/52639d69acbed0e49fd855c8c04cd9307405e2e6
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
Log Message:
-----------
[clang-tidy][NFC][doc] improve "options" sections of `bugprone-` and `modernize-` checks (#133525)
Improved "options" sections of `bugprone-` and `modernize-` checks:
1. Added `Options` keyword to be a delimiter between "body" and
"options" parts of docs
2. Added default values where was absent.
3. Improved readability of some default values by converting `1` to
`true`.
Commit: 8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
https://github.com/llvm/llvm-project/commit/8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[ADT] Add `DenseMap::insert_range` (#133600)
This PR add `DenseMap::insert_range` to `DenseMap` for consistency with
existing `DenseSet::insert_range`, `SmallSet::insert_range` and
`std::map::insert_range`.
Commit: 5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
https://github.com/llvm/llvm-project/commit/5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
Log Message:
-----------
Move relocation specifiers to AMDGPUMCExpr::Specifier
Similar to previous migration done for all other ELF targets.
Switch from the confusing `VariantKind` to `Specifier`, which aligns
with Arm and IBM AIX's documentation.
Moving forward, relocation specifiers should be integrated into
AMDGPUMCExpr rather than MCSymbolRefExpr::SubclassData.
(Note: the term AMDGPUMCExpr::VariantKind is for expressions
without relocation specifiers:
https://github.com/llvm/llvm-project/pull/82022
It's up to AMDGPU maintainers to integrate these constants into Specifier.
)
Pull Request: https://github.com/llvm/llvm-project/pull/133608
Commit: 8a8c89a4c6f92412643f2bbe46a20800197321b0
https://github.com/llvm/llvm-project/commit/8a8c89a4c6f92412643f2bbe46a20800197321b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Use llvm::erase_if (NFC) (#133647)
Commit: 1c8647a25a5a7527ea546212ddff56ef88ab27b9
https://github.com/llvm/llvm-project/commit/1c8647a25a5a7527ea546212ddff56ef88ab27b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133648)
Commit: 2c73711995e4fe0f706de351eef4122b8cd8a4d7
https://github.com/llvm/llvm-project/commit/2c73711995e4fe0f706de351eef4122b8cd8a4d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[TableGen] Use llvm::append_range (NFC) (#133649)
Commit: 06cb7b1e14a117e8fe19b72689c8616c772c0807
https://github.com/llvm/llvm-project/commit/06cb7b1e14a117e8fe19b72689c8616c772c0807
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133650)
Commit: fd8fb7148674456ce3fb338864c9aa9f576feb22
https://github.com/llvm/llvm-project/commit/fd8fb7148674456ce3fb338864c9aa9f576feb22
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Handle scalar casts and blend in isUniformAfterVectorization.
Currently should be NFC, but will be used by
https://github.com/llvm/llvm-project/pull/117506.
Commit: 5f56eaff8b033e5d87818bdc9543c1463cc0a755
https://github.com/llvm/llvm-project/commit/5f56eaff8b033e5d87818bdc9543c1463cc0a755
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Remove duplicated VPDerivedIVRecipe handling (NFC).
Also handled by an earlier, more general if above.
Commit: 848faf49f793968ae6dee1577f507d4cc68b157e
https://github.com/llvm/llvm-project/commit/848faf49f793968ae6dee1577f507d4cc68b157e
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
Log Message:
-----------
[lldb] Combine disassembler gtest binaries for efficiency (#133539)
Each of these executables is 642MB for me locally with split DWARF, and
we don't need 3 statically linked gtest binaries when one will do.
Commit: 92e591684576e7244d53722b04e840f28c3f03c3
https://github.com/llvm/llvm-project/commit/92e591684576e7244d53722b04e840f28c3f03c3
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/unittests/Disassembler/CMakeLists.txt
Log Message:
-----------
[lldb] Fix cmake logic when no targets are configured
Should fix reported lldb-remote-linux-ubuntu bot post-submit failure
Commit: 3b3d1a5c261419da864d0883eccd040c2b72e237
https://github.com/llvm/llvm-project/commit/3b3d1a5c261419da864d0883eccd040c2b72e237
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[NFC][clang-tidy] Add type annotations to check_clang_tidy (#133140)
```
> python3 -m mypy --strict clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Success: no issues found in 1 source file
```
Commit: 2796e41ade306c3bf0f2e21311dff406bcf65652
https://github.com/llvm/llvm-project/commit/2796e41ade306c3bf0f2e21311dff406bcf65652
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
[lldb] Remove unused Version.h include in Telemetry.cpp (NFC)
Commit: e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
https://github.com/llvm/llvm-project/commit/e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add an option for editing enum trailing commas (#133576)
Also refactor the code that removes/replaces a token.
Commit: 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
https://github.com/llvm/llvm-project/commit/3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/pr58516.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/jtstat.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/longbranch.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/Mips/reloc-jalr.ll
M llvm/test/CodeGen/Mips/shrink-wrapping.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
M llvm/test/CodeGen/X86/catchpad-reuse.ll
M llvm/test/CodeGen/X86/dollar-name.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win32-eh.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/MC/ARM/arm-branches.s
M llvm/test/MC/AsmParser/dollars-in-identifiers.s
M llvm/test/MC/MachO/dollar-identifier.s
M llvm/test/MC/Mips/expansion-jal-sym-pic.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/Mips/mips-fpu-instructions.s
M llvm/test/MC/Mips/mips1/valid.s
M llvm/test/MC/Mips/mips2/valid.s
M llvm/test/MC/Mips/mips32/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
[MC] Don't print () around $ names
This MIPS behavior from edb9d84dcc4824865e86f963e52d67eb50dde7f5 (2010)
is obsoleted and misleading. This caused confusion in
https://reviews.llvm.org/D123702 ([NVPTX] Disable parens for identifiers
starting with '$')
Note: $tmp was rejected by AsmParser before
https://reviews.llvm.org/D75111 (2020)
Commit: 5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
https://github.com/llvm/llvm-project/commit/5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
Author: John Harrison <harjohn at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Swapping to not use FLAG_ENUM and just defining typed enums. (#133622)
Small tweak to the previous patch to make the enums in
`lldb_dap::protocol` typed to work with types like `llvm::DenseSet`
found by ubsan.
Commit: c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
https://github.com/llvm/llvm-project/commit/c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
Author: Roman Belenov <103195329+r-belenov at users.noreply.github.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp
Log Message:
-----------
[Exegesis][AArch64] Use more generic cycles counter (#133376)
CPU_CYCLES counter does not work on some Aarch64 CPUs; CYCLES is more
generic and is equivalent to CPU_CYCLES in case the latter is supported.
Longer story - CPU_CYCLES work only on CPU models explicitly recognized
by libpfm4 ( via pfm_arm_detect_*() functions in
https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/lib/pfmlib_arm_armv8.c
) and its name is consistent with ARM documentation. However, the
counter is architectural and is supported on all ARMv8 CPUs; libpfm4
recognizes generic PMU on unknown ARMv8 CPUs, but does not provide
CPU_CYCLES event. Instead, CYCLES is provided (an alias to
PERF_COUNT_HW_CPU_CYCLES). Physically, it is the same event with code
0x11. On supported architectures CYCLES also work, so the change should
not introduce regression.
Commit: 94122d58fc77079a291a3d008914006cb509d9db
https://github.com/llvm/llvm-project/commit/94122d58fc77079a291a3d008914006cb509d9db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/Lint.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
Log Message:
-----------
Lint: Replace -lint-abort-on-error cl::opt with pass parameter (#132933)
Commit: 6257621f41d1deb31cfbfcee993a75991a0bca13
https://github.com/llvm/llvm-project/commit/6257621f41d1deb31cfbfcee993a75991a0bca13
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/utils/not/not.cpp
Log Message:
-----------
[llvm] Use llvm::append_range (NFC) (#133658)
Commit: 65734de9b93bef5b3211298b4fcc5dc79d18d31e
https://github.com/llvm/llvm-project/commit/65734de9b93bef5b3211298b4fcc5dc79d18d31e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Remove the redundant MainOp and AltOp find process. (#133642)
Commit: dad86f5931453ff3d14ba5adb93855ee780298b2
https://github.com/llvm/llvm-project/commit/dad86f5931453ff3d14ba5adb93855ee780298b2
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
Log Message:
-----------
[ORC] MapperJITLinkMemoryManager should deinitialize on abandon, not deallocate.
The JITLinkMemoryManager::InFlightAlloc::abandon method should only abandon
memory for the current allocation, not any other allocations. In
MapperJITLinkMemoryManager this corresponds to the deinitialize operation, not
the deallocate operation (which releases whole slabs of memory that may be
shared by many allocations).
No testcase: This was spotted by inspection. The failing program was linking
concurrently when one linker instance raised an error. Through the call to
abandon an entire underlying slab was deallocated, resulting in segfaults in
other concurrent links that were sharing that slab.
Commit: c9095aa3103460c967fd5ee5dcc695284793ef3c
https://github.com/llvm/llvm-project/commit/c9095aa3103460c967fd5ee5dcc695284793ef3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Cleanup assembler predicates after #133377. (#133652)
Make isSImm12 look more like isUImm20LUI.
Move variables closer to their use.
Fold some function calls into if statements.
Commit: 04a67528d303ac4be7943b2ae57222f9c9fd509a
https://github.com/llvm/llvm-project/commit/04a67528d303ac4be7943b2ae57222f9c9fd509a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
M llvm/test/CodeGen/ARM/globals.ll
M llvm/test/CodeGen/ARM/litpool-licm.ll
M llvm/test/CodeGen/ARM/load-global.ll
M llvm/test/CodeGen/ARM/load-global2.ll
M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
M llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/CodeGen/Thumb2/tpsoft.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AMDGPU/expressions.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/MC/AMDGPU/hsa-sym-exprs-gfx7.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/elf-movt.s
M llvm/test/MC/ARM/macho-word-reloc-thumb.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AsmParser/directive_fill.s
M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
M llvm/test/MC/COFF/cross-section-relative.ll
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Lanai/memory.s
M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/memory-offsets.s
M llvm/test/MC/PowerPC/ppc32-tls.s
M llvm/test/MC/RISCV/rvi-pseudos.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-disassembly.test
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-subtractor.test
Log Message:
-----------
[MC] Simplify MCBinaryExpr/MCUnaryExpr printing by reducing parentheses (#133674)
The existing pretty printer generates excessive parentheses for
MCBinaryExpr expressions. This update removes unnecessary parentheses
of MCBinaryExpr with +/- operators and MCUnaryExpr.
Since relocatable expressions only use + and -, this change improves
readability in most cases.
Examples:
- (SymA - SymB) + C now prints as SymA - SymB + C.
This updates the output of -fexperimental-relative-c++-abi-vtables for
AArch64 and x86 to `.long _ZN1B3fooEv at PLT-_ZTV1B-8`
- expr + (MCTargetExpr) now prints as expr + MCTargetExpr, with this
change primarily affecting AMDGPUMCExpr.
Commit: c6b3fd799962577488a0ecbdac806f4753e14d3c
https://github.com/llvm/llvm-project/commit/c6b3fd799962577488a0ecbdac806f4753e14d3c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/test/MC/ELF/gnu-type-diagnostics.s
Log Message:
-----------
[MC] maybeParseSectionType: test CommentString instead of AllowAtInIdentifier
Rework https://reviews.llvm.org/D31026
AllowAtInIdentifier is a misnomer: it should be false for ELF targets,
but is currently true as a hack to parse expr at specifier.
Commit: 6fb674174ecc1d27b0d303c89c666d949f7afee5
https://github.com/llvm/llvm-project/commit/6fb674174ecc1d27b0d303c89c666d949f7afee5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
Log Message:
-----------
[RISCV] Fix the operand types for shift instructions in RISCVInstrInfoSFB.td. NFC
Due to a copy paste mistake we used simm12 instead of the correct
type. This doesn't matter in practice because we only generate these
instructions with C++ code and we expand them before the AsmPrinter.
Commit: 60199ee5396c2242c7d3cfa882e28312e6895c2a
https://github.com/llvm/llvm-project/commit/60199ee5396c2242c7d3cfa882e28312e6895c2a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang] Use DenseMap::insert_range (NFC) (#133655)
Commit: 2fc08d4c31285ecec64fda7e0833d583503f10d0
https://github.com/llvm/llvm-project/commit/2fc08d4c31285ecec64fda7e0833d583503f10d0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Use DenseMap::insert_range (NFC) (#133656)
Commit: fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
https://github.com/llvm/llvm-project/commit/fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M polly/include/polly/CodeGen/IRBuilder.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[polly] Use DenseMap::insert_range (NFC) (#133657)
Commit: d63cc4c87689a79d25521c9aa2ce4a335e5984e3
https://github.com/llvm/llvm-project/commit/d63cc4c87689a79d25521c9aa2ce4a335e5984e3
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
A clang/test/Analysis/lvalue_elements.c
Log Message:
-----------
[analyzer] Unknown array lvalue element in Store (#133381)
Remove the early return for BaseRegions of type ElementRegion. Return
meaningful MemRegionVal for these cases as well.
Previous discussion:
https://discourse.llvm.org/t/lvalueelement-returns-unknownval-for-multi-dimensional-arrays/85476
Commit: 809f857d2c8edffe1dac317982b68a467710f877
https://github.com/llvm/llvm-project/commit/809f857d2c8edffe1dac317982b68a467710f877
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Support early-exit loops in optimizeForVFAndUF. (#131539)
Update optimizeForVFAndUF to support early-exit loops by handling
BranchOnCond(Or(..., CanonicalIV == TripCount)) via SCEV
PR: https://github.com/llvm/llvm-project/pull/131539
Commit: 842b57b77520abf202999946d3bb01b5dcabb179
https://github.com/llvm/llvm-project/commit/842b57b77520abf202999946d3bb01b5dcabb179
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.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
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
Log Message:
-----------
Reland [MS][clang] Add support for vector deleting destructors (#133451)
Whereas it is UB in terms of the standard to delete an array of objects
via pointer whose static type doesn't match its dynamic type, MSVC
supports an extension allowing to do it.
Aside from array deletion not working correctly in the mentioned case,
currently not having this extension implemented causes clang to generate
code that is not compatible with the code generated by MSVC, because
clang always puts scalar deleting destructor to the vftable. This PR
aims to resolve these problems.
It was reverted due to link time errors in chromium with sanitizer
coverage enabled,
which is fixed by https://github.com/llvm/llvm-project/pull/131929 .
The second commit of this PR also contains a fix for a runtime failure
in chromium reported
in
https://github.com/llvm/llvm-project/pull/126240#issuecomment-2730216384
.
Fixes https://github.com/llvm/llvm-project/issues/19772
Commit: 5c65a321778b99f745d193629975fb6ced34fe07
https://github.com/llvm/llvm-project/commit/5c65a321778b99f745d193629975fb6ced34fe07
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll
Log Message:
-----------
[RISCV] Vectorize phi for loop carried @llvm.vp.reduce.* (#131974)
LLVM vector predication reduction intrinsics return a scalar result, but
on RISC-V vector reduction instructions write the result in the first
element of a vector register. So when a reduction in a loop uses a
scalar phi, we end up with unnecessary scalar moves:
```asm
loop:
vmv.s.x v8, zero
vredsum.vs v8, v10, v8
vmv.x.s a0, v8
````
This mainly affects vector predication reduction. This tries to
vectorize any scalar phis that feed into a vector predication reduction
in RISCVCodeGenPrepare, converting:
```llvm
vector.body:
%red.phi = phi i32 [ ..., %entry ], [ %red, %vector.body ]
%red = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %red.phi, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
```
to
```llvm
vector.body:
%red.phi = phi <vscale x 2 x i32> [ ..., %entry ], [ %acc.vec, %vector.body]
%phi.scalar = extractelement <vscale x 2 x i32> %red.phi, i64 0
%acc = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %phi.scalar, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
%acc.vec = insertelement <vscale x 2 x i32> poison, float %acc, i64 0
```
Which eliminates the scalar -> vector -> scalar crossing during
instruction selection.
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
https://github.com/llvm/llvm-project/commit/9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Make GetRowForFunctionOffset compatible with discontinuous functions (#133250)
The function had special handling for -1, but that is incompatible with
functions whose entry point is not the first address. Use std::nullopt
instead.
Commit: 0ec94983c4cf9183f0768d6e76b363e5ebc6b255
https://github.com/llvm/llvm-project/commit/0ec94983c4cf9183f0768d6e76b363e5ebc6b255
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-relax-tlsdesc.s
Log Message:
-----------
[lld][LoongArch] Relax TLSDESC code sequence (#123677)
Relax TLSDESC code sequence.
Original code sequence:
* pcalau12i $a0, %desc_pc_hi20(sym_desc)
* addi.d $a0, $a0, %desc_pc_lo12(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
Cannot convert to LE/IE, but relax:
* pcaddi $a0, %desc_pcrel_20(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
TODO: The transition from TLSDESC GD/LD to IE/LE will implement in a
future patch.
Commit: a11db935697ecdf776964c7cb96cf05bd2357584
https://github.com/llvm/llvm-project/commit/a11db935697ecdf776964c7cb96cf05bd2357584
Author: yangzhaoxin <yangzhaoxin at loongson.cn>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
R .ci/compute-projects.sh
A .ci/compute_projects.py
A .ci/compute_projects_test.py
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/metrics/metrics.py
M .ci/metrics/requirements.lock.txt
M .ci/metrics/requirements.txt
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/commit-access-greeter.yml
M .github/workflows/commit-access-review.yml
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/docs.yml
M .github/workflows/issue-write.yml
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-binaries-all.yml
M .github/workflows/release-binaries.yml
M .github/workflows/scorecard.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
M bolt/include/bolt/Passes/DominatorAnalysis.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/BinaryFunction.cpp
M bolt/lib/Core/JumpTable.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/AsmDump.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/CMakeLists.txt
R bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
A bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/PatchEntries.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
A bolt/test/AArch64/lite-mode.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 clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-move/Move.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
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/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UncheckedOptionalAccessCheck.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
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.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/HeaderGuard.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/HeaderSourceSwitch.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/Preamble.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
M clang-tools-extra/clangd/refactor/Rename.cpp
M clang-tools-extra/clangd/refactor/Rename.h
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/HeaderSourceSwitchTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/StdLibTests.cpp
M clang-tools-extra/clangd/unittests/TestIndex.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
A clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.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/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/modularize/ModularizeUtilities.h
M clang-tools-extra/modularize/ModuleAssistant.cpp
A clang-tools-extra/test/clang-doc/DR-131697.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Calculator.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Circle.cpp
M clang-tools-extra/test/clang-doc/Inputs/basic-project/src/Rectangle.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/enum.cpp
M clang-tools-extra/test/clang-doc/namespace.cpp
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/templates.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
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
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-default-member-init.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
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.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/BoundsSafety.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ClangOffloadBundler.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibASTMatchersReference.html
M clang/docs/MSVCCompatibility.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.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/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/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/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/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/BuiltinsSPIRV.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticDriverKinds.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.h
M clang/include/clang/Basic/ObjCRuntime.h
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
M clang/include/clang/CIR/Dialect/IR/CIRTypes.h
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
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
M clang/include/clang/CIR/Interfaces/CMakeLists.txt
M clang/include/clang/CIR/MissingFeatures.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/ExtractAPI/ExtractAPIVisitor.h
M clang/include/clang/Format/Format.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/Lex/ModuleMap.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/HLSLExternalSemaSource.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/SemaConcept.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/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
A clang/include/clang/StaticAnalyzer/Core/PathSensitive/EntryPointStats.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/Support/Compiler.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.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/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/Disasm.cpp
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/Opcodes.td
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/Decl.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/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/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/FlowSensitive/Transfer.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Builtins.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetID.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.cpp
M clang/lib/Basic/Targets/SPIR.h
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/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/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/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/HoistAllocas.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
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/CGCXXABI.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
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/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
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/AMDGPU.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/TCE.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/Job.cpp
M clang/lib/Driver/Multilib.cpp
M clang/lib/Driver/OffloadBundler.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPU.h
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/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
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/Haiku.cpp
M clang/lib/Driver/ToolChains/Haiku.h
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/Types.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/FormatTokenLexer.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.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/FrontendAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.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_cuda_intrinsics.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
M 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/DeviceOffload.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Lex/ModuleMap.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.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/CMakeLists.txt
A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
A clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/SemaAccess.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.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/SemaObjCProperty.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/SemaSPIRV.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/SemaType.cpp
M clang/lib/Sema/SemaX86.cpp
M clang/lib/Sema/TreeTransform.h
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/ContainerModeling.cpp
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.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/UninitializedObject/UninitializedObjectChecker.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
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RefCntblBaseVirtualDtorChecker.cpp
A clang/lib/StaticAnalyzer/Checkers/WebKit/RetainPtrCtorAdoptChecker.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/ExprEngineCallAndReturn.cpp
M clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
M clang/lib/StaticAnalyzer/Core/Store.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/Support/RISCVVIntrinsicUtils.cpp
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-functions.cpp
M clang/test/AST/ByteCode/c.c
A clang/test/AST/ByteCode/codegen-mutable-read.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/floats.cpp
M clang/test/AST/ByteCode/if.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
M 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
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
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.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
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M 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
M clang/test/Analysis/cxx-uninitialized-object.cpp
M clang/test/Analysis/cxx23-assume-attribute.cpp
M clang/test/Analysis/dtor.cpp
A clang/test/Analysis/fixed-address-notes.c
M clang/test/Analysis/invalidated-iterator.cpp
A clang/test/Analysis/issue-91835.cpp
A clang/test/Analysis/lambda-capture-structured-binding.cpp
A clang/test/Analysis/lvalue_elements.c
M clang/test/Analysis/misc-ps.m
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/pr22954.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/taint-generic.cpp
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/n3353.c
A clang/test/C/C2y/n3363.c
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
M clang/test/C/C2y/n3411.c
A clang/test/C/C2y/n3460.c
A clang/test/C/C2y/n3460_1.c
A clang/test/C/C2y/n3469.c
A clang/test/C/C2y/n3482.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/binop.cpp
A clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/int-to-bool.cpp
M 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
M 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/binop-bool.cir
A clang/test/CIR/Lowering/binop-fp.cir
A clang/test/CIR/Lowering/binop-signed-int.cir
A clang/test/CIR/Lowering/binop-unsigned-int.cir
A clang/test/CIR/Lowering/cast.cir
M clang/test/CIR/Lowering/func-simple.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/hoist-allocas.cir
A clang/test/CIR/Transforms/loop.cir
A clang/test/CIR/Transforms/scope.cir
M clang/test/CIR/func-simple.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/class.access/p6.cpp
M clang/test/CXX/dcl.dcl/dcl.attr/dcl.attr.nodiscard/p2.cpp
M clang/test/CXX/dcl.decl/dcl.init/dcl.init.general/p16-cxx20.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/cwg1xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/drs/cwg3xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
A clang/test/CXX/drs/cwg787.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
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/fmv-dependencies.c
A clang/test/CodeGen/AArch64/fmv-detection.c
M clang/test/CodeGen/AArch64/fmv-mix-explicit-implicit-default.c
M clang/test/CodeGen/AArch64/fmv-resolver-emission.c
M clang/test/CodeGen/AArch64/sve-vector-bits-codegen.c
A clang/test/CodeGen/Mips/subtarget-feature-test.c
A clang/test/CodeGen/RISCV/issue-129995.cpp
R 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
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-mve-intrinsics/admin.c
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
R clang/test/CodeGen/attr-target-version.c
M clang/test/CodeGen/avr/argument.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/builtin-attributes.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/p0963r3.cpp
A clang/test/CodeGen/strictfp-elementwise-builtins.cpp
R clang/test/CodeGen/strictfp-elementwise-bulitins.cpp
M clang/test/CodeGen/varargs.c
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-code-object-version.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.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/builtins.cpp
M clang/test/CodeGenCXX/derived-to-base.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-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.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
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/asint16.hlsl
A clang/test/CodeGenHLSL/builtins/asuint16.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.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
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
M clang/test/CodeGenOpenCL/kernel-attributes.cl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
M clang/test/CoverageMapping/terminate-statements.cpp
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
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/aarch64-mcpu-native.c
A clang/test/Driver/aarch64-nvidia-olympus.c
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.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/amdgpu-toolchain.c
M clang/test/Driver/apple-arm64-arch.c
A clang/test/Driver/arch-arm64e.c
M clang/test/Driver/cl-options.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
M clang/test/Driver/darwin-ld-platform-version-macos-requires-darwin.c
M clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/hip-code-object-version.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-rdc-device-only.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
A clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-separate.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
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-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-enabled-extensions/aarch64-neoverse-v2.c
A clang/test/Driver/print-enabled-extensions/aarch64-olympus.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/xros-driver-requires-darwin-host.c
A clang/test/Frontend/print-stats.c
M clang/test/Headers/gpuintrin.c
A clang/test/Index/extract-api-cursor-cpp.cpp
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/diag-template-diffing-cxx11.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/time-passes.c
M clang/test/Misc/warning-flags.c
A clang/test/Modules/ComplexExplicitSpecifier.cpp
A clang/test/Modules/MixedModulePrecompile.cpp
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/no-transitive-decl-change-3.cppm
A clang/test/Modules/pr121245.cpp
A clang/test/Modules/pr129982.cpp
A clang/test/Modules/transitive-system.test
M clang/test/OpenMP/amdgcn_target_global_constructor.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/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/Parser/asm.cpp
M clang/test/Parser/cxx-template-decl.cpp
M clang/test/Parser/cxx1z-decomposition.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-constructs.c
M clang/test/ParserOpenACC/parse-constructs.cpp
A clang/test/Preprocessor/embed_constexpr.c
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Preprocessor/riscv-target-features.c
A clang/test/Sema/GH126231.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
A clang/test/Sema/c23-varargs.c
M clang/test/Sema/count-builtins.c
M clang/test/Sema/for.c
A clang/test/Sema/offsetof-ucrt.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
M clang/test/Sema/shift-bool.cpp
M clang/test/Sema/varargs-x86-64.c
M clang/test/Sema/varargs.c
A clang/test/SemaCUDA/spirv-attrs-diag.cu
M clang/test/SemaCUDA/spirv-attrs.cu
M clang/test/SemaCXX/addr-of-overloaded-function.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
A clang/test/SemaCXX/concepts-subsumption.cpp
M clang/test/SemaCXX/constexpr-builtin-bit-cast.cpp
A clang/test/SemaCXX/copy-ctor-template.cpp
M clang/test/SemaCXX/ctad.cpp
M clang/test/SemaCXX/cxx0x-nontrivial-union.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaCXX/cxx2c-constexpr-placement-new.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
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/sugar-common-types.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/vararg-non-pod.cpp
M clang/test/SemaCXX/varargs.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/clip-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/frac-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/rsqrt-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
A clang/test/SemaHLSL/Types/BuiltinVector/BooleanVectorConstantExpr.hlsl
M clang/test/SemaObjCXX/message.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-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-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/routine-construct-ast.cpp
M clang/test/SemaOpenACC/routine-construct-clauses.cpp
M 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
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M clang/test/SemaSYCL/float128.cpp
M clang/test/SemaTemplate/constructor-template.cpp
M clang/test/SemaTemplate/deduction-guide.cpp
M clang/test/SemaTemplate/instantiate-member-pointers.cpp
M clang/test/SemaTemplate/instantiation-backtrace.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typename-specifier-4.cpp
M clang/test/SemaTemplate/typename-specifier.cpp
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/AMDGPUArchByHIP.cpp
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-fuzzer/handle-llvm/handle_llvm.cpp
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/tools/scan-build/libexec/ccc-analyzer
M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/FlowSensitive/TypeErasedDataflowAnalysisTest.cpp
M clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/SourceManagerTest.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/Lex/HeaderSearchTest.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
M clang/unittests/Sema/HeuristicResolverTest.cpp
M clang/unittests/StaticAnalyzer/AnalyzerOptionsTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.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/make_cxx_dr_status
A cmake/Modules/FindLibcCommonUtils.cmake
M cmake/Modules/FindPrefixFromConfig.cmake
M compiler-rt/CMakeLists.txt
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/include/profile/instr_prof_interface.h
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
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_poisoning.h
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/asan/asan_shadow_setup.cpp
M compiler-rt/lib/asan/asan_win.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/cpu_model/AArch64CPUFeatures.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/fmv/mrs.inc
M compiler-rt/lib/builtins/cpu_model/aarch64/hwcap.inc
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrContextNode.h
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
M compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.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/memprof/memprof_flags.h
M compiler-rt/lib/orc/CMakeLists.txt
M compiler-rt/lib/orc/error.h
R compiler-rt/lib/orc/extensible_rtti.cpp
R compiler-rt/lib/orc/extensible_rtti.h
A compiler-rt/lib/orc/rtti.cpp
A compiler-rt/lib/orc/rtti.h
M compiler-rt/lib/orc/tests/unit/CMakeLists.txt
M compiler-rt/lib/orc/tests/unit/error_test.cpp
R compiler-rt/lib/orc/tests/unit/extensible_rtti_test.cpp
A compiler-rt/lib/orc/tests/unit/rtti_test.cpp
A compiler-rt/lib/orc/tests/unit/unique_function_test.cpp
A compiler-rt/lib/orc/unique_function.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_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp
M compiler-rt/lib/scudo/standalone/secondary.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Darwin/suppressions-sandbox.cpp
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
A compiler-rt/test/asan/TestCases/Posix/setproctitle.c
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/asan/lit.cfg.py
M compiler-rt/test/ctx_profile/TestCases/generate-context.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/lit.common.configured.in
M compiler-rt/test/metadata/lit.cfg.py
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-dead-strip.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/sanitizer_common/TestCases/Linux/preadv2.cpp
A compiler-rt/test/sanitizer_common/TestCases/disable_symbolizer_path_search.cpp
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M compiler-rt/test/tsan/cxa_guard_acquire.cpp
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
A cross-project-tests/tools/llvm-objdump/ARM/lit.local.cfg
A cross-project-tests/tools/llvm-objdump/ARM/plt.c
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/cmake/modules/HandleLibs.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/CMakeLists.txt
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/exceptions.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/io-api.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/lib/runtime/support.cpp
M flang-rt/lib/runtime/transformational.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang-rt/unittests/Runtime/ListInputTest.cpp
M flang-rt/unittests/Runtime/LogicalFormatTest.cpp
M flang-rt/unittests/Runtime/Namelist.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang-rt/unittests/Runtime/RuntimeCrashTest.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/cmake/quadmath_wrapper.h.in
M flang/docs/ArrayRepacking.md
M flang/docs/F202X.md
M flang/docs/Intrinsics.md
M flang/docs/OpenMP-descriptor-management.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Common/api-attrs.h
M flang/include/flang/Common/windows-include.h
M flang/include/flang/Evaluate/common.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/variable.h
M flang/include/flang/Frontend/CodeGenOptions.def
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/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/CUFCommon.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/Exceptions.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/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/Support/InternalNames.h
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
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/command.h
M flang/include/flang/Runtime/exceptions.h
M flang/include/flang/Runtime/extensions.h
R flang/include/flang/Runtime/io-api-consts.h
M flang/include/flang/Runtime/io-api.h
M flang/include/flang/Runtime/support.h
M flang/include/flang/Runtime/transformational.h
M flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Tools/TargetSetup.h
M flang/lib/Evaluate/CMakeLists.txt
M flang/lib/Evaluate/fold-logical.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Evaluate/host.h
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInstance.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertVariable.cpp
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/IterationSpace.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/Clauses.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Exceptions.cpp
M flang/lib/Optimizer/Builder/Runtime/Inquiry.cpp
M flang/lib/Optimizer/Builder/Runtime/Transformational.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/TargetRewrite.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/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
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
A flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
A flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/message.cpp
M flang/lib/Parser/openacc-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/prescan.h
M flang/lib/Parser/unparse.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-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/openmp-modifiers.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/Support/Fortran.cpp
M flang/module/ieee_arithmetic.f90
M flang/runtime/CMakeLists.txt
M flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.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/debug-parsing-log.f90
M flang/test/Driver/input-from-stdin/input-from-stdin.f90
A flang/test/Driver/m64-option.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
A flang/test/Driver/slp-vectorize.f90
A flang/test/Driver/verbose-asm.f90
M flang/test/Fir/CUDA/cuda-code-gen.mlir
M flang/test/Fir/CUDA/cuda-constructor.f90
M flang/test/Fir/CUDA/cuda-launch.fir
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
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
M 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/debug-complex-1.f90
R flang/test/Lower/AMD/code-object-version.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-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
A flang/test/Lower/Intrinsics/hostnm-func.f90
A flang/test/Lower/Intrinsics/hostnm-sub.f90
M flang/test/Lower/Intrinsics/ieee_compare.f90
M flang/test/Lower/Intrinsics/ieee_flag.f90
M flang/test/Lower/Intrinsics/ieee_logb.f90
M flang/test/Lower/Intrinsics/ieee_max_min.f90
M flang/test/Lower/Intrinsics/ieee_next.f90
M flang/test/Lower/Intrinsics/ieee_real.f90
M flang/test/Lower/Intrinsics/ieee_rem.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/nearest.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
A flang/test/Lower/OpenMP/Todo/interop-construct.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
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.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.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-directive.f90
M flang/test/Lower/OpenMP/loop-pointer-variable.f90
M flang/test/Lower/OpenMP/map-mapper.f90
A flang/test/Lower/OpenMP/missing-inode.f90
M flang/test/Lower/OpenMP/omp-is-gpu.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-array-lb.f90
M flang/test/Lower/OpenMP/parallel-reduction-array.f90
M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
M flang/test/Lower/OpenMP/parallel-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/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
M flang/test/Lower/OpenMP/reduction-array-intrinsic.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
A flang/test/Lower/OpenMP/wsloop-reduction-array-lb.f90
A flang/test/Lower/OpenMP/wsloop-reduction-array-lb2.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/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
A flang/test/Parser/OpenMP/interop-construct.f90
M flang/test/Parser/OpenMP/metadirective-dirspec.f90
M flang/test/Parser/OpenMP/metadirective-flush.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/acc-data-statement.f90
A flang/test/Parser/acc.f
A flang/test/Preprocessing/kind-suffix.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
A flang/test/Semantics/OpenMP/interop-construct.f90
M flang/test/Semantics/OpenMP/metadirective-common.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/array-constr-values.f90
M flang/test/Semantics/assign04.f90
A flang/test/Semantics/bug131579.f90
A flang/test/Semantics/bug132435.f90
A flang/test/Semantics/bug396.f90
M flang/test/Semantics/call10.f90
A flang/test/Semantics/change_team02.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/cuf13.cuf
M flang/test/Semantics/data05.f90
M flang/test/Semantics/event02b.f90
M flang/test/Semantics/form_team01a.f90
M flang/test/Semantics/form_team01b.f90
A flang/test/Semantics/hostnm.f90
M flang/test/Semantics/intrinsics01.f90
M flang/test/Semantics/modfile12.f90
A flang/test/Semantics/sizeof.f90
M flang/test/Semantics/structconst03.f90
M flang/test/Semantics/structconst04.f90
A flang/test/Semantics/sync-images.f90
A flang/test/Transforms/debug-dummy-argument.fir
A flang/test/Transforms/do_concurrent-to-do_loop-unodered.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/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
A libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCCompileOptionRules.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/darwin/x86_64/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
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
A libc/docs/Maintainers.rst
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
M 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/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/linux/sched-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/VISIT.h
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/stdlib.yaml
M libc/include/strings.yaml
M libc/shared/rpc.h
M libc/shared/rpc_opcodes.h
A libc/shared/rpc_server.h
M libc/src/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/FPUtil/FMA.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/multiply_add.h
M libc/src/__support/OSUtil/io.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
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/macros/properties/cpu_features.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/asinhf16.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/asinhf16.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
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
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/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.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/strings/CMakeLists.txt
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/mktime.cpp
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/src/time/time_utils.cpp
M libc/src/time/time_utils.h
M libc/test/UnitTest/CMakeLists.txt
A libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/UnitTest/ZxTest.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/CMakeLists.txt
M libc/test/src/__support/CPP/atomic_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/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/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/asinhf16_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
M libc/test/src/math/exhaustive/hypotf_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/asinhf16_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/stdio/fileop_test.cpp
M libc/test/src/stdio/printf_core/converter_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/CMakeLists.txt
M libc/test/src/stdlib/StrfromTest.h
A libc/test/src/stdlib/memalignment_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/strings/CMakeLists.txt
A libc/test/src/strings/strcasecmp_l_test.cpp
A libc/test/src/strings/strncasecmp_l_test.cpp
M libc/test/src/sys/epoll/linux/CMakeLists.txt
M libc/test/src/sys/epoll/linux/epoll_create1_test.cpp
M libc/test/src/sys/epoll/linux/epoll_create_test.cpp
M libc/test/src/sys/epoll/linux/epoll_ctl_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait2_test.cpp
M libc/test/src/sys/epoll/linux/epoll_pwait_test.cpp
M libc/test/src/sys/epoll/linux/epoll_wait_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/CMakeLists.txt
M libc/test/src/time/mktime_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/amdgcn-amdhsa/lib/workitem/get_global_size.cl
M libclc/amdgcn-amdhsa/lib/workitem/get_local_size.cl
M libclc/amdgcn-amdhsa/lib/workitem/get_num_groups.cl
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/amdgcn/lib/math/fmax.cl
M libclc/amdgcn/lib/math/fmin.cl
M libclc/amdgcn/lib/mem_fence/fence.cl
M libclc/amdgcn/lib/synchronization/barrier.cl
M libclc/amdgcn/lib/workitem/get_global_offset.cl
M libclc/amdgcn/lib/workitem/get_global_size.cl
M libclc/amdgcn/lib/workitem/get_group_id.cl
M libclc/amdgcn/lib/workitem/get_local_id.cl
M libclc/amdgcn/lib/workitem/get_local_size.cl
M libclc/amdgcn/lib/workitem/get_num_groups.cl
M libclc/amdgcn/lib/workitem/get_work_dim.cl
M libclc/amdgpu/lib/math/half_exp.cl
M libclc/amdgpu/lib/math/half_exp10.cl
M libclc/amdgpu/lib/math/half_exp2.cl
M libclc/amdgpu/lib/math/half_log.cl
M libclc/amdgpu/lib/math/half_log10.cl
M libclc/amdgpu/lib/math/half_log2.cl
M libclc/amdgpu/lib/math/half_native_unary.inc
M libclc/amdgpu/lib/math/half_recip.cl
M libclc/amdgpu/lib/math/half_rsqrt.cl
M libclc/amdgpu/lib/math/half_sqrt.cl
M libclc/amdgpu/lib/math/native_exp.cl
M libclc/amdgpu/lib/math/native_exp.inc
M libclc/amdgpu/lib/math/native_log.cl
M libclc/amdgpu/lib/math/native_log.inc
M libclc/amdgpu/lib/math/native_log10.cl
M libclc/amdgpu/lib/math/native_log10.inc
M libclc/amdgpu/lib/shared/vload_half_helpers.ll
M libclc/amdgpu/lib/shared/vstore_half_helpers.ll
M libclc/clc/include/clc/clc_as_type.h
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/include/clc/clcfunc.h
M libclc/clc/include/clc/clcmacro.h
M libclc/clc/include/clc/clctypes.h
M libclc/clc/include/clc/common/clc_degrees.h
M libclc/clc/include/clc/common/clc_radians.h
M libclc/clc/include/clc/common/clc_sign.h
M libclc/clc/include/clc/common/clc_smoothstep.h
M libclc/clc/include/clc/common/clc_smoothstep.inc
M libclc/clc/include/clc/float/definitions.h
M libclc/clc/include/clc/geometric/clc_dot.h
M libclc/clc/include/clc/geometric/clc_dot.inc
M libclc/clc/include/clc/geometric/floatn.inc
M libclc/clc/include/clc/integer/clc_abs.h
M libclc/clc/include/clc/integer/clc_abs.inc
M libclc/clc/include/clc/integer/clc_abs_diff.h
M libclc/clc/include/clc/integer/clc_abs_diff.inc
M libclc/clc/include/clc/integer/clc_add_sat.h
M libclc/clc/include/clc/integer/clc_clz.h
M libclc/clc/include/clc/integer/clc_hadd.h
M libclc/clc/include/clc/integer/clc_mad24.h
M libclc/clc/include/clc/integer/clc_mad_hi.h
M libclc/clc/include/clc/integer/clc_mad_sat.h
M libclc/clc/include/clc/integer/clc_mul24.h
M libclc/clc/include/clc/integer/clc_mul_hi.h
M libclc/clc/include/clc/integer/clc_popcount.h
M libclc/clc/include/clc/integer/clc_rhadd.h
M libclc/clc/include/clc/integer/clc_rotate.h
M libclc/clc/include/clc/integer/clc_sub_sat.h
M libclc/clc/include/clc/integer/clc_upsample.h
M libclc/clc/include/clc/integer/definitions.h
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/integer/gentype24.inc
M libclc/clc/include/clc/internal/clc.h
M libclc/clc/include/clc/internal/math/clc_sw_fma.h
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
M libclc/clc/include/clc/math/binary_decl_with_scalar_second_arg.inc
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_acos.h
A libclc/clc/include/clc/math/clc_acosh.h
A libclc/clc/include/clc/math/clc_acospi.h
A libclc/clc/include/clc/math/clc_asin.h
A libclc/clc/include/clc/math/clc_asinh.h
A libclc/clc/include/clc/math/clc_asinpi.h
A libclc/clc/include/clc/math/clc_atan.h
A libclc/clc/include/clc/math/clc_atan2.h
A libclc/clc/include/clc/math/clc_atan2pi.h
A libclc/clc/include/clc/math/clc_atanh.h
A libclc/clc/include/clc/math/clc_atanpi.h
M libclc/clc/include/clc/math/clc_ceil.h
M libclc/clc/include/clc/math/clc_copysign.h
A libclc/clc/include/clc/math/clc_ep_log.h
A libclc/clc/include/clc/math/clc_ep_log.inc
M libclc/clc/include/clc/math/clc_fabs.h
M libclc/clc/include/clc/math/clc_floor.h
M libclc/clc/include/clc/math/clc_fma.h
A libclc/clc/include/clc/math/clc_fmod.h
M libclc/clc/include/clc/math/clc_frexp.h
M libclc/clc/include/clc/math/clc_hypot.h
M libclc/clc/include/clc/math/clc_ldexp.h
M libclc/clc/include/clc/math/clc_ldexp.inc
M libclc/clc/include/clc/math/clc_log.h
M libclc/clc/include/clc/math/clc_log10.h
A libclc/clc/include/clc/math/clc_log1p.h
M libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/include/clc/math/clc_mad.h
M libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/clc_nan.h
M libclc/clc/include/clc/math/clc_nan.inc
M libclc/clc/include/clc/math/clc_nextafter.h
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
M libclc/clc/include/clc/math/clc_rint.h
M libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/clc_rsqrt.h
A libclc/clc/include/clc/math/clc_sincos_helpers.h
A libclc/clc/include/clc/math/clc_sincos_helpers.inc
M libclc/clc/include/clc/math/clc_sqrt.h
M libclc/clc/include/clc/math/clc_subnormal_config.h
M libclc/clc/include/clc/math/clc_trunc.h
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/include/clc/math/tables.h
M libclc/clc/include/clc/math/unary_builtin.inc
M libclc/clc/include/clc/math/unary_decl.inc
M libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
M libclc/clc/include/clc/math/unary_decl_with_ptr.inc
M libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
M libclc/clc/include/clc/math/unary_def_with_ptr.inc
M libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/include/clc/relational/binary_decl.inc
M libclc/clc/include/clc/relational/clc_all.h
M libclc/clc/include/clc/relational/clc_any.h
M libclc/clc/include/clc/relational/clc_bitselect.h
M libclc/clc/include/clc/relational/clc_bitselect.inc
M libclc/clc/include/clc/relational/clc_isequal.h
M libclc/clc/include/clc/relational/clc_isfinite.h
M libclc/clc/include/clc/relational/clc_isgreater.h
M libclc/clc/include/clc/relational/clc_isgreaterequal.h
M libclc/clc/include/clc/relational/clc_isinf.h
M libclc/clc/include/clc/relational/clc_isless.h
M libclc/clc/include/clc/relational/clc_islessequal.h
M libclc/clc/include/clc/relational/clc_islessgreater.h
M libclc/clc/include/clc/relational/clc_isnan.h
M libclc/clc/include/clc/relational/clc_isnormal.h
M libclc/clc/include/clc/relational/clc_isnotequal.h
M libclc/clc/include/clc/relational/clc_isordered.h
M libclc/clc/include/clc/relational/clc_isunordered.h
M libclc/clc/include/clc/relational/clc_select.h
M libclc/clc/include/clc/relational/clc_select_decl.inc
M libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/include/clc/relational/clc_signbit.h
M libclc/clc/include/clc/relational/floatn.inc
M libclc/clc/include/clc/relational/relational.h
M libclc/clc/include/clc/relational/unary_decl.inc
M libclc/clc/include/clc/shared/binary_decl.inc
M libclc/clc/include/clc/shared/binary_def.inc
M libclc/clc/include/clc/shared/clc_clamp.h
M libclc/clc/include/clc/shared/clc_clamp.inc
M libclc/clc/include/clc/shared/clc_max.h
M libclc/clc/include/clc/shared/clc_max.inc
M libclc/clc/include/clc/shared/clc_min.h
M libclc/clc/include/clc/shared/clc_min.inc
M libclc/clc/include/clc/shared/ternary_decl.inc
M libclc/clc/include/clc/shared/ternary_def.inc
M libclc/clc/include/clc/shared/unary_decl.inc
M libclc/clc/include/clc/shared/unary_def.inc
M libclc/clc/include/clc/utils.h
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/SOURCES
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_sign.cl
M libclc/clc/lib/generic/common/clc_sign.inc
M libclc/clc/lib/generic/common/clc_smoothstep.cl
M libclc/clc/lib/generic/geometric/clc_dot.cl
M libclc/clc/lib/generic/integer/clc_abs.cl
M libclc/clc/lib/generic/integer/clc_abs.inc
M libclc/clc/lib/generic/integer/clc_abs_diff.cl
M libclc/clc/lib/generic/integer/clc_abs_diff.inc
M libclc/clc/lib/generic/integer/clc_add_sat.cl
M libclc/clc/lib/generic/integer/clc_clz.cl
M libclc/clc/lib/generic/integer/clc_hadd.cl
M libclc/clc/lib/generic/integer/clc_hadd.inc
M libclc/clc/lib/generic/integer/clc_mad24.cl
M libclc/clc/lib/generic/integer/clc_mad24.inc
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul24.cl
M libclc/clc/lib/generic/integer/clc_mul24.inc
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_popcount.cl
M libclc/clc/lib/generic/integer/clc_rhadd.cl
M libclc/clc/lib/generic/integer/clc_rhadd.inc
M libclc/clc/lib/generic/integer/clc_rotate.cl
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/integer/clc_sub_sat.cl
M libclc/clc/lib/generic/integer/clc_upsample.cl
A libclc/clc/lib/generic/math/clc_acos.cl
A libclc/clc/lib/generic/math/clc_acos.inc
A libclc/clc/lib/generic/math/clc_acosh.cl
A libclc/clc/lib/generic/math/clc_acosh.inc
A libclc/clc/lib/generic/math/clc_acospi.cl
A libclc/clc/lib/generic/math/clc_acospi.inc
A libclc/clc/lib/generic/math/clc_asin.cl
A libclc/clc/lib/generic/math/clc_asin.inc
A libclc/clc/lib/generic/math/clc_asinh.cl
A libclc/clc/lib/generic/math/clc_asinh.inc
A libclc/clc/lib/generic/math/clc_asinpi.cl
A libclc/clc/lib/generic/math/clc_asinpi.inc
A libclc/clc/lib/generic/math/clc_atan.cl
A libclc/clc/lib/generic/math/clc_atan.inc
A libclc/clc/lib/generic/math/clc_atan2.cl
A libclc/clc/lib/generic/math/clc_atan2.inc
A libclc/clc/lib/generic/math/clc_atan2pi.cl
A libclc/clc/lib/generic/math/clc_atan2pi.inc
A libclc/clc/lib/generic/math/clc_atanh.cl
A libclc/clc/lib/generic/math/clc_atanh.inc
A libclc/clc/lib/generic/math/clc_atanpi.cl
A libclc/clc/lib/generic/math/clc_atanpi.inc
M libclc/clc/lib/generic/math/clc_ceil.cl
M libclc/clc/lib/generic/math/clc_copysign.cl
A libclc/clc/lib/generic/math/clc_ep_log.cl
A libclc/clc/lib/generic/math/clc_ep_log.inc
M libclc/clc/lib/generic/math/clc_fabs.cl
M libclc/clc/lib/generic/math/clc_floor.cl
M libclc/clc/lib/generic/math/clc_fma.cl
M libclc/clc/lib/generic/math/clc_fma.inc
A libclc/clc/lib/generic/math/clc_fmod.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_log.cl
M libclc/clc/lib/generic/math/clc_log10.cl
A libclc/clc/lib/generic/math/clc_log1p.cl
A libclc/clc/lib/generic/math/clc_log1p.inc
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_mad.cl
M libclc/clc/lib/generic/math/clc_mad.inc
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_nan.cl
M libclc/clc/lib/generic/math/clc_nan.inc
M libclc/clc/lib/generic/math/clc_nextafter.cl
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
M libclc/clc/lib/generic/math/clc_rint.cl
M libclc/clc/lib/generic/math/clc_round.cl
M libclc/clc/lib/generic/math/clc_rsqrt.cl
M libclc/clc/lib/generic/math/clc_rsqrt.inc
A libclc/clc/lib/generic/math/clc_sincos_helpers.cl
A libclc/clc/lib/generic/math/clc_sincos_helpers.inc
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
A libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clc/lib/generic/math/clc_trunc.cl
M libclc/clc/lib/generic/relational/clc_all.cl
M libclc/clc/lib/generic/relational/clc_any.cl
M libclc/clc/lib/generic/relational/clc_bitselect.cl
M libclc/clc/lib/generic/relational/clc_bitselect.inc
M libclc/clc/lib/generic/relational/clc_isequal.cl
M libclc/clc/lib/generic/relational/clc_isfinite.cl
M libclc/clc/lib/generic/relational/clc_isgreater.cl
M libclc/clc/lib/generic/relational/clc_isgreaterequal.cl
M libclc/clc/lib/generic/relational/clc_isinf.cl
M libclc/clc/lib/generic/relational/clc_isless.cl
M libclc/clc/lib/generic/relational/clc_islessequal.cl
M libclc/clc/lib/generic/relational/clc_islessgreater.cl
M libclc/clc/lib/generic/relational/clc_isnan.cl
M libclc/clc/lib/generic/relational/clc_isnormal.cl
M libclc/clc/lib/generic/relational/clc_isnotequal.cl
M libclc/clc/lib/generic/relational/clc_isordered.cl
M libclc/clc/lib/generic/relational/clc_isunordered.cl
M libclc/clc/lib/generic/relational/clc_select.cl
M libclc/clc/lib/generic/relational/clc_signbit.cl
M libclc/clc/lib/generic/shared/clc_clamp.cl
M libclc/clc/lib/generic/shared/clc_clamp.inc
M libclc/clc/lib/generic/shared/clc_max.cl
M libclc/clc/lib/generic/shared/clc_max.inc
M libclc/clc/lib/generic/shared/clc_min.cl
M libclc/clc/lib/generic/shared/clc_min.inc
M libclc/clc/lib/r600/math/clc_rsqrt_override.cl
M libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/SOURCES
M libclc/clspv/lib/math/fma.cl
M libclc/clspv/lib/shared/vstore_half.cl
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/clspv/lib/subnormal_config.cl
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/as_type.h
M libclc/generic/include/clc/async/async_work_group_copy.h
M libclc/generic/include/clc/async/async_work_group_copy.inc
M libclc/generic/include/clc/async/async_work_group_strided_copy.h
M libclc/generic/include/clc/async/async_work_group_strided_copy.inc
M libclc/generic/include/clc/async/gentype.inc
M libclc/generic/include/clc/async/prefetch.h
M libclc/generic/include/clc/async/prefetch.inc
M libclc/generic/include/clc/async/wait_group_events.h
M libclc/generic/include/clc/atom_decl_int32.inc
M libclc/generic/include/clc/atom_decl_int64.inc
M libclc/generic/include/clc/atomic/atomic_add.h
M libclc/generic/include/clc/atomic/atomic_and.h
M libclc/generic/include/clc/atomic/atomic_cmpxchg.h
M libclc/generic/include/clc/atomic/atomic_dec.h
M libclc/generic/include/clc/atomic/atomic_decl.inc
M libclc/generic/include/clc/atomic/atomic_inc.h
M libclc/generic/include/clc/atomic/atomic_max.h
M libclc/generic/include/clc/atomic/atomic_min.h
M libclc/generic/include/clc/atomic/atomic_or.h
M libclc/generic/include/clc/atomic/atomic_sub.h
M libclc/generic/include/clc/atomic/atomic_xchg.h
M libclc/generic/include/clc/atomic/atomic_xor.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_add.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_cmpxchg.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_dec.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_inc.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_sub.h
M libclc/generic/include/clc/cl_khr_global_int32_base_atomics/atom_xchg.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_and.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_max.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_min.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_or.h
M libclc/generic/include/clc/cl_khr_global_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_add.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_cmpxchg.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_dec.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_inc.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_sub.h
M libclc/generic/include/clc/cl_khr_int64_base_atomics/atom_xchg.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_and.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_max.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_min.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_or.h
M libclc/generic/include/clc/cl_khr_int64_extended_atomics/atom_xor.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_add.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_cmpxchg.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_dec.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_inc.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_sub.h
M libclc/generic/include/clc/cl_khr_local_int32_base_atomics/atom_xchg.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_and.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_max.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_min.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_or.h
M libclc/generic/include/clc/cl_khr_local_int32_extended_atomics/atom_xor.h
M libclc/generic/include/clc/clc.h
M libclc/generic/include/clc/clcmacros.h
M libclc/generic/include/clc/common/degrees.h
M libclc/generic/include/clc/common/degrees.inc
M libclc/generic/include/clc/common/mix.h
M libclc/generic/include/clc/common/mix.inc
M libclc/generic/include/clc/common/radians.h
M libclc/generic/include/clc/common/radians.inc
M libclc/generic/include/clc/common/sign.h
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/convert.h
M libclc/generic/include/clc/explicit_fence/explicit_memory_fence.h
M libclc/generic/include/clc/geometric/cross.h
M libclc/generic/include/clc/geometric/distance.h
M libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/dot.h
M libclc/generic/include/clc/geometric/dot.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/geometric/length.h
M libclc/generic/include/clc/geometric/length.inc
M libclc/generic/include/clc/geometric/normalize.h
M libclc/generic/include/clc/geometric/normalize.inc
M libclc/generic/include/clc/image/image.h
M libclc/generic/include/clc/image/image_defines.h
M libclc/generic/include/clc/integer/abs.h
M libclc/generic/include/clc/integer/abs.inc
M libclc/generic/include/clc/integer/abs_diff.h
M libclc/generic/include/clc/integer/abs_diff.inc
M libclc/generic/include/clc/integer/add_sat.h
M libclc/generic/include/clc/integer/add_sat.inc
M libclc/generic/include/clc/integer/clz.h
M libclc/generic/include/clc/integer/hadd.h
M libclc/generic/include/clc/integer/integer-gentype.inc
M libclc/generic/include/clc/integer/mad24.h
M libclc/generic/include/clc/integer/mad_hi.h
M libclc/generic/include/clc/integer/mad_sat.h
M libclc/generic/include/clc/integer/mad_sat.inc
M libclc/generic/include/clc/integer/mul24.h
M libclc/generic/include/clc/integer/mul_hi.h
M libclc/generic/include/clc/integer/popcount.h
M libclc/generic/include/clc/integer/rhadd.h
M libclc/generic/include/clc/integer/rotate.h
M libclc/generic/include/clc/integer/rotate.inc
M libclc/generic/include/clc/integer/sub_sat.h
M libclc/generic/include/clc/integer/sub_sat.inc
M libclc/generic/include/clc/integer/unary.inc
M libclc/generic/include/clc/integer/upsample.h
M libclc/generic/include/clc/math/acos.h
M libclc/generic/include/clc/math/acosh.h
M libclc/generic/include/clc/math/acospi.h
M libclc/generic/include/clc/math/asin.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/binary_decl_tt.inc
M libclc/generic/include/clc/math/cbrt.h
M libclc/generic/include/clc/math/ceil.h
M libclc/generic/include/clc/math/copysign.h
M libclc/generic/include/clc/math/cos.h
M libclc/generic/include/clc/math/cosh.h
M libclc/generic/include/clc/math/cospi.h
M libclc/generic/include/clc/math/erf.h
M libclc/generic/include/clc/math/erfc.h
M libclc/generic/include/clc/math/exp.h
M libclc/generic/include/clc/math/exp10.h
M libclc/generic/include/clc/math/exp2.h
M libclc/generic/include/clc/math/expm1.h
M libclc/generic/include/clc/math/fabs.h
M libclc/generic/include/clc/math/fdim.h
M libclc/generic/include/clc/math/floor.h
M libclc/generic/include/clc/math/fma.h
M libclc/generic/include/clc/math/fmax.h
M libclc/generic/include/clc/math/fmin.h
M libclc/generic/include/clc/math/fmod.h
M libclc/generic/include/clc/math/fract.h
M libclc/generic/include/clc/math/fract.inc
M libclc/generic/include/clc/math/frexp.h
M libclc/generic/include/clc/math/frexp.inc
M libclc/generic/include/clc/math/half_cos.h
M libclc/generic/include/clc/math/half_divide.h
M libclc/generic/include/clc/math/half_exp.h
M libclc/generic/include/clc/math/half_exp10.h
M libclc/generic/include/clc/math/half_exp2.h
M libclc/generic/include/clc/math/half_log.h
M libclc/generic/include/clc/math/half_log10.h
M libclc/generic/include/clc/math/half_log2.h
M libclc/generic/include/clc/math/half_powr.h
M libclc/generic/include/clc/math/half_recip.h
M libclc/generic/include/clc/math/half_rsqrt.h
M libclc/generic/include/clc/math/half_sin.h
M libclc/generic/include/clc/math/half_sqrt.h
M libclc/generic/include/clc/math/half_tan.h
M libclc/generic/include/clc/math/hypot.h
M libclc/generic/include/clc/math/ilogb.h
M libclc/generic/include/clc/math/ilogb.inc
M libclc/generic/include/clc/math/ldexp.h
M libclc/generic/include/clc/math/ldexp.inc
M libclc/generic/include/clc/math/lgamma.h
M libclc/generic/include/clc/math/lgamma_r.h
M libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/include/clc/math/log.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/include/clc/math/log1p.h
M libclc/generic/include/clc/math/log2.h
M libclc/generic/include/clc/math/logb.h
M libclc/generic/include/clc/math/mad.h
M libclc/generic/include/clc/math/maxmag.h
M libclc/generic/include/clc/math/minmag.h
M libclc/generic/include/clc/math/modf.h
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/math/native_cos.h
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_exp.h
M libclc/generic/include/clc/math/native_exp10.h
M libclc/generic/include/clc/math/native_exp2.h
M libclc/generic/include/clc/math/native_log.h
M libclc/generic/include/clc/math/native_log10.h
M libclc/generic/include/clc/math/native_log2.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/native_recip.h
M libclc/generic/include/clc/math/native_rsqrt.h
M libclc/generic/include/clc/math/native_sin.h
M libclc/generic/include/clc/math/native_sqrt.h
M libclc/generic/include/clc/math/native_tan.h
M libclc/generic/include/clc/math/nextafter.h
M libclc/generic/include/clc/math/pow.h
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
M libclc/generic/include/clc/math/powr.h
M libclc/generic/include/clc/math/remainder.h
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
M libclc/generic/include/clc/math/rint.h
M libclc/generic/include/clc/math/rootn.h
M libclc/generic/include/clc/math/rootn.inc
M libclc/generic/include/clc/math/round.h
M libclc/generic/include/clc/math/rsqrt.h
M libclc/generic/include/clc/math/sin.h
M libclc/generic/include/clc/math/sincos.h
M libclc/generic/include/clc/math/sincos.inc
M libclc/generic/include/clc/math/sinh.h
M libclc/generic/include/clc/math/sinpi.h
M libclc/generic/include/clc/math/sqrt.h
M libclc/generic/include/clc/math/tan.h
M libclc/generic/include/clc/math/tanh.h
M libclc/generic/include/clc/math/tanpi.h
M libclc/generic/include/clc/math/tgamma.h
M libclc/generic/include/clc/math/trunc.h
M libclc/generic/include/clc/misc/shuffle.h
M libclc/generic/include/clc/misc/shuffle2.h
M libclc/generic/include/clc/relational/all.h
M libclc/generic/include/clc/relational/any.h
M libclc/generic/include/clc/relational/bitselect.h
M libclc/generic/include/clc/relational/bitselect.inc
M libclc/generic/include/clc/relational/isequal.h
M libclc/generic/include/clc/relational/isfinite.h
M libclc/generic/include/clc/relational/isgreater.h
M libclc/generic/include/clc/relational/isgreaterequal.h
M libclc/generic/include/clc/relational/isinf.h
M libclc/generic/include/clc/relational/isless.h
M libclc/generic/include/clc/relational/islessequal.h
M libclc/generic/include/clc/relational/islessgreater.h
M libclc/generic/include/clc/relational/isnan.h
M libclc/generic/include/clc/relational/isnormal.h
M libclc/generic/include/clc/relational/isnotequal.h
M libclc/generic/include/clc/relational/isordered.h
M libclc/generic/include/clc/relational/isunordered.h
M libclc/generic/include/clc/relational/select.h
M libclc/generic/include/clc/relational/signbit.h
M libclc/generic/include/clc/shared/clamp.h
M libclc/generic/include/clc/shared/clamp.inc
M libclc/generic/include/clc/shared/max.h
M libclc/generic/include/clc/shared/max.inc
M libclc/generic/include/clc/shared/min.h
M libclc/generic/include/clc/shared/min.inc
M libclc/generic/include/clc/shared/vload.h
M libclc/generic/include/clc/shared/vstore.h
M libclc/generic/include/clc/synchronization/barrier.h
M libclc/generic/include/clc/synchronization/cl_mem_fence_flags.h
M libclc/generic/include/clc/workitem/get_global_id.h
M libclc/generic/include/clc/workitem/get_global_offset.h
M libclc/generic/include/clc/workitem/get_global_size.h
M libclc/generic/include/clc/workitem/get_group_id.h
M libclc/generic/include/clc/workitem/get_local_id.h
M libclc/generic/include/clc/workitem/get_local_size.h
M libclc/generic/include/clc/workitem/get_num_groups.h
M libclc/generic/include/clc/workitem/get_work_dim.h
M libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
M libclc/generic/include/math/clc_rootn.h
M libclc/generic/include/math/clc_rootn.inc
M libclc/generic/include/math/clc_tan.h
M libclc/generic/include/math/clc_tanpi.h
M libclc/generic/lib/SOURCES
M libclc/generic/lib/async/async_work_group_copy.cl
M libclc/generic/lib/async/async_work_group_copy.inc
M libclc/generic/lib/async/async_work_group_strided_copy.cl
M libclc/generic/lib/async/async_work_group_strided_copy.inc
M libclc/generic/lib/async/prefetch.cl
M libclc/generic/lib/async/prefetch.inc
M libclc/generic/lib/async/wait_group_events.cl
M libclc/generic/lib/atom_int32_binary.inc
M libclc/generic/lib/atomic/atomic_add.cl
M libclc/generic/lib/atomic/atomic_and.cl
M libclc/generic/lib/atomic/atomic_cmpxchg.cl
M libclc/generic/lib/atomic/atomic_dec.cl
M libclc/generic/lib/atomic/atomic_inc.cl
M libclc/generic/lib/atomic/atomic_max.cl
M libclc/generic/lib/atomic/atomic_min.cl
M libclc/generic/lib/atomic/atomic_or.cl
M libclc/generic/lib/atomic/atomic_sub.cl
M libclc/generic/lib/atomic/atomic_xchg.cl
M libclc/generic/lib/atomic/atomic_xor.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_add.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_cmpxchg.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_dec.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_inc.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_sub.cl
M libclc/generic/lib/cl_khr_global_int32_base_atomics/atom_xchg.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_and.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_max.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_min.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_or.cl
M libclc/generic/lib/cl_khr_global_int32_extended_atomics/atom_xor.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_add.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_cmpxchg.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_dec.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_inc.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_sub.cl
M libclc/generic/lib/cl_khr_int64_base_atomics/atom_xchg.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_and.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_max.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_min.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_or.cl
M libclc/generic/lib/cl_khr_int64_extended_atomics/atom_xor.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_add.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_cmpxchg.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_dec.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_inc.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_sub.cl
M libclc/generic/lib/cl_khr_local_int32_base_atomics/atom_xchg.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_and.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_max.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_min.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_or.cl
M libclc/generic/lib/cl_khr_local_int32_extended_atomics/atom_xor.cl
M libclc/generic/lib/clc_unary.inc
M libclc/generic/lib/common/degrees.cl
M libclc/generic/lib/common/mix.cl
M libclc/generic/lib/common/mix.inc
M libclc/generic/lib/common/radians.cl
M libclc/generic/lib/common/sign.cl
M libclc/generic/lib/common/smoothstep.cl
M libclc/generic/lib/common/step.cl
M libclc/generic/lib/gen_convert.py
M libclc/generic/lib/geometric/cross.cl
M libclc/generic/lib/geometric/distance.cl
M libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/dot.cl
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/integer/abs.cl
M libclc/generic/lib/integer/abs.inc
M libclc/generic/lib/integer/abs_diff.cl
M libclc/generic/lib/integer/abs_diff.inc
M libclc/generic/lib/integer/add_sat.cl
M libclc/generic/lib/integer/clz.cl
M libclc/generic/lib/integer/hadd.cl
M libclc/generic/lib/integer/mad24.cl
M libclc/generic/lib/integer/mad_hi.cl
M libclc/generic/lib/integer/mad_sat.cl
M libclc/generic/lib/integer/mul24.cl
M libclc/generic/lib/integer/mul_hi.cl
M libclc/generic/lib/integer/popcount.cl
M libclc/generic/lib/integer/rhadd.cl
M libclc/generic/lib/integer/rotate.cl
M libclc/generic/lib/integer/sub_sat.cl
M libclc/generic/lib/integer/upsample.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/binary_impl.inc
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/ceil.cl
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_sw_unary.inc
M libclc/generic/lib/math/clc_tan.cl
M libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/copysign.cl
M libclc/generic/lib/math/cos.cl
A libclc/generic/lib/math/cos.inc
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
R libclc/generic/lib/math/ep_log.cl
R 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/exp10.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/expm1.cl
M libclc/generic/lib/math/fabs.cl
M libclc/generic/lib/math/fdim.cl
M libclc/generic/lib/math/fdim.inc
M libclc/generic/lib/math/floor.cl
M libclc/generic/lib/math/fma.cl
M libclc/generic/lib/math/fmax.cl
M libclc/generic/lib/math/fmax.inc
M libclc/generic/lib/math/fmin.cl
M libclc/generic/lib/math/fmin.inc
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/fract.cl
M libclc/generic/lib/math/fract.inc
M libclc/generic/lib/math/frexp.cl
M libclc/generic/lib/math/half_binary.inc
M libclc/generic/lib/math/half_cos.cl
M libclc/generic/lib/math/half_divide.cl
M libclc/generic/lib/math/half_exp.cl
M libclc/generic/lib/math/half_exp10.cl
M libclc/generic/lib/math/half_exp2.cl
M libclc/generic/lib/math/half_log.cl
M libclc/generic/lib/math/half_log10.cl
M libclc/generic/lib/math/half_log2.cl
M libclc/generic/lib/math/half_powr.cl
M libclc/generic/lib/math/half_recip.cl
M libclc/generic/lib/math/half_rsqrt.cl
M libclc/generic/lib/math/half_sin.cl
M libclc/generic/lib/math/half_sqrt.cl
M libclc/generic/lib/math/half_tan.cl
M libclc/generic/lib/math/half_unary.inc
M libclc/generic/lib/math/hypot.cl
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/log.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/log2.cl
M libclc/generic/lib/math/logb.cl
M libclc/generic/lib/math/mad.cl
M libclc/generic/lib/math/maxmag.cl
M libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/minmag.cl
M libclc/generic/lib/math/minmag.inc
M libclc/generic/lib/math/modf.cl
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_divide.cl
M libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp10.cl
M libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_powr.cl
M libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_recip.cl
M libclc/generic/lib/math/native_recip.inc
M libclc/generic/lib/math/native_rsqrt.cl
M libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
M libclc/generic/lib/math/native_tan.cl
M libclc/generic/lib/math/native_tan.inc
M libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/nextafter.cl
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rint.cl
M libclc/generic/lib/math/rootn.cl
M libclc/generic/lib/math/rootn.inc
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/rsqrt.cl
M libclc/generic/lib/math/sin.cl
A libclc/generic/lib/math/sin.inc
M libclc/generic/lib/math/sincos.cl
M libclc/generic/lib/math/sincos.inc
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/tan.cl
M libclc/generic/lib/math/tanh.cl
R runtimes/cmake/Modules/FindLibcCommonUtils.cmake
Log Message:
-----------
Merge branch 'main' into users/ylzsx/r-tls-ie-to-le-norelax
Compare: https://github.com/llvm/llvm-project/compare/351a9c23316d...a11db935697e
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