[all-commits] [llvm/llvm-project] 07405c: [AMDGPU] clang-format SIProgramInfo.h. NFC. (#127033)
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Sun Feb 23 17:48:52 PST 2025
Branch: refs/heads/users/vitalybuka/spr/ubsan-remove-fsanitizervptr-from-fsanitizerundefined
Home: https://github.com/llvm/llvm-project
Commit: 07405ca03600fd27fa27fb63f09cd0807f92e31a
https://github.com/llvm/llvm-project/commit/07405ca03600fd27fa27fb63f09cd0807f92e31a
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
Log Message:
-----------
[AMDGPU] clang-format SIProgramInfo.h. NFC. (#127033)
Commit: 9a63a2c4babcaabaeb1a106345f3b037485efa4c
https://github.com/llvm/llvm-project/commit/9a63a2c4babcaabaeb1a106345f3b037485efa4c
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
A mlir/include/mlir-c/Dialect/Index.h
M mlir/lib/CAPI/Dialect/CMakeLists.txt
A mlir/lib/CAPI/Dialect/Index.cpp
Log Message:
-----------
[mlir][index] Add CAPI (#127039)
Commit: 660cdace559a8dbe44ebf2222b854bf3f39a5f62
https://github.com/llvm/llvm-project/commit/660cdace559a8dbe44ebf2222b854bf3f39a5f62
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M flang/runtime/pointer.cpp
M flang/unittests/Runtime/Pointer.cpp
Log Message:
-----------
[flang] Fixed write past allocated descriptor in PointerAssociateRemapping. (#127000)
The pointer descriptor might be smaller than the target descriptor,
so `operator=` would write beyound the pointer descriptor.
Commit: eb8ffd617a06d16d5e0928dd346b9ed2380c8fec
https://github.com/llvm/llvm-project/commit/eb8ffd617a06d16d5e0928dd346b9ed2380c8fec
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
Log Message:
-----------
[flang] AliasAnalysis: Handle fir.load on fir.alloca (#117785)
For example, determine that the address in p below cannot alias the
address of v:
```
subroutine test()
real, pointer :: p
real, target :: t
real :: v
p => t
v = p
end subroutine test
```
Commit: c81139f417a209dbd2a4e06465483d4b0951a9ac
https://github.com/llvm/llvm-project/commit/c81139f417a209dbd2a4e06465483d4b0951a9ac
Author: Sylvestre Ledru <sylvestre at debian.org>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
libc/cmake: don't fail if LLVM_VERSION_SUFFIX isn't defined (#126359)
Closes: #126358
cc @samvangysegem
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: d18b1ebef5f5e355d6cee2b2f48789a159a5d616
https://github.com/llvm/llvm-project/commit/d18b1ebef5f5e355d6cee2b2f48789a159a5d616
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/check-node-without-vector-user.ll
Log Message:
-----------
[SLP]Check if vector user exist before accessing it
Need to check if vector user exist before accessing it to avoid compiler
crash.
Fixes #126581
Commit: 4ee173a1684e7a3afc6d32d576469425b3fe8387
https://github.com/llvm/llvm-project/commit/4ee173a1684e7a3afc6d32d576469425b3fe8387
Author: klensy <klensy at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M .mailmap
Log Message:
-----------
add me to mailmap (#126226)
Should add ability for buildbot to find proper mail.
https://github.com/buildbot/buildbot/blob/f1a84bbe5555a40b3fb4f04707fe6398aed4c092/master/buildbot/changes/gitpoller.py#L418
At least buildbot parses user names and mails with respect to mailmap.
Co-authored-by: klensy <nightouser at gmail.com>
Commit: 059722da5e2943856af7cb665fd7cacd41e61dc4
https://github.com/llvm/llvm-project/commit/059722da5e2943856af7cb665fd7cacd41e61dc4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
R llvm/lib/Target/RISCV/RISCVSchedGeneric.td
M llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
M llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
M llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/add-imm.ll
M llvm/test/CodeGen/RISCV/alloca.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.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/bf16-promote.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/branch-on-zero.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32e.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/condbinops.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fastcc-bf16.ll
M llvm/test/CodeGen/RISCV/fastcc-float.ll
M llvm/test/CodeGen/RISCV/fastcc-half.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-select-fcmp.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fp-fcanonicalize.ll
M llvm/test/CodeGen/RISCV/fp128.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/get-setcc-result-type.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-mem.ll
M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-zfinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm-zhinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/legalize-fneg.ll
M llvm/test/CodeGen/RISCV/llvm.exp10.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/mem.ll
M llvm/test/CodeGen/RISCV/mem64.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/memmove.ll
M llvm/test/CodeGen/RISCV/memset-pattern.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/orc-b-patterns.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/RISCV/pr58511.ll
M llvm/test/CodeGen/RISCV/pr63816.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64-double-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.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/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.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-buildvec-of-binop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-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-ctpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.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-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.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-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store-merge-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-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-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.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-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.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-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.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-mask.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/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.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/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.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/fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mutate-prior-vsetvli-avl.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
M llvm/test/CodeGen/RISCV/rvv/pr125306.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.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/shrinkwrap.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmuladd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.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/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.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/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-chain-fixed-load.ll
M llvm/test/CodeGen/RISCV/scmp.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
M llvm/test/CodeGen/RISCV/select-optimize-multiple.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shift-amount-mod.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/srem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/srem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/stack-slot-size.ll
M llvm/test/CodeGen/RISCV/stack-store-check.ll
M llvm/test/CodeGen/RISCV/tail-calls.ll
M llvm/test/CodeGen/RISCV/ucmp.ll
M llvm/test/CodeGen/RISCV/unaligned-load-store.ll
M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
M llvm/test/CodeGen/RISCV/urem-vector-lkk.ll
M llvm/test/CodeGen/RISCV/vararg.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/wide-scalar-shift-legalization.ll
M llvm/test/CodeGen/RISCV/xaluo.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
M llvm/test/CodeGen/RISCV/xtheadmempair.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zdinx-asm-constraint.ll
M llvm/test/CodeGen/RISCV/zdinx-boundary-check.ll
Log Message:
-----------
Revert "[RISCV] Default to MicroOpBufferSize = 1 for scheduling purposes (#126608)" and follow up commit.
This reverts commit 9cc8442a2b438962883bbbfd8ff62ad4b1a2b95d.
This reverts commit 859c871184bdfdebb47b5c7ec5e59348e0534e0b.
A performance regression was reported on the original review. There appears
to have been an unexpected interaction here. Reverting during investigation.
Commit: c52fbabc93d493ec94edc380c5434729731d0a3b
https://github.com/llvm/llvm-project/commit/c52fbabc93d493ec94edc380c5434729731d0a3b
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-buildid.s
Log Message:
-----------
[LLD][COFF] Set __buildid symbol in both symbol tables on ARM64X (#126777)
Commit: 0feb00f17cbaac7428dcb7aed13d903b65974978
https://github.com/llvm/llvm-project/commit/0feb00f17cbaac7428dcb7aed13d903b65974978
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/enum_promotion/main.cpp
Log Message:
-----------
[lldb][test] TestCPPEnumPromotion: make sure enums are preserved in dSYM
On macOS CI this was failing with:
```
FAIL: test_dsym (TestCPPEnumPromotion.TestCPPEnumPromotion)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1784, in test_method
return attrvalue(self)
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py", line 28, in test
self.expect_expr("+EnumUChar::UChar", result_type=UChar_promoted.type.name)
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2540, in expect_expr
value_check.check_value(self, eval_result, str(eval_result))
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 299, in check_value
test_base.assertSuccess(val.GetError())
File "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 2575, in assertSuccess
self.fail(self._formatMessage(msg, "'{}' is not success".format(error)))
AssertionError: 'error: <user expression 0>:1:2: use of undeclared identifier 'EnumUChar'
1 | +EnumUChar::UChar
| ^
' is not success
```
But only for the `dSYM` variant of the test.
Looking at the dSYM, none of the enums are actually preserved in the debug-info. We have to actually use the enum types in source to get dsymutil to preserve them. This patch does just that.
Commit: 7d9a12cec2eee54ee30fd5c053580dd241abff0d
https://github.com/llvm/llvm-project/commit/7d9a12cec2eee54ee30fd5c053580dd241abff0d
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn build] Manually port 89d636ba
Commit: 8252e0ef82efe672f1878dbfd74f99b86f293d8f
https://github.com/llvm/llvm-project/commit/8252e0ef82efe672f1878dbfd74f99b86f293d8f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/pdata-arm64ec.test
Log Message:
-----------
[LLD][COFF] Emit ARM64X relocations for CHPE ExtraRFETable entries (#126713)
In the native view, ExtraEFRTable references the x86 exception table.
The EC view references the ARM exception table, as it did before this
change.
Commit: ea77dd8715b5a9016ed3b290f2822dda095bb754
https://github.com/llvm/llvm-project/commit/ea77dd8715b5a9016ed3b290f2822dda095bb754
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
Log Message:
-----------
[libc] Include locale support in baremetal configuration (#127103)
Having locale is a requirement for C++ streams.
Commit: c2e96778e04197dd266f7c540bf174b6ec28a434
https://github.com/llvm/llvm-project/commit/c2e96778e04197dd266f7c540bf174b6ec28a434
Author: John Harrison <harjohn at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/output/main.c
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
Log Message:
-----------
[lldb-dap] Ensure we do not print the close sentinel when closing stdout. (#126833)
If you have an lldb-dap log file you'll almost always see a final
message like:
```
<--
Content-Length: 94
{
"body": {
"category": "stdout",
"output": "\u0000\u0000"
},
"event": "output",
"seq": 0,
"type": "event"
}
<--
Content-Length: 94
{
"body": {
"category": "stderr",
"output": "\u0000\u0000"
},
"event": "output",
"seq": 0,
"type": "event"
}
```
The OutputRedirect is always writing the `"\0"` byte as a final stdout
message during shutdown. Instead, I adjusted this to detect the sentinel
value and break out of the read loop as if we detected EOF.
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 4ac79a8c988ff74984b78c13d489eafcce9189e5
https://github.com/llvm/llvm-project/commit/4ac79a8c988ff74984b78c13d489eafcce9189e5
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/ICF.cpp
M lld/MachO/Target.h
M lld/test/MachO/arm64-thunks.s
Log Message:
-----------
[lld-macho] Use Symbols as branch target for safe_thunks ICF (#126835)
## Problem
The `safe_thunks` ICF optimization in `lld-macho` was creating thunks
that pointed to `InputSection`s instead of `Symbol`s. While, generally,
branch relocations can point to symbols or input sections, in this case
we need them to point to symbols as subsequently the branch extension
algorithm expects branches to always point to `Symbol`'s.
## Solution
This patch changes the ICF implementation so that safe thunks point to
`Symbol`'s rather than `InputSection`s.
## Testing
The existing `arm64-thunks.s` test is modified to include
`--icf=safe_thunks` to explicitly verify the interaction between ICF and
branch range extension thunks. Two functions were added that will be
merged together via a thunk. Before this patch, this test would generate
an assert - now this scenario is correctly handled.
Commit: 72f4e656b8feb3665bd074fadf1db1e72b385030
https://github.com/llvm/llvm-project/commit/72f4e656b8feb3665bd074fadf1db1e72b385030
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Revise interface of isLegalBitRotate [nfc]
Remove a dead parameter (DAG), and replace the ShuffleVectorSDNode param
with the two things we need from the shuffle (mask and VT). There's
further room to improve this code, but this gets me what I need for an
upcoming patch.
Commit: b666ac3b63e01bfa602318c877ea2395fea53f89
https://github.com/llvm/llvm-project/commit/b666ac3b63e01bfa602318c877ea2395fea53f89
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/include/lldb/Target/Thread.h
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
Log Message:
-----------
[lldb] Change lldb's breakpoint handling behavior, reland (#126988)
lldb today has two rules: When a thread stops at a BreakpointSite, we
set the thread's StopReason to be "breakpoint hit" (regardless if we've
actually hit the breakpoint, or if we've merely stopped *at* the
breakpoint instruction/point and haven't tripped it yet). And second,
when resuming a process, any thread sitting at a BreakpointSite is
silently stepped over the BreakpointSite -- because we've already
flagged the breakpoint hit when we stopped there originally.
In this patch, I change lldb to only set a thread's stop reason to
breakpoint-hit when we've actually executed the instruction/triggered
the breakpoint. When we resume, we only silently step past a
BreakpointSite that we've registered as hit. We preserve this state
across inferior function calls that the user may do while stopped, etc.
Also, when a user adds a new breakpoint at $pc while stopped, or changes
$pc to be the address of a BreakpointSite, we will silently step past
that breakpoint when the process resumes. This is purely a UX call, I
don't think there's any person who wants to set a breakpoint at $pc and
then hit it immediately on resuming.
One non-intuitive UX from this change, butt is necessary: If you're
stopped at a BreakpointSite that has not yet executed, you `stepi`, you
will hit the breakpoint and the pc will not yet advance. This thread has
not completed its stepi, and the ThreadPlanStepInstruction is still on
the stack. If you then `continue` the thread, lldb will now stop and
say, "instruction step completed", one instruction past the
BreakpointSite. You can continue a second time to resume execution.
The bugs driving this change are all from lldb dropping the real stop
reason for a thread and setting it to breakpoint-hit when that was not
the case. Jim hit one where we have an aarch64 watchpoint that triggers
one instruction before a BreakpointSite. On this arch we are notified of
the watchpoint hit after the instruction has been unrolled -- we disable
the watchpoint, instruction step, re-enable the watchpoint and collect
the new value. But now we're on a BreakpointSite so the watchpoint-hit
stop reason is lost.
Another was reported by ZequanWu in
https://discourse.llvm.org/t/lldb-unable-to-break-at-start/78282 we
attach to/launch a process with the pc at a BreakpointSite and
misbehave. Caroline Tice mentioned it is also a problem they've had with
putting a breakpoint on _dl_debug_state.
The change to each Process plugin that does execution control is that
1. If we've stopped at a BreakpointSite that has not been executed yet,
we will call Thread::SetThreadStoppedAtUnexecutedBP(pc) to record that.
When the thread resumes, if the pc is still at the same site, we will
continue, hit the breakpoint, and stop again.
2. When we've actually hit a breakpoint (enabled for this thread or
not), the Process plugin should call
Thread::SetThreadHitBreakpointSite(). When we go to resume the thread,
we will push a step-over-breakpoint ThreadPlan before resuming.
The biggest set of changes is to StopInfoMachException where we
translate a Mach Exception into a stop reason. The Mach exception codes
differ in a few places depending on the target (unambiguously), and I
didn't want to duplicate the new code for each target so I've tested
what mach exceptions we get for each action on each target, and
reorganized StopInfoMachException::CreateStopReasonWithMachException to
document these possible values, and handle them without specializing
based on the target arch.
I first landed this patch in July 2024 via
https://github.com/llvm/llvm-project/pull/96260
but the CI bots and wider testing found a number of test case failures
that needed to be updated, I reverted it. I've fixed all of those issues
in separate PRs and this change should run cleanly on all the CI bots
now.
rdar://123942164
Commit: ecdfa36ecaea7615b244f4cac26a4a023d30a9c1
https://github.com/llvm/llvm-project/commit/ecdfa36ecaea7615b244f4cac26a4a023d30a9c1
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
Log Message:
-----------
Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127089)
Commit: 63c1be7249241205734b9d03e5a1df4602e3648d
https://github.com/llvm/llvm-project/commit/63c1be7249241205734b9d03e5a1df4602e3648d
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
A llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/IPO/CMakeLists.txt
A llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
A llvm/test/Transforms/FatLTOCleanup/remove-type-checked-load.ll
Log Message:
-----------
[llvm][fatlto] Add FatLTOCleanup pass (#125911)
When using FatLTO, it is common to want to enable certain types of whole
program optimizations (WPD) or security transforms (CFI), so that they
can be made available when performing LTO. However, these transforms
should not be used when compiling the non-LTO object code. Since the
frontend must emit different IR, we cannot simply clone the module and
optimize the LTO section and non-LTO section differently to work around
this. Instead, we need to remove any problematic instruction sequences.
This patch adds a new pass whose responsibility is to clean up the IR
in the FatLTO pipeline after creating the bitcode section, which is
after running the pre-link pipeline but before running module
optimization. This allows us to safely drop any conflicting instructions
or IR constructs that are inappropriate for non-LTO compilation.
Commit: 2bdeeaa18531f41e838389596cef66e4010a634c
https://github.com/llvm/llvm-project/commit/2bdeeaa18531f41e838389596cef66e4010a634c
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/multiply_add.h
Log Message:
-----------
[libc] Use __builtin_elementwise_fma instead of __builtin_fma (#126288)
__builtin_elementwise_fma doesn't consider errno and is thus more
suitable for libc fma implementation.
Commit: 5decab178f2642a49037c33f00726792b7fdf4a3
https://github.com/llvm/llvm-project/commit/5decab178f2642a49037c33f00726792b7fdf4a3
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
A llvm/test/CodeGen/AMDGPU/shl64_reduce_flags.ll
Log Message:
-----------
AMDGPU: Reduce shl64 to shl32 if shift range is [63-32] (#125574)
Reduce:
DST = shl i64 X, Y
where Y is in the range [63-32] to:
DST = [0, shl i32 X, (Y & 32)]
Alive2 analysis:
https://alive2.llvm.org/ce/z/w_u5je
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 65640c1d4c38bf4ff84d808ec440bc8df1236803
https://github.com/llvm/llvm-project/commit/65640c1d4c38bf4ff84d808ec440bc8df1236803
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/lib/Analysis/Loads.cpp
M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/SimplifyCFG/speculate-derefable-load.ll
Log Message:
-----------
[AssumeBundles] Dereferenceable used in bundle only applies at assume. (#126117)
Update LangRef and code using `Dereferenceable` in assume bundles to
only use the information if it is safe at the point of use.
`Dereferenceable` in an assume bundle is only guaranteed at the point of
the assumption, but may not be guaranteed at later points, because the
pointer may have been freed.
Update code using `Dereferenceable` to only use it if the pointer cannot
be freed. This can further be refined to check if the pointer could be
freed between assume and use.
This follows up on https://github.com/llvm/llvm-project/pull/123196.
With that change, it should be safe to expose dereferenceable
assumptions more widely as in
https://github.com/llvm/llvm-project/pull/121789
PR: https://github.com/llvm/llvm-project/pull/126117
Commit: b5aa1c4783c93e6eddfbddd3e0e81982787acb40
https://github.com/llvm/llvm-project/commit/b5aa1c4783c93e6eddfbddd3e0e81982787acb40
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/IPO/BUILD.gn
Log Message:
-----------
[gn build] Port 63c1be724924
Commit: 83632c039d17772769617b92a1658e8a98190c5e
https://github.com/llvm/llvm-project/commit/83632c039d17772769617b92a1658e8a98190c5e
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lld/include/lld/Common/BPSectionOrdererBase.inc
M lld/test/MachO/bp-section-orderer.s
Log Message:
-----------
[lld][BP] Order .Tgm symbols for startup (#126328)
The Global Function Merger
(https://discourse.llvm.org/t/rfc-global-function-merging/82608) pass
optimistically creates merged instances of functions and suffixes their
names with `.Tgm`. Then in the linker, ICF will (hopefully) fold these
`.Tgm` functions. For example, a function `foo` might become a thunk
`foo` that calls a merged function `foo.Tgm`.
Since IRPGO runs before the global merger, we will only have a profile
for `foo`. We want to correlate this profile to both `foo` and `foo.Tgm`
so they can both be ordered to improve startup time.
I built a large binary and found that it increased the number of
functions ordered for startup, as expected.
```
Functions for startup: 12049 -> 12697
Functions for compression: 34733 -> 34707
```
The reason why we don't see a larger improvement is because there are
some cases where the code was accidentally working:
`getRootSymbol("foo.llvm.5555.Tgm")` already returns `foo`.
Commit: 161f64a4c1eb86856891816c1569d3e92f4535bd
https://github.com/llvm/llvm-project/commit/161f64a4c1eb86856891816c1569d3e92f4535bd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Hashpin actions dependencies (#127011)
This patch has pins several actions dependencies in the premerge
workflow and the Windows/Linux container build workflows to help improve
security in the unlikely event that someone tries to pull off a supply
chain security attack by modifying release asserts for these actions.
Commit: 0078e8f45062fcfb1e5e328e0993dcb66f11fb84
https://github.com/llvm/llvm-project/commit/0078e8f45062fcfb1e5e328e0993dcb66f11fb84
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
Log Message:
-----------
[RISCV][NFC] Fix a warning (#127090)
Commit: 0aafb8aca3444ef1a1f797a6facbb087ea608f4e
https://github.com/llvm/llvm-project/commit/0aafb8aca3444ef1a1f797a6facbb087ea608f4e
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
Log Message:
-----------
[AMDGPU] Add test for failure with function !dbg info in amdgpu-lower-kernel-arguments (#126146)
Commit: 424fcc5df7d7ba1db3d83023885dcbaf33a49b39
https://github.com/llvm/llvm-project/commit/424fcc5df7d7ba1db3d83023885dcbaf33a49b39
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Split off code to compute stride from AddRec for reuse (NFC).
Refactors to code to expose the core logic from getPtrStride to compute
the stride for a given AddRec.
Split off from https://github.com/llvm/llvm-project/pull/126971 as
suggested.
Commit: 37ed2e6b33882cdf5dcc640f59965c5c522b489e
https://github.com/llvm/llvm-project/commit/37ed2e6b33882cdf5dcc640f59965c5c522b489e
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
A llvm/test/Transforms/Scalarizer/sadd_with_overflow.ll
A llvm/test/Transforms/Scalarizer/sincos.ll
A llvm/test/Transforms/Scalarizer/smul_with_overflow.ll
A llvm/test/Transforms/Scalarizer/ssub_with_overflow.ll
R llvm/test/Transforms/Scalarizer/uadd_overflow.ll
A llvm/test/Transforms/Scalarizer/uadd_with_overflow.ll
A llvm/test/Transforms/Scalarizer/umul_with_overflow.ll
A llvm/test/Transforms/Scalarizer/usub_with_overflow.ll
Log Message:
-----------
[Scalarizer] Make `*_with_overflow` intrinsics scalarizable (#126815)
Addresses issue #126809
- Made `uadd_with_overflow`, `sadd_with_overflow`, `usub_with_overflow`,
`ssub_with_overflow`, `umul_with_overflow`, and `smul_with_overflow`
trivially scalarizable in `isTriviallyScalarizable()` from
`VectorUtils.cpp`
- Renamed and updated the test `Scalarizer/uadd_overflow.ll` to
`Scalarizer/uadd_with_overflow.ll` to check that `uadd_with_overflow`
gets scalarized
- Added a test `Scalarizer/sincos.ll` to ensure the bug fix #113625
still works
Commit: c9ba2b08d57fb682d4fe9ab2dd6f14d464b081df
https://github.com/llvm/llvm-project/commit/c9ba2b08d57fb682d4fe9ab2dd6f14d464b081df
Author: vporpo <vporpodas at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Region.h
M llvm/lib/SandboxIR/Region.cpp
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
[SandboxIR][Region] Implement an auxiliary vector in Region (#126376)
This patch adds additional functionality to the sandboxir Region. The
Region is used as a way of passing a set of Instructions across region
passes in a way that can be represented in the IR with metadata. This is
a design choice that allows us to test region passes in isolation with
lit tests.
Up until now the region was only used to tag the instructions generated
by the passes. There is a need to represent an ordered set of
instructions, which can be used as a way to represent the initial seeds
to the first vectorization pass. This patch implements this auxiliary
vector that can be used to convey such information.
Commit: e3cab30ab96e1d22bbedff005673ae0c1431c3af
https://github.com/llvm/llvm-project/commit/e3cab30ab96e1d22bbedff005673ae0c1431c3af
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
Log Message:
-----------
[clang][deps] Ensure DiagnosticConsumer::finish is always called (#127110)
When using the clang dependency scanner with an arbitrary
DiagnosticConsumer, it is important that we always call finish().
Previously, if there was an error preventing us from reaching the
scanning action, or if the command line contained no scannable actions
we would fail to finish(), which would break some consumers (e.g.
serialized diag consumer).
Commit: 1ff5f328d9824694cc356ebf78adad8816a6de86
https://github.com/llvm/llvm-project/commit/1ff5f328d9824694cc356ebf78adad8816a6de86
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.h
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-NullFunction-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/tools/obj2yaml/dxcontainer2yaml.cpp
M llvm/unittests/Object/DXContainerTest.cpp
Log Message:
-----------
[DXIL] Add support for root signature flag element in DXContainer (#123147)
Adding support for Root Signature Flags Element extraction and writing
to DXContainer.
- Adding an analysis to deal with RootSignature metadata definition
- Adding validation for Flag
- writing RootSignature blob into DXIL
Closes: [126632](https://github.com/llvm/llvm-project/issues/126632)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: ac217ee389d63124432e5e6890851a678f7a676b
https://github.com/llvm/llvm-project/commit/ac217ee389d63124432e5e6890851a678f7a676b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
Log Message:
-----------
[SLP] Check for PHI nodes (potentially cycles!) when checking dependencies
When checking for dependecies for gather nodes with users with the same
last instruction, cannot rely on the index order, if there is (even
potential!) cycle in the graph, which may cause order not work correctly
and cause compiler crash.
Fixes #127128
Commit: 4ec199035efbc10211a95ca102f05fb6fcbbdc09
https://github.com/llvm/llvm-project/commit/4ec199035efbc10211a95ca102f05fb6fcbbdc09
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeConv2D.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaOptionalDecompositions.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/ops.mlir
R mlir/test/Dialect/Tosa/tosa-decompose-conv2d.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
R mlir/test/Integration/Dialect/Tosa/CPU/test-fully-connected.mlir
Log Message:
-----------
[mlir][tosa] Remove FullyConnectedOp from TOSA Dialect (#126152)
This patch removes FullyConncected Operator from the TOSA Dialect and
all associated tests and transforms.
This is part of the TOSA v1.0 alignment effort:
https://discourse.llvm.org/t/rfc-tosa-dialect-increment-to-v1-0/83708
Signed-off-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Tai Ly <tai.ly at arm.com>
Commit: 5ee97877308e8617a2c42bb120f0a90e594eba31
https://github.com/llvm/llvm-project/commit/5ee97877308e8617a2c42bb120f0a90e594eba31
Author: lntue <lntue at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/src/__support/big_int.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/sqrtf128.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/src/math/SqrtTest.h
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
M libc/test/src/math/smoke/SqrtTest.h
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
Log Message:
-----------
[libc][math] Improve the performance of sqrtf128. (#122578)
Use a combination of polynomial approximation and Newton-Raphson
iterations in 64-bit and 128-bit integers to improve the performance of
sqrtf128. The correct rounding is provided by squaring the result and
comparing it with the argument.
Performance improvement using the newly added perf test:
- My function = the improved implementation from this PR
- Other function = current implementation using
`libc/src/__support/FPUtil/generic/sqrt.h`
```
Performance tests with inputs in denormal range:
-- My function --
Total time : 1260765265 ns
Average runtime : 125.951 ns/op
Ops per second : 7939623 op/s
-- Other function --
Total time : 7160726518 ns
Average runtime : 715.357 ns/op
Ops per second : 1397902 op/s
-- Average runtime ratio --
Mine / Other's : 0.176067
Performance tests with inputs in normal range:
-- My function --
Total time : 373003808 ns
Average runtime : 37.2631 ns/op
Ops per second : 26836189 op/s
-- Other function --
Total time : 7353398916 ns
Average runtime : 734.605 ns/op
Ops per second : 1361275 op/s
-- Average runtime ratio --
Mine / Other's : 0.0507254
```
---------
Co-authored-by: Alexei Sibidanov <sibid at uvic.ca>
Commit: 415607e10b56d0e6c4661ff1ec5b9b46bf433cba
https://github.com/llvm/llvm-project/commit/415607e10b56d0e6c4661ff1ec5b9b46bf433cba
Author: Tristan Ross <tristan.ross at midstall.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
M llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp
Log Message:
-----------
[ORC][unittests] Remove hard coded 16k page size (#127115)
Fixes a couple hard coded 16k values which is being used as the page
size. Replaces the hard coded value with the system's page size. This
fixes #116753 on an Ampere Altra Q64-22
CC @lhames
Commit: bcfdae120ea7a03176e41d17e5efe4692d64f807
https://github.com/llvm/llvm-project/commit/bcfdae120ea7a03176e41d17e5efe4692d64f807
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
Log Message:
-----------
[clang][DebugInfo][test] Add tests for C++20 non-type template parameters (#127056)
This exercises the codepath where we create `DITemplateValueParameter`s
whose `TemplateArgument::ArgKind` is `StructuralValue`, which was added
in (https://github.com/llvm/llvm-project/pull/78041). Previously, not
emitting a `value`/`defaulted` for such template argument nodes didn't
fail any tests.
Commit: 41f96f91cdd8640166fc843421d861e5be351bd2
https://github.com/llvm/llvm-project/commit/41f96f91cdd8640166fc843421d861e5be351bd2
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/test/DebugInfo/X86/debug-info-template-parameter.ll
Log Message:
-----------
[llvm][DebugInfo] Emit DW_AT_const_value for float non-type template parameters (#127045)
In C++20, non-type template parameters can be float/double. Clang didn't
emit those constants in DWARF. This patch emits floating point constants
the same way we do other integral template value parameters.
Commit: dbbdc7e69c6b4d92b6b67060b094350c0de0d387
https://github.com/llvm/llvm-project/commit/dbbdc7e69c6b4d92b6b67060b094350c0de0d387
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
Log Message:
-----------
[mlir][bufferization] Use a cache when checking whether ops are in mutually exclusive regions (#123516)
When profiling one-shot-bufferization over large programs, I found that
the analysis would spend a large amount of time checking whether
two operations are "inside mutually exclusive regions". This change
adds a cache for that information, which can result in a noticeable
speedup depending on program structure.
Commit: adacbf68ebeaeaf9d07a5beaff163da9ca0534a9
https://github.com/llvm/llvm-project/commit/adacbf68ebeaeaf9d07a5beaff163da9ca0534a9
Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
M llvm/test/CodeGen/SystemZ/fp-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-round-03.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/fp-strict-round-03.ll
M llvm/test/CodeGen/SystemZ/vec-round-01.ll
M llvm/test/CodeGen/SystemZ/vec-round-02.ll
M llvm/test/CodeGen/SystemZ/vec-strict-round-01.ll
M llvm/test/CodeGen/SystemZ/vec-strict-round-02.ll
M llvm/test/CodeGen/SystemZ/vector-constrained-fp-intrinsics.ll
Log Message:
-----------
[SystemZ] Add codegen support for llvm.roundeven
This is straightforward as we already had all the necessary
instructions, they simply were not wired up.
Also allows implementing the vec_round intrinsic via the
standard llvm.roundeven IR instead of a platform intrinsic now.
Commit: 050933b41f8de8498c95dfd0bacb10f3d495d62d
https://github.com/llvm/llvm-project/commit/050933b41f8de8498c95dfd0bacb10f3d495d62d
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
Log Message:
-----------
[lldb][test] TestCppTemplateArguments.py: adjust expected type
LLVM started emitting the `DW_AT_const_value` for floating point template parameters since https://github.com/llvm/llvm-project/pull/127045. Adjust the expected type in this test. It's still not quite correct but that requires a separate fix in LLDB.
Commit: 61acfb07e8333e29bbf435cdb188723b5a93ddd8
https://github.com/llvm/llvm-project/commit/61acfb07e8333e29bbf435cdb188723b5a93ddd8
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Add pre-aggregated trace support (#127125)
Traces are triplets of branch source, target, and fall-through end (next
branch).
Traces simplify differentiation of fall-throughs into local- and
external-origin, which improves performance over profile with
undifferentiated fall-throughs by eliminating profile discontinuity in
call to continuation fall-throughs. This makes it possible to avoid
converting return profile into call to continuation profile which may
introduce statistical biases.
The existing format makes provisions for local- (F) and external- (f)
origin fall-throughs, but the profile producer needs to know function
boundaries. BOLT has that information readily available, so providing
the origin branch of a fall-through is a functional replacement of the
fall-through kind (f or F). This also has an effect of combining
branches and fall-throughs into a single record.
As traces subsume other pre-aggregated profile kinds, BOLT may drop
support for them soon. Users of pre-aggregated profile format are
advised to migrate to the trace format.
Test Plan: Updated callcont-fallthru.s
Commit: 32c8754fbcb936ba6b5bc6cb6817cf3b6a4602f4
https://github.com/llvm/llvm-project/commit/32c8754fbcb936ba6b5bc6cb6817cf3b6a4602f4
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
Log Message:
-----------
[clang][AST] Handle dependent representation of call to function with explicit object parameter in CallExpr::getBeginLoc() (#126868)
This fixes a crash where CallExpr::getBeginLoc() tries to access the
first argument of a CallExpr representing a call to a function with
an explicit object parameter, assuming that a first argument exists
because it's the object argument.
This is the case for non-dependent calls, but for dependent calls
the object argument is part of the callee (the semantic analysis
that separates it out has not been performed yet) and so there may
not be a first argument.
Fixes https://github.com/llvm/llvm-project/issues/126720
Commit: 0454dd8c48cd771478f1ae53330ba78e71bcd7cb
https://github.com/llvm/llvm-project/commit/0454dd8c48cd771478f1ae53330ba78e71bcd7cb
Author: Lei Wang <wlei at fb.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/test/Transforms/SampleProfile/pseudo-probe-stale-profile-renaming.ll
Log Message:
-----------
[StaleProfileMatching] Use only profile anchor size for similarity calculation (#126783)
We observed that the number of IR anchors is usually greater than the
number of profile anchors, because IR anchors can be optimized away
later and llvm-profgen might not generate profiles for cold callsites.
This can cause missing function matches. I’m changing the similarity
calculation to use only the profile anchor size. In another point of
view, It also makes sense to reuse as many profile anchors as possible
regardless of the new functions in the IR.
Commit: 3c2ba68915b268fd3b7d39bf62e19199b2cb8995
https://github.com/llvm/llvm-project/commit/3c2ba68915b268fd3b7d39bf62e19199b2cb8995
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
Log Message:
-----------
[lldb] Don't warn that libobjc was read from memory in corefile (#127138)
AppleObjCRuntimeV2 prints a warning when we read libobjc.A.dylib from
memory, as a canary to detect that we are reading system binaries out of
memory (which is slow, and we try hard to avoid). But with a corefile,
reading out of "memory" is fine, and may be the only way we can find the
correct binary.
rdar://144322688
Commit: 6d3bfddb9d5458bf650fe4bf1da5db5848e7eb84
https://github.com/llvm/llvm-project/commit/6d3bfddb9d5458bf650fe4bf1da5db5848e7eb84
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/include/dlfcn.yaml
M libc/utils/hdrgen/gpu_headers.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/tests/expected_output/test_header.h
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Make hdrgen support macro_header YAML field. (#123265)
A macro can specify macro_header instead of macro_value to
indicate that an llvm-libc-macros/ header file is supposed to
define this macro. This is used for dlfcn.h, which previously
bogusly redefined the RTLD_* macros to empty.
Commit: 912b154f3a3f8c3cebf5cc5731fd8b0749762da5
https://github.com/llvm/llvm-project/commit/912b154f3a3f8c3cebf5cc5731fd8b0749762da5
Author: Zixu Wang <9819235+zixu-w at users.noreply.github.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
R clang/test/Modules/pr121245.cpp
Log Message:
-----------
Revert "[C++20][Modules][Serialization] Delay marking pending incompl… (#127136)
…ete decl chains until the end of `finishPendingActions`. (#121245)"
This reverts commit a9e249f64e800fbb20a3b26c0cfb68c1a1aee5e1.
Reverting this change because of issue #126973.
Commit: a57e58dbfaae0e86eb5cafeddf8b598f14b96e36
https://github.com/llvm/llvm-project/commit/a57e58dbfaae0e86eb5cafeddf8b598f14b96e36
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/canonicalize.mlir
Log Message:
-----------
[mlir][scf] Remove identical `scf.for` iter args (#127145)
This augments the iter arg canonicalizer to remove iter args that always
have the same value, i.e. their correpsonding init and yielded values
are the same.
Commit: 87ce1170d08efafe0f36fba75f13ed29ebeb08c7
https://github.com/llvm/llvm-project/commit/87ce1170d08efafe0f36fba75f13ed29ebeb08c7
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64][TargetParser] Add ProcessorAlias unit test machinery. NFC. (#127131)
The patch itself is mainly the expected unittest boilerplate.
This adds tests for the aliases we have today.
We could alternatively test these via the driver with additional
run-lines in print-enable-extensions tests, and eventually should
consider that instead.
Commit: dc79c66f2c6cc2773e38735660d8e0aaedf9702c
https://github.com/llvm/llvm-project/commit/dc79c66f2c6cc2773e38735660d8e0aaedf9702c
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
A mlir/include/mlir/Dialect/SPIRV/IR/SPIRVMeshOps.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/IR/MeshOps.cpp
M mlir/test/Dialect/SPIRV/IR/availability.mlir
A mlir/test/Dialect/SPIRV/IR/mesh-ops.mlir
A mlir/test/Target/SPIRV/mesh-ops.mlir
Log Message:
-----------
[mlir][spirv] Add support for SPV_EXT_mesh_shader extension (#126555)
This patch adds support for all enums and operations defined in the
SPV_EXT_mesh_shader extension. Where in conflict with SPV_NV_mesh_shader
definition, the EXT specification takes precedence, as duplicated enum
values are not allowed. Enum values has been added manually, as
define_enum.sh script, modifies files too aggressively - it adds all
missing values from various extensions.
Commit: 910be4ff90d7d07bd4518ea03b85c0974672bf9c
https://github.com/llvm/llvm-project/commit/910be4ff90d7d07bd4518ea03b85c0974672bf9c
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower clock64 to nvvm intrinsic (#127155)
Commit: e477e568e6d745c98cb81a856988a99fe3a989e3
https://github.com/llvm/llvm-project/commit/e477e568e6d745c98cb81a856988a99fe3a989e3
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M libc/test/UnitTest/LibcTest.h
Log Message:
-----------
[libc] Make test macros suppress the -Wdangling-else warnings (#127149)
Use the trick from gtest to allow `ASSERT_...` and `EXPECT_...`
macros to be used in braceless `if` without producing warnings
about the nested `if`-`else` that results.
Commit: 0ec16933593f610ab545a2ac3d771925195deb4d
https://github.com/llvm/llvm-project/commit/0ec16933593f610ab545a2ac3d771925195deb4d
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
SandboxIRTests: Use `EXPECT_DEBUG_DEATH` (for #126376)
Commit: 083f099a345f02390d00a8196d4ffa36ae71c82f
https://github.com/llvm/llvm-project/commit/083f099a345f02390d00a8196d4ffa36ae71c82f
Author: Galen Elias <gelias at gmail.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Support BraceWrapping.AfterNamespace with AllowShortNamespacesOnASingleLine (#123010)
AllowShortNamespacesOnASingleLine assumes that there is no newline
before the namespace brace, however, there is no actual reason this
shouldn't be compatible with BraceWrapping.AfterNamespace = true.
This is a little tricky in the implementation because
UnwrappedLineFormatter works on lines, so being flexible about the
offsets is awkward.
Not sure if there is a better pattern for combining the 'AllowShort'
options with the various configurations of BraceWrapping, but this
seemed mostly reasonable. Really, it would almost be preferable to just
pattern match on the direct token stream, rather than the
AnnotatedLines, but I'm not seeing a straightforward way to do that.
---------
Co-authored-by: Owen Pan <owenpiano at gmail.com>
Commit: 8a0914c24530c98c5ff65bce3710552ce3ebf7d7
https://github.com/llvm/llvm-project/commit/8a0914c24530c98c5ff65bce3710552ce3ebf7d7
Author: schittir <sindhu.chittireddy at intel.com>
Date: 2025-02-13 (Thu, 13 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
Log Message:
-----------
[clang][NFC] Avoid potential null dereferences (#127017)
Add null checking.
Commit: bd860f986406b6630e49b1836b3c208acd721d3e
https://github.com/llvm/llvm-project/commit/bd860f986406b6630e49b1836b3c208acd721d3e
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/redux-sync-f32.ll
Log Message:
-----------
[NVPTX] Add intrinsics for redux.sync f32 instructions (#126664)
Adds NVVM intrinsics, NVPTX codegen and Clang builtins for `redux.sync`
f32 instructions introduced in ptx8.6 for sm_100a.
Tests added in `CodeGen/NVPTX/redux-sync.ll` and
`CodeGenCUDA/redux-builtins.cu` and verified through ptxas 12.8.0.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#parallel-synchronization-and-communication-instructions-redux-sync
Commit: c1b7037520100dd035a87d40252772b85a5b95bb
https://github.com/llvm/llvm-project/commit/c1b7037520100dd035a87d40252772b85a5b95bb
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineValueMap.h
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/IR/AffineValueMap.cpp
Log Message:
-----------
[MLIR][Affine] Add affine value map difference operator (#127163)
Add affine value map difference operator. NFC otherwise.
Commit: 29b7295d3a67ae236e99312efefb7c04753434ef
https://github.com/llvm/llvm-project/commit/29b7295d3a67ae236e99312efefb7c04753434ef
Author: serge-sans-paille <sguelton at mozilla.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/tools/driver/CMakeLists.txt
Log Message:
-----------
[clang][cmake] Sanitize CLANG_BOLT values (#126768)
This avoids failing later in the build process.
Commit: 2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed
https://github.com/llvm/llvm-project/commit/2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#122950)
true16 codegen pattern for f16 fma.
created a duplicated shrink-mad-fma-gfx10.mir from shrink-mad-fma to
seperate pre-GFX11 and GFX11 mir test.
Commit: c08b80eb525a6e6a34d74634bf5181f11ed12984
https://github.com/llvm/llvm-project/commit/c08b80eb525a6e6a34d74634bf5181f11ed12984
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
Log Message:
-----------
[Clang] Remove the PackExpansion restrictions for rewrite substitution (#126206)
When substituting for rewrite purposes, as in rebuilding constraints for
a synthesized deduction guide, it assumed that packs were in
PackExpansion* form, such that the instantiator could extract a pattern.
For type aliases CTAD, while rebuilding their associated constraints,
this might not be the case because we'll call
`TransformTemplateArgument()` for the alias template arguments, where
there might be cases e.g. a non-pack expansion type into a pack
expansion, so the assumption wouldn't hold.
This patch fixes that by making it treat the non-pack expansions as
direct patterns when rewriting.
Fixes #124715
Commit: cf1165cb9cb74afd58e43b819be830dfcef8c655
https://github.com/llvm/llvm-project/commit/cf1165cb9cb74afd58e43b819be830dfcef8c655
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
R llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
R llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
Log Message:
-----------
Revert "[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#12… (#127175)
Reverting this patch since it raise buildbot failure
This reverts commit 2a7487cc2e0fb8bd91784e2d9636a65baa6d90ed.
Commit: 4ac68ba07d6df5d604af22c242c077ea120b9893
https://github.com/llvm/llvm-project/commit/4ac68ba07d6df5d604af22c242c077ea120b9893
Author: Vipul Cariappa <vipulcariappa at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Parse/ParseDecl.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
Log Message:
-----------
[clang-repl] fix error recovery while parsing completely fails (#127087)
Fixes the following crash in clang-repl
```c++
clang-repl> try { throw 1; } catch { 0; }
In file included from <<< inputs >>>:1:
input_line_1:1:23: error: expected '('
1 | try { throw 1; } catch { 0; }
| ^
| (
clang-repl: /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1757: void clang::DeclContext::addHiddenDecl(clang::Decl*): Assertion `D->getLexicalDeclContext() == this && "Decl inserted into wrong lexical context"' failed.
#0 0x000059b28459e6da llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:804:22
#1 0x000059b28459eaed PrintStackTraceSignalHandler(void*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:880:1
#2 0x000059b28459bf7f llvm::sys::RunSignalHandlers() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Signals.cpp:105:20
#3 0x000059b28459df8e SignalHandler(int, siginfo_t*, void*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/llvm/lib/Support/Unix/Signals.inc:418:13
#4 0x000077cdf444ea50 (/usr/lib/libc.so.6+0x42a50)
#5 0x000077cdf44aee3b pthread_kill (/usr/lib/libc.so.6+0xa2e3b)
#6 0x000077cdf444e928 raise (/usr/lib/libc.so.6+0x42928)
#7 0x000077cdf443156c abort (/usr/lib/libc.so.6+0x2556c)
#8 0x000077cdf44314d2 __assert_perror_fail (/usr/lib/libc.so.6+0x254d2)
#9 0x000077cdf4444c56 (/usr/lib/libc.so.6+0x38c56)
#10 0x000059b28495bfc4 clang::DeclContext::addHiddenDecl(clang::Decl*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1759:3
#11 0x000059b28495c0f5 clang::DeclContext::addDecl(clang::Decl*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/AST/DeclBase.cpp:1785:37
#12 0x000059b28773cc2a clang::Sema::ActOnStartTopLevelStmtDecl(clang::Scope*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Sema/SemaDecl.cpp:20302:18
#13 0x000059b286f1efdf clang::Parser::ParseTopLevelStmtDecl() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/ParseDecl.cpp:6024:62
#14 0x000059b286ef18ee clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/Parser.cpp:1065:35
#15 0x000059b286ef0702 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Parse/Parser.cpp:758:36
#16 0x000059b28562dff2 clang::IncrementalParser::ParseOrWrapTopLevelDecl() /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/IncrementalParser.cpp:66:36
#17 0x000059b28562e5b7 clang::IncrementalParser::Parse(llvm::StringRef) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/IncrementalParser.cpp:132:8
#18 0x000059b28561832b clang::Interpreter::Parse(llvm::StringRef) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/Interpreter.cpp:570:8
#19 0x000059b285618cbd clang::Interpreter::ParseAndExecute(llvm::StringRef, clang::Value*) /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/lib/Interpreter/Interpreter.cpp:649:8
#20 0x000059b2836f9343 main /home/vipul-cariappa/Documents/Workspace/cpp-py/llvms/llvm-project-a/clang/tools/clang-repl/ClangRepl.cpp:255:59
#21 0x000077cdf443388e (/usr/lib/libc.so.6+0x2788e)
#22 0x000077cdf443394a __libc_start_main (/usr/lib/libc.so.6+0x2794a)
#23 0x000059b2836f7965 _start (./bin/clang-repl+0x73b8965)
fish: Job 1, './bin/clang-repl' terminated by signal SIGABRT (Abort)
```
With this change:
```c++
clang-repl> try { throw 1; } catch { 0; }
In file included from <<< inputs >>>:1:
input_line_1:1:23: error: expected '('
1 | try { throw 1; } catch { 0; }
| ^
| (
error: Parsing failed.
clang-repl> 1;
clang-repl> %quit
```
Commit: 2818df38c133cf7278b0174d01fe99c9c558fa2c
https://github.com/llvm/llvm-project/commit/2818df38c133cf7278b0174d01fe99c9c558fa2c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/unittests/Utility/CMakeLists.txt
M lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
Log Message:
-----------
[lldb] Remove UtilityTests->Target dep (#127060)
It's completely unnecessary right now, but having it present means that
some real unwanted dependencies could sneak in. (This also makes
building the test binary much faster.)
Commit: 0949330669cbd179c3c6e40880b5e1027438648f
https://github.com/llvm/llvm-project/commit/0949330669cbd179c3c6e40880b5e1027438648f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/examples/synthetic/libcxx.py
Log Message:
-----------
[lldb] Avoid expression evaluation in the std::deque formatter (#127071)
It's slower and it can fail in contexts where expression evaluation
doesn't work.
Commit: d8b2e432d633e175a87e8fbc00e0f7a627ac4c9e
https://github.com/llvm/llvm-project/commit/d8b2e432d633e175a87e8fbc00e0f7a627ac4c9e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-14 (Fri, 14 Feb 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/docs/LangRef.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/IR/Constants.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/test/Analysis/ValueTracking/known-non-equal.ll
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Assembler/flags.ll
M llvm/test/Bindings/OCaml/core.ml
M llvm/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll
M llvm/test/CodeGen/X86/ptrtoint-constexpr.ll
M llvm/test/Other/constant-fold-gep-address-spaces.ll
M llvm/test/Other/constant-fold-gep.ll
M llvm/test/Transforms/GVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash-2.ll
M llvm/test/Transforms/GlobalOpt/2008-12-16-HeapSRACrash.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2-no-null-opt.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-2.ll
M llvm/test/Transforms/GlobalOpt/malloc-promote-3.ll
M llvm/test/Transforms/Inline/last-callsite.ll
M llvm/test/Transforms/InstCombine/force-opaque-ptr.ll
M llvm/test/Transforms/InstCombine/malloc-free.ll
M llvm/test/Transforms/MemCpyOpt/memmove.ll
M llvm/test/Transforms/NewGVN/2009-11-12-MemDepMallocBitCast.ll
M llvm/test/Transforms/SimplifyCFG/ARM/switch-to-lookup-table-constant-expr.ll
M llvm/unittests/IR/ConstantsTest.cpp
Log Message:
-----------
[IR] Remove mul constant expression (#127046)
Remove support for the mul constant expression, which has previously
already been marked as undesirable. This removes the APIs to create mul
expressions and updates tests to stop using mul expressions.
Part of:
https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179
Commit: be827051924375f7c10a7380902e01a0b10ce860
https://github.com/llvm/llvm-project/commit/be827051924375f7c10a7380902e01a0b10ce860
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
Log Message:
-----------
[LV][EVL] Enhance fixed-order recurrence tests for tail folding with EVL. NFC (#126507)
Test that we do not vectorize the loop using folding by EVL, when a
fixed-order recurrence has external users.
TODO: Support external users by extractelement the EVL-th lane.
Commit: a190f15d2b84e873ee978d0e6f04bf36e8f17583
https://github.com/llvm/llvm-project/commit/a190f15d2b84e873ee978d0e6f04bf36e8f17583
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/CodeGen/AArch64/execute-only-section.ll
A llvm/test/MC/ELF/AArch64/execute-only-populated-text-section.s
A llvm/test/MC/ELF/AArch64/execute-only-section.s
A llvm/test/MC/ELF/AArch64/execute-only-text-section-data.s
M llvm/test/MC/ELF/section-flags-unknown.s
M llvm/test/Transforms/Inline/AArch64/inline-target-attr.ll
M llvm/test/tools/llvm-objcopy/ELF/rename-section-flag-osproc-mask.test
M llvm/test/tools/llvm-readobj/ELF/gnu-sections.test
M llvm/test/tools/llvm-readobj/ELF/section-arch-flags.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (1/3) (#125687)
Add support for the new SHF_AARCH64_PURECODE ELF section flag:
https://github.com/ARM-software/abi-aa/pull/304
The general implementation follows the existing one for ARM targets.
Generating object files with the `SHF_AARCH64_PURECODE` flag set is
enabled by the `+execute-only` target feature.
Related PRs:
* Clang: https://github.com/llvm/llvm-project/pull/125688
* LLD: https://github.com/llvm/llvm-project/pull/125689
Commit: 55b0fde20a2ba1c67313cb4c8d6a30316facd6ad
https://github.com/llvm/llvm-project/commit/55b0fde20a2ba1c67313cb4c8d6a30316facd6ad
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/__memory/unique_ptr.h
Log Message:
-----------
[libc++][NFC] Simplify unique_ptr a bit (#121230)
Commit: 5be4536d091d7b927ceaa30a263ab5629f9008cc
https://github.com/llvm/llvm-project/commit/5be4536d091d7b927ceaa30a263ab5629f9008cc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
Log Message:
-----------
[clang-reorder-fields] Avoid repeated hash lookups (NFC) (#127165)
Commit: 1bc2f1c83f417cdbc11d9cfde780d96aa429ca9f
https://github.com/llvm/llvm-project/commit/1bc2f1c83f417cdbc11d9cfde780d96aa429ca9f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated map lookups (NFC) (#127167)
Commit: 6f5ca9bb3cc9595cdd92f42119358d5004fd1ce7
https://github.com/llvm/llvm-project/commit/6f5ca9bb3cc9595cdd92f42119358d5004fd1ce7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
Log Message:
-----------
[ARM] Avoid repeated map lookups (NFC) (#127168)
Commit: 606ff7ea9b29f93e536b13c83dc24de6b8a4e8cd
https://github.com/llvm/llvm-project/commit/606ff7ea9b29f93e536b13c83dc24de6b8a4e8cd
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#127171)
Commit: 7eadc1960d199676f04add402bb0aa6f65b7b234
https://github.com/llvm/llvm-project/commit/7eadc1960d199676f04add402bb0aa6f65b7b234
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/test/Misc/target-invalid-cpu-note/riscv.c
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
A llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/atomic.s
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/floating-point.s
A llvm/test/tools/llvm-mca/RISCV/GenericOOO/integer.s
Log Message:
-----------
[RISCV] Add a generic OOO CPU (#120712)
We add a generic out-of-order CPU model here just like what GCC
has done.
People may use this model to evaluate some optimizations, and more
importantly, people can use this model as a template to customize
their own CPU models.
The design (units, cycles, ...) of this model is random so don't
take it seriously.
Commit: 2ad1089d632bd356cb61fba1690c5dcdbc78ba83
https://github.com/llvm/llvm-project/commit/2ad1089d632bd356cb61fba1690c5dcdbc78ba83
Author: deadalnix <deadalnix at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/memcmp-more-load-pairs-x32.ll
M llvm/test/CodeGen/X86/memcmp-more-load-pairs.ll
M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
M llvm/test/CodeGen/X86/memcmp-optsize.ll
M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
M llvm/test/CodeGen/X86/memcmp-pgso.ll
M llvm/test/CodeGen/X86/memcmp-x32.ll
M llvm/test/CodeGen/X86/memcmp.ll
M llvm/test/CodeGen/X86/midpoint-int.ll
M llvm/test/CodeGen/X86/select.ll
Log Message:
-----------
[X86] Match SETCC_CARRY in addition of SUB when trying to reconstruct LEA (#126551)
As per title.
This is not a huge deal at the moment, but becomes one when matching
node in topological order in the DAGCombiner, and is generally more
stable than the existing.
Commit: 2fdf191e244b62409fd73fa9bb717466d6e683b5
https://github.com/llvm/llvm-project/commit/2fdf191e244b62409fd73fa9bb717466d6e683b5
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp_taskdeps.cpp
M openmp/runtime/src/kmp_taskdeps.h
Log Message:
-----------
[OpenMP] Fix crash with task stealing and task dependencies (#126049)
This patch series demonstrates and fixes a bug that causes crashes with
OpenMP 'taskwait' directives in heavily multi-threaded scenarios.
TLDR: The early return from __kmpc_omp_taskwait_deps_51 missed the
synchronization mechanism in place for the late return.
Additional debug assertions check for the implied invariants of the code.
@jpeyton52 found the timing hole as this sequence of events:
>
> 1. THREAD 1: A regular task with dependences is created, call it T1
> 2. THREAD 1: Call into `__kmpc_omp_taskwait_deps_51()` and create a stack
based depnode (`NULL` task), call it T2 (stack)
> 3. THREAD 2: Steals task T1 and executes it getting to
`__kmp_release_deps()` region.
> 4. THREAD 1: During processing of dependences for T2 (stack) (within
`__kmp_check_deps()` region), a link is created T1 -> T2. This increases
T2's (stack) `nrefs` count.
> 5. THREAD 2: Iterates through the successors list: decrement the T2's
(stack) npredecessor count. BUT HASN'T YET `__kmp_node_deref()`-ed it.
> 6. THREAD 1: Now when finished with `__kmp_check_deps()`, it returns false
because npredecessor count is 0, but T2's (stack) `nrefs` count is 2 because
THREAD 2 still references it!
> 7. THREAD 1: Because `__kmp_check_deps()` returns false, early exit.
> _Now the stack based depnode is invalid, but THREAD 2 still references it._
>
> We've reached improper stack referencing behavior. Varied results/crashes/
asserts can occur if THREAD 1 comes back and recreates the exact same depnode
in the exact same stack address during the same time THREAD 2 calls
`__kmp_node_deref()`.
Commit: c65ed964657c93d51f3e05de9e0609419768a143
https://github.com/llvm/llvm-project/commit/c65ed964657c93d51f3e05de9e0609419768a143
Author: Guillaume Chatelet <gchatelet at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
Log Message:
-----------
Revert "[reland][libc][bazel] Enable software prefetching for memcpy" (#127189)
Reverts llvm/llvm-project#113886
We suspect this has caused internal performance regressions, reverting
while root causing it more thoroughly.
Commit: 1b6340d9c3b75c29dec5218dbab2bb8194edfc1e
https://github.com/llvm/llvm-project/commit/1b6340d9c3b75c29dec5218dbab2bb8194edfc1e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Debugify.cpp
Log Message:
-----------
[Debugify] applyDebugify - remove unnecessary defaults arg values and assert dereferencable values (#127186)
The applyDebugify helpers were providing default arguments despite all callers providing them, so strip them for clarity.
The Function variant was asserting that DebugInfoBeforePass was non-null before dereferencing so I've added an equivalent assert to the Method variant as well.
Fixes #97626
Commit: 134a94ae0b6cb8dccf1114fb2eefb172e9697905
https://github.com/llvm/llvm-project/commit/134a94ae0b6cb8dccf1114fb2eefb172e9697905
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
Log Message:
-----------
[lldb][test] TestCppTemplateArguments.py: skip on older compilers
This test needs to be compiled with compilers that support floating point NTTP.
Commit: 4b4432f2c650977d9de896dcde58e1746f7af8c2
https://github.com/llvm/llvm-project/commit/4b4432f2c650977d9de896dcde58e1746f7af8c2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
Log Message:
-----------
[NVPTX] Avoid repeated map lookups (NFC) (#127169)
Note that cacheAnnotationFromMD modifies AC.Cache.
Commit: d3d2ea67585f119c99af66a343f19f237891890e
https://github.com/llvm/llvm-project/commit/d3d2ea67585f119c99af66a343f19f237891890e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/PartialInlining.cpp
Log Message:
-----------
[PartialInlining] Use DenseSet instead of DenseMap (NFC) (#127170)
This patch changes the type of VisitedMap to DenseSet from DenseMap
because the value side of the map is always "true".
Technically:
if (VisitedMap[*SI])
inserts "false" as a value, but the value is immediately overridden
with:
VisitedMap[*SI] = true;
While we are at it, this patch removes the repeated hash lookups
around the "if" statement.
Commit: 2bcf62b43d5bec613a0079b4b91b3a0839faeaab
https://github.com/llvm/llvm-project/commit/2bcf62b43d5bec613a0079b4b91b3a0839faeaab
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
Log Message:
-----------
[nfc][mlir][linalg][tiling] Fix example code. (#127194)
Commit: 39ec9de7c23063b87f5c56f4e80c8d0f8b511a4b
https://github.com/llvm/llvm-project/commit/39ec9de7c23063b87f5c56f4e80c8d0f8b511a4b
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/test/CodeGen/partial-reinitialization2.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
Log Message:
-----------
[clang][CodeGen] `sret` args should always point to the `alloca` AS, so use that (#114062)
`sret` arguments are always going to reside in the stack/`alloca`
address space, which makes the current formulation where their AS is
derived from the pointee somewhat quaint. This patch ensures that `sret`
ends up pointing to the `alloca` AS in IR function signatures, and also
guards agains trying to pass a casted `alloca`d pointer to a `sret` arg,
which can happen for most languages, when compiled for targets that have
a non-zero `alloca` AS (e.g. AMDGCN) / map `LangAS::default` to a
non-zero value (SPIR-V). A target could still choose to do something
different here, by e.g. overriding `classifyReturnType` behaviour.
In a broader sense, this patch extends non-aliased indirect args to also
carry an AS, which leads to changing the `getIndirect()` interface. At
the moment we're only using this for (indirect) returns, but it allows
for future handling of indirect args themselves. We default to using the
AllocaAS as that matches what Clang is currently doing, however if, in
the future, a target would opt for e.g. placing indirect returns in some
other storage, with another AS, this will require revisiting.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 7e3735d1a1b85cea48feb45cb7c2b5d8eaa216ae
https://github.com/llvm/llvm-project/commit/7e3735d1a1b85cea48feb45cb7c2b5d8eaa216ae
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/as_type.cl
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
Log Message:
-----------
Reapply [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)
Relative to the previous attempt, this adjusts isEscapeSource()
to not treat calls with captures(ret: address, provenance) or similar
arguments as escape sources. This addresses the miscompile reported at:
https://github.com/llvm/llvm-project/pull/125880#issuecomment-2656632577
The implementation uses a helper function on CallBase to make this
check a bit more efficient (e.g. by skipping the byval checks) as
checking attributes on all arguments if fairly expensive.
------
This extends CaptureTracking to support inferring non-trivial
CaptureInfos. The focus of this patch is to only support FunctionAttrs,
other users of CaptureTracking will be updated in followups.
The key API changes here are:
* DetermineUseCaptureKind() now returns a UseCaptureInfo where the UseCC
component specifies what is captured at that Use and the ResultCC
component specifies what may be captured via the return value of the
User. Usually only one or the other will be used (corresponding to
previous MAY_CAPTURE or PASSTHROUGH results), but both may be set for
call captures.
* The CaptureTracking::captures() extension point is passed this
UseCaptureInfo as well and then can decide what to do with it by
returning an Action, which is one of: Stop: stop traversal.
ContinueIgnoringReturn: continue traversal but don't follow the
instruction return value. Continue: continue traversal and follow the
instruction return value if it has additional CaptureComponents.
For now, this patch retains the (unsound) special logic for comparison
of null with a dereferenceable pointer. I'd like to switch key code to
take advantage of address/address_is_null before dropping it.
This PR mainly intends to introduce necessary API changes and basic
inference support, there are various possible improvements marked with
TODOs.
Commit: 0b49001853fa4bff76d102f592d55949bfde5fde
https://github.com/llvm/llvm-project/commit/0b49001853fa4bff76d102f592d55949bfde5fde
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A llvm/test/CodeGen/X86/pr8925.ll
Log Message:
-----------
[X86] Add test coverage for #9297
(using bugzilla id for PR)
Commit: 50d10b5c1c26c12570d3d31ef24b1a880fd23e26
https://github.com/llvm/llvm-project/commit/50d10b5c1c26c12570d3d31ef24b1a880fd23e26
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGen/builtin-assume-dereferenceable.c
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
Log Message:
-----------
[Clang] Add __builtin_assume_dereferenceable to encode deref assumption. (#121789)
This patch adds a new __builtin_assume_dereferenceable to encode
dereferenceability of a pointer using llvm.assume with an operand
bundle.
For now the builtin only accepts constant sizes, I am planning to drop
this restriction in a follow-up change.
This can be used to better optimize cases where a pointer is known to be
dereferenceable, e.g. unconditionally loading from p2 when vectorizing
the loop.
int *get_ptr();
void foo(int* src, int x) {
int *p2 = get_ptr();
__builtin_assume_aligned(p2, 4);
__builtin_assume_dereferenceable(p2, 4000);
for (unsigned I = 0; I != 1000; ++I) {
int x = src[I];
if (x == 0)
x = p2[I];
src[I] = x;
}
}
PR: https://github.com/llvm/llvm-project/pull/121789
Commit: e762a0e4ce32b0e3348cb9db58adcc4399473dba
https://github.com/llvm/llvm-project/commit/e762a0e4ce32b0e3348cb9db58adcc4399473dba
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
Log Message:
-----------
[mlir][spirv] Drop support for the SPV_NV_mesh_shader extension (#127200)
The support is dropped in favour of newer `SPV_EXT_mesh_shader`
extension. The EXT patch already replaced conflicting enum values, and
the NV extensions is now fully removed to reduce a maintenance burden.
Commit: afa3c10de70a73a77414e625c119f2d0b8411414
https://github.com/llvm/llvm-project/commit/afa3c10de70a73a77414e625c119f2d0b8411414
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
Revert "[SLP]Improved reduction cost/codegen"
This reverts commit 2ad816648f2719e6c0da507a1a371f2cad4a3f1c to fix
bug/miscompiles, reported in
https://github.com/llvm/llvm-project/pull/118293#issuecomment-2658906033
and https://github.com/llvm/llvm-project/pull/118293#issuecomment-2659024785.
Commit: 004a5fea236c5b890fb2aff1ab2ceb0f0ed82e74
https://github.com/llvm/llvm-project/commit/004a5fea236c5b890fb2aff1ab2ceb0f0ed82e74
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Enable -Wunique-object-duplication inside templated code (#125902)
Followup to #125526. This allows the unique object duplication warning
to fire on code inside of templates. Previously, it was disabled there
to prevent false positives if the template was never instantiated.
The patch has two parts: first, we move the check from
`FinalizeDeclaration` (which is only called during parsing) to
`CheckCompleteVariableDeclaration` (which is also called during template
instantiation). Since the code we're moving is fairly bulky, we abstract
it into a separate function for convenience.
Second, we disable the warning during template parsing, and add a check
later to see if the variable we're acting on on originated from a
template. If so, it has the potential to be duplicated just like an
inline variable.
## Testing
Unit tests for template have been added to the existing test suite. To
evaluate the patch on real code, I ran it on chromium and on clang
itself. As expected, in both cases we got strictly more warnings than
before. I manually looked through each new warning, and they all seemed
legitimate.
In chromium, we found [79 new warnings across 55
files](https://github.com/user-attachments/files/18676635/new_warnings_chromium.txt),
mostly in third-party code (for a total of 234 warnings across 137
files). In clang, we found [8 new warnings across 6
files](https://github.com/user-attachments/files/18676658/new_warnings_clang.txt),
for a total of 17 warnings across 11 files.
Commit: 8a3d7cedb72add026c3f5bf7a82f0bf729b3f434
https://github.com/llvm/llvm-project/commit/8a3d7cedb72add026c3f5bf7a82f0bf729b3f434
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
Log Message:
-----------
[Flang][OpenMP] Per-sym checks to introduce barriers (#127074)
Whenever there is a `lastprivate` variable and another unrelated
variable sets the `mightHaveReadHostSym` flag during Flang lowering
privatization, this will result in the insertion of a barrier.
This patch modifies this behavior such that this barrier will not be
inserted unless the same symbol both sets the flag and has
`lastprivate`.
Commit: 085e21b8326ef2327ee6082930e63d9e127eb06c
https://github.com/llvm/llvm-project/commit/085e21b8326ef2327ee6082930e63d9e127eb06c
Author: Stefan Gränitz <stefan.graenitz at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/CMakeLists.txt
Log Message:
-----------
[llvm-jitlink] Explicit exports for builtin runtime functions in MinGW executables (#107375)
Use explicit exports to fix the symbol resolution part of
https://github.com/llvm/llvm-project/issues/98714 in MinGW
Commit: 23cb0de7311bebb7bb1aecee3ad92c22de94f539
https://github.com/llvm/llvm-project/commit/23cb0de7311bebb7bb1aecee3ad92c22de94f539
Author: Shynur <one.last.kiss at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
Log Message:
-----------
[clang][docs] Fix typo in AttrDocs.td (NFC) (#127183)
Commit: 5767e4d4ca55cbd21dfbb13825993295146b6302
https://github.com/llvm/llvm-project/commit/5767e4d4ca55cbd21dfbb13825993295146b6302
Author: Tomás Longeri <tlongeri at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[MLIR][NFC] Return MemRefType in memref.subview return type inference functions (#120024)
Avoids the need for cast, and matches the extra build functions, which
take a `MemRefType`
Commit: 2077d405f0fa8482d71ccd2a1d228ffda2b0b496
https://github.com/llvm/llvm-project/commit/2077d405f0fa8482d71ccd2a1d228ffda2b0b496
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
Log Message:
-----------
[SLP]Add a test with non-power-of-2 reduction for ctpop, NFC
>From #127177
Commit: 7ec60bf0166519317b5ae2505dd6ed4660e3ea39
https://github.com/llvm/llvm-project/commit/7ec60bf0166519317b5ae2505dd6ed4660e3ea39
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
[SLP]Improved reduction cost/codegen
SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```
it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```
It allows to improve the performance in some cases.
AVX512, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 4553.00 4615.00 1.4%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 412708.00 416820.00 1.0%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12901.00 12981.00 0.6%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 22717.00 22813.00 0.4%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39722.00 39850.00 0.3%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39725.00 39853.00 0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 15918.00 15967.00 0.3%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 155491.00 155587.00 0.1%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 227894.00 227942.00 0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1062188.00 1062364.00 0.0%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 793672.00 793720.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074917.00 2074933.00 0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074917.00 2074933.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 855219.00 855203.00 -0.0%
Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization
RISC-V, SiFive-p670, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 8990.00 9514.00 5.8%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 588504.00 588488.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147464.00 147440.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test 21496.00 21492.00 -0.0%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 165420.00 165372.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 843928.00 843648.00 -0.0%
test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test 100712.00 100672.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 24384.00 24336.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 24380.00 24332.00 -0.2%
test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test 10348.00 10316.00 -0.3%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 221304.00 220480.00 -0.4%
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 3750.00 3736.00 -0.4%
test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test 678.00 370.00 -45.4%
execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions
Reviewers: hiraditya, topperc, preames
Pull Request: https://github.com/llvm/llvm-project/pull/118293
Commit: 053e03332162e3a0527f0ac76313dcf1b8c1ae8c
https://github.com/llvm/llvm-project/commit/053e03332162e3a0527f0ac76313dcf1b8c1ae8c
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Generalize cost model for vp_fneg. NFC. (#126915)
Move the cost model for vp_fneg from the riscv-specific implementation to the generic TTI layer.
This ensures consistent handling of vp_fneg across targets
Commit: e52ad499ff00480175b630c2a941a10422d40a67
https://github.com/llvm/llvm-project/commit/e52ad499ff00480175b630c2a941a10422d40a67
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Add reminder to remove _LIBCPP_HAS_EXPLICIT_THIS_PARAMETER macro (#127070)
`__cpp_explicit_this_parameter` has been set in LLVM20
https://github.com/llvm/llvm-project/pull/107451 /
https://github.com/llvm/llvm-project/commit/72e58e00c27c7f4dd9502c719ddd13dcfef33e85
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 5870c190350f499284af455d339cc2f844f9fbbf
https://github.com/llvm/llvm-project/commit/5870c190350f499284af455d339cc2f844f9fbbf
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
Log Message:
-----------
Revert "Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127089)"
This reverts commit ecdfa36ecaea7615b244f4cac26a4a023d30a9c1.
That introduced a breaking change in printer.
E.g. llvm/test/CodeGen/NVPTX/surf-read.ll started to output `.param .samplerref foo_param_0,` instead of `.param .surfref foo_param_0,`.
Looks like we don't have ptxas llvm build bot to catch this sort of NFC.
Commit: ee76861da9dc2678f9982bf019a9ebcd7fdcede4
https://github.com/llvm/llvm-project/commit/ee76861da9dc2678f9982bf019a9ebcd7fdcede4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
Log Message:
-----------
[InstCombine][X86] Add SSE shift test coverage for #125228
Pulled out of #125935 to show diff
Commit: 922f339c4ef3631f66dc4b8caa4c356103dbf69d
https://github.com/llvm/llvm-project/commit/922f339c4ef3631f66dc4b8caa4c356103dbf69d
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Parse/ParseExpr.cpp
M clang/test/Parser/recovery.cpp
Log Message:
-----------
Diagnose the code with trailing comma in the function call. (#125232)
This patch fixes a regression caused by
https://github.com/llvm/llvm-project/pull/114684 where clang accepts
trailing commas for function calls.
Fixes #125225
Commit: d595d5a770d93c9564268fc631d85f3a6ce1f505
https://github.com/llvm/llvm-project/commit/d595d5a770d93c9564268fc631d85f3a6ce1f505
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Fix macos-14 build (#127157)
This was broken when pgo was enabled by
0572580dd040a81dc69b798e202550d51d17204a.
Commit: 035bc529f7de71aac6161f8074725acdb5a11254
https://github.com/llvm/llvm-project/commit/035bc529f7de71aac6161f8074725acdb5a11254
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/SwapExtractSliceWithFillPatterns.cpp
Log Message:
-----------
[nfc][mlir][linalg] Make example easier to read. (#127213)
Commit: 1435c8ed95fa10a55c2f924984141e427b89c330
https://github.com/llvm/llvm-project/commit/1435c8ed95fa10a55c2f924984141e427b89c330
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/openmp-offload.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M offload/test/offloading/bug51781.c
Log Message:
-----------
Reapply "[LinkerWrapper] Clean up options after proper forwarding" (#126495)
Summary:
The test failed because it no longer passed Rpass by default without
LTO. I think that's desirable as it matches the standard behavior.
This reverts commit 6fd99de31864a5ef84ae8613b3a9034e05293461.
Commit: 3e94fc0682952f6f996809f83e9e67f6d5e1989e
https://github.com/llvm/llvm-project/commit/3e94fc0682952f6f996809f83e9e67f6d5e1989e
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaType.cpp
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
M clang/test/Sema/types.c
Log Message:
-----------
[Clang] allow restrict qualifier for array types with pointer types as element types (#120896)
Fixes #92847
---
> Types other than pointer types whose referenced type is an object type
and (possibly multi-dimensional) array types with such pointer types as
element type shall not be restrict-qualified.
Commit: 708dc651ba8f223109879278f3dc166c7d122e2a
https://github.com/llvm/llvm-project/commit/708dc651ba8f223109879278f3dc166c7d122e2a
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/test/CodeGen/NVPTX/vaargs.ll
Log Message:
-----------
[NVPTX] Fix vaarg store alignment (#127067)
There is an issue with different alignment applied to store and load of
vaargs in NVPTX backend.
Current `CodeGen/NVPTX/vaargs.ll` demonstrates this discrepancy. Store
occurs with offsets `0,4,12,20`, but load with `0,8,16,24`.
This patch attempts to unify the alignment approach for callee and
caller.
Commit: b41b86a907f653f79bab10d4c80b3a41d146c71b
https://github.com/llvm/llvm-project/commit/b41b86a907f653f79bab10d4c80b3a41d146c71b
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/lib/Lex/CMakeLists.txt
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/CMakeLists.txt
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement Lexing of DescriptorTables (#122981)
For the sake of scope, we will let the lexing of floating literals be
deferred until needed for Static Samplers. Other than that this pr
should allow us to simply define new enumerations/keywords in
`RootSignatureTokenKinds.def` for when they are used in the parser. We
could have defined all of these keywords here, but for the sake of
correctness in review we will let them be split up.
- Define `RootSignatureLexer` and provide a public `LexToken` method for
external use
- Define the file `RootSignatureTokenKinds` to define required tokens
and allow for future custom keywords/enums
- Implement the internal methods required to parse the different types
of tokens (integers, flag enums, puncuators...)
- Add test harness for unit testing and the respective unit tests for
lexing the tokens
Resolves #126563
---------
Co-authored-by: Chris B <beanz at abolishcrlf.org>
Commit: 4d2d0afceeb732a5238c2167ab7a6b88cc66d976
https://github.com/llvm/llvm-project/commit/4d2d0afceeb732a5238c2167ab7a6b88cc66d976
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
Log Message:
-----------
[HLSL] Implement HLSL Aggregate splatting (#118992)
Implement HLSL Aggregate Splat casting that handles splatting for arrays
and structs, and vectors if splatting from a vec1.
Closes #100609 and Closes #100619
Depends on #118842
Commit: fbd92d098500775501ba917f21e094f4d714f562
https://github.com/llvm/llvm-project/commit/fbd92d098500775501ba917f21e094f4d714f562
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++][format] Disables the FTM on older MacOS versions. (#126547)
On older MacOS versions where `std::to_chars` for floating-point types
is not available the format library can't be used. Due to some issue
with the availability macro used to disable format on MacOS the issue
triggers regardless of the type being formatted.
The print library has the same issue.
Fixes: #125353
Commit: bedd3926f9eabf3f3965e0a817559c13073fc783
https://github.com/llvm/llvm-project/commit/bedd3926f9eabf3f3965e0a817559c13073fc783
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
Log Message:
-----------
[AsmParser][NFCI] Restructure DiagnosticPredicate (#126653)
This restructures the DiagnosticPredicate type to more closely match how
neatly ParseStatus is defined. The DiagnosticPredicateTy enum is moved
inside the class, and the boolean conversions are made explicit.
The main user of this code is AArch64, which I have also updated to use
the new structure of the code.
Commit: a8aa2566b97ff47bf52d963abc4dd5b16d3e5ba9
https://github.com/llvm/llvm-project/commit/a8aa2566b97ff47bf52d963abc4dd5b16d3e5ba9
Author: schittir <sindhu.chittireddy at intel.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
Log Message:
-----------
Revert "[NFC] Avoid potential null dereference." (#127228)
Reverts llvm/llvm-project#126872
The commit, though harmless, is unnecessary.
Commit: 04bf00c7c4db7ab7c9d60cb0822400938afb4d52
https://github.com/llvm/llvm-project/commit/04bf00c7c4db7ab7c9d60cb0822400938afb4d52
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libcxx/include/__format/formatter.h
Log Message:
-----------
[NFC][libc++][format] Fixes comment typos.
Commit: ec17161c6e87bb061daee4603ed21ab988f9d03d
https://github.com/llvm/llvm-project/commit/ec17161c6e87bb061daee4603ed21ab988f9d03d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Lex/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/Lex/BUILD.gn
Log Message:
-----------
[gn build] Port b41b86a907f6
Commit: 004afcbfb4abb67a1871f180dfbd026379027dc5
https://github.com/llvm/llvm-project/commit/004afcbfb4abb67a1871f180dfbd026379027dc5
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Set cudadevice interfaces as public by default (#127229)
Remove the PRIVATE statement from cudadevice as it hides any interfaces
from the used __cuda_device module.
Commit: 40029800e7f9f0738340cc013221bd76060a38a0
https://github.com/llvm/llvm-project/commit/40029800e7f9f0738340cc013221bd76060a38a0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
Revert "[SLP]Improved reduction cost/codegen"
This reverts commit 7ec60bf0166519317b5ae2505dd6ed4660e3ea39 to fix
a bug reported in https://github.com/llvm/llvm-project/issues/127220.
Commit: 4b3c6443a12e4871692429329a093af93222cb57
https://github.com/llvm/llvm-project/commit/4b3c6443a12e4871692429329a093af93222cb57
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] port b41b86a907f653f79bab10d4c80b3a41d146c71b
Commit: 1042bd79722a08b989e034c644c35f3a4556d83c
https://github.com/llvm/llvm-project/commit/1042bd79722a08b989e034c644c35f3a4556d83c
Author: Georgiy Samoylov <g.samoylov at syntacore.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb] Fix broken pipe error (#127100)
During LLDB testing on slow machines with the remote-linux platform all
tests from llgs category fail with python exception `BrokenPipeError`.
The main reason of these failures is slow start of lldb-server in
gdbserver mode. Due to this desired gdbserver socket does not have time
to open by the time the Python script tries to establish a connection.
List of failed tests:
```
TestAppleSimulatorOSType.py
TestGdbRemoteAttach.py
TestGdbRemoteAuxvSupport.py
TestGdbRemoteCompletion.py
TestGdbRemoteExitCode.py
TestGdbRemoteExpeditedRegisters.py
TestGdbRemoteHostInfo.py
TestGdbRemoteKill.py
TestGdbRemoteLaunch.py
TestGdbRemoteModuleInfo.py
TestGdbRemotePlatformFile.py
TestGdbRemoteProcessInfo.py
TestGdbRemoteRegisterState.py
TestGdbRemoteSaveCore.py
TestGdbRemoteSingleStep.py
TestGdbRemoteThreadsInStopReply.py
TestGdbRemote_qThreadStopInfo.py
TestGdbRemote_vCont.py
TestLldbGdbServer.py
TestNonStop.py
TestPtyServer.py
TestGdbRemoteAttachWait.py
TestGdbRemoteConnection.py
TestStubSetSID.py
TestGdbRemoteAbort.py
TestGdbRemoteSegFault.py
TestGdbRemoteLibrariesSvr4Support.py
TestGdbRemoteMemoryAllocation.py
TestGdbRemoteMemoryTagging.py
TestGdbRemoteGPacket.py
TestGdbRemoteTargetXmlPacket.py
TestGdbRemote_QPassSignals.py
TestGdbRemoteThreadName.py
TestPartialResume.py
TestSignal.py
```
This patch implements an additional check for the opened socket on
lldb-server side and fixes this error.
Commit: 8730fd7c64561f0dbfbe27c3d51a84b03b75ab9a
https://github.com/llvm/llvm-project/commit/8730fd7c64561f0dbfbe27c3d51a84b03b75ab9a
Author: Jens Reidel <adrian at travitia.xyz>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[compiler-rt][Mips] Align definition of __sanitizer_sigaction with musl (#124494)
The definition of __sanitizer_sigaction for MIPS matches the one in
glibc [1]. musl however uses a single definition of sigaction for all
architectures [2] that is more similar to the other architectures
supported by glibc. Fix the conditional logic so that
__sanitizer_sigaction matches the musl definition on MIPS.
[1]:
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/mips/bits/sigaction.h;h=f7e3ad88abbf3c497aaed44247bc1085efebe462;hb=dc650eb715df0a272ce43dfb55a209d5b018cc04
[2]: https://git.musl-libc.org/cgit/musl/tree/include/signal.h#n169
---------
Signed-off-by: Jens Reidel <adrian at travitia.xyz>
Commit: 5742dc44e2fb571952990b4226b10476e15ac479
https://github.com/llvm/llvm-project/commit/5742dc44e2fb571952990b4226b10476e15ac479
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
A llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
Log Message:
-----------
[DirectX][ShaderFlags] Add analysis for `WaveOps` flag (#118140)
- Check each call instruction for a `WaveOp` intrinsic and set the
`WaveOps` flag if this is true for any intrinsic, Done in
DXILShaderFlags.cpp
Resolves #114565
Commit: 1199bbb396fb9554401ad5ae1816b6648bab76a9
https://github.com/llvm/llvm-project/commit/1199bbb396fb9554401ad5ae1816b6648bab76a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
Log Message:
-----------
[LAA] Add forked pointers tests with dep checks and runtime checks (NFC)
Add missing test coverage where generating runtime checks is tried again
after dependence analysis.
Commit: d2dd8021fd9b9efe08e512021e732fcb02f1a3ef
https://github.com/llvm/llvm-project/commit/d2dd8021fd9b9efe08e512021e732fcb02f1a3ef
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/header.py
A libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/input/subdir/test.h.def
A libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/type.py
Log Message:
-----------
[libc] Make hdrgen emit correct relative paths for llvm-libc-types (#127150)
This makes hdrgen emit `#include "..."` lines using the correct
relative path (number of `../` steps, if any) for the containing
header, and includes this in the sorted block of `#include` lines
also used for the macro headers.
Commit: 3b18d47ecbaba4e519ebf0d1bc134a404a56a9da
https://github.com/llvm/llvm-project/commit/3b18d47ecbaba4e519ebf0d1bc134a404a56a9da
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/InstructionsState-is-invalid-0.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reduce-fadd.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/reduction.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/bool-mask.ll
M llvm/test/Transforms/SLPVectorizer/X86/ctpop-non-power-of-2-reduction.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-used-across-reductions.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-list.ll
M llvm/test/Transforms/SLPVectorizer/X86/horizontal-minmax.ll
M llvm/test/Transforms/SLPVectorizer/X86/malformed_phis.ll
M llvm/test/Transforms/SLPVectorizer/X86/multi-tracked-reduced-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-reshuffled-part.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-val-extracted-and-externally-used.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-extracted-value.ll
M llvm/test/Transforms/SLPVectorizer/X86/revectorized_rdx_crash.ll
M llvm/test/Transforms/SLPVectorizer/X86/undef_vect.ll
M llvm/test/Transforms/SLPVectorizer/partial-register-extract.ll
M llvm/test/Transforms/SLPVectorizer/reduction-modified-values.ll
M llvm/test/Transforms/SLPVectorizer/scalarization-overhead.ll
Log Message:
-----------
[SLP]Improved reduction cost/codegen
SLP vectorizer is able to combine several reductions from the list of
(potentially) reduced values with the different opcodes/values kind.
Currently, these reductions are handled independently of each other. But
instead the compiler can combine them into wide vector operations and
then perform only single reduction.
E.g, if the SLP vectorizer emits currently something like:
```
%r1 = reduce.add(<4 x i32> %v1)
%r2 = reduce.add(<4 x i32> %v2)
%r = add i32 %r1, %r2
```
it can be emitted as:
```
%v = add <4 x i32> %v1, %v2
%r = reduce.add(<4 x i32> %v)
```
It allows to improve the performance in some cases.
AVX512, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 4553.00 4615.00 1.4%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 412708.00 416820.00 1.0%
test-suite :: SingleSource/UnitTests/Vector/AVX512BWVL/Vector-AVX512BWVL-mask_set_bw.test 12901.00 12981.00 0.6%
test-suite :: MultiSource/Benchmarks/FreeBench/fourinarow/fourinarow.test 22717.00 22813.00 0.4%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 39722.00 39850.00 0.3%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 39725.00 39853.00 0.3%
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 15918.00 15967.00 0.3%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 155491.00 155587.00 0.1%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 227894.00 227942.00 0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 1062188.00 1062364.00 0.0%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 793672.00 793720.00 0.0%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 657371.00 657403.00 0.0%
test-suite :: External/SPEC/CINT2017speed/600.perlbench_s/600.perlbench_s.test 2074917.00 2074933.00 0.0%
test-suite :: External/SPEC/CINT2017rate/500.perlbench_r/500.perlbench_r.test 2074917.00 2074933.00 0.0%
test-suite :: MultiSource/Applications/JM/lencod/lencod.test 855219.00 855203.00 -0.0%
Benchmarks/Shootout-C++ - same transformed reduction
Adobe-C++/loop_unroll - same transformed reductions, new vector code
AVX512BWVL/Vector-AVX512BWVL-mask_set_bw - same transformed reductions
FreeBench/fourinarow - same transformed reductions
MiBench/telecomm-gsm - same transformed reductions
execute/GCC-C-execute-builtin-bitops-1 - same transformed reductions
CFP2006/433.milc - better vector code, several x i64 reductions + trunc
to i32 gets trunced to x i32 reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions, extra 4 x vectorization
CINT2006/464.h264ref - same transformed reductions
CINT2017rate/525.x264_r
CINT2017speed/625.x264_s - same transformed reductions
CINT2017speed/600.perlbench_s
CINT2017rate/500.perlbench_r - transformed same reduction
JM/lencod - extra 4 x vectorization
RISC-V, SiFive-p670, -O3+LTO
Metric: size..text
Program size..text
results results0 diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-builtin-bitops-1.test 8990.00 9514.00 5.8%
test-suite :: External/SPEC/CINT2006/464.h264ref/464.h264ref.test 588504.00 588488.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/consumer-lame/consumer-lame.test 147464.00 147440.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/automotive-susan/automotive-susan.test 21496.00 21492.00 -0.0%
test-suite :: MicroBenchmarks/ImageProcessing/Blur/blur.test 165420.00 165372.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 843928.00 843648.00 -0.0%
test-suite :: External/SPEC/CINT2006/458.sjeng/458.sjeng.test 100712.00 100672.00 -0.0%
test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test 24384.00 24336.00 -0.2%
test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test 24380.00 24332.00 -0.2%
test-suite :: SingleSource/UnitTests/Vectorizer/VPlanNativePath/outer-loop-vect.test 10348.00 10316.00 -0.3%
test-suite :: SingleSource/Benchmarks/Adobe-C++/loop_unroll.test 221304.00 220480.00 -0.4%
test-suite :: SingleSource/Benchmarks/Shootout-C++/Shootout-C++-matrix.test 3750.00 3736.00 -0.4%
test-suite :: SingleSource/Regression/C/Regression-C-DuffsDevice.test 678.00 370.00 -45.4%
execute/GCC-C-execute-builtin-bitops-1 - extra 4 x reductions, same
transformed reductions
CINT2006/464.h264ref - extra 4 x reductions, same transformed reductions
MiBench/consumer-lame - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/automotive-susan - same transformed reductions
ImageProcessing/Blur - same transformed reductions
Benchmarks/7zip - same transformed reductions
CINT2006/458.sjeng - 2 4 x i1 merged to 8 x i1 reductions (bitcast + ctpop)
MiBench/telecomm-gsm - same transformed reductions
Benchmarks/mediabench - same transformed reductions
Vectorizer/VPlanNativePath - same transformed reductions
Adobe-C++/loop_unroll - extra 4 x reductions, same transformed reductions
Benchmarks/Shootout-C++ - extra 4 x reductions, same transformed reductions
Regression/C/Regression-C-DuffsDevice - same transformed reductions
Reviewers: hiraditya, topperc, preames
Pull Request: https://github.com/llvm/llvm-project/pull/118293
Commit: 044b52832a779ac49fec9472e9e374c1b4609450
https://github.com/llvm/llvm-project/commit/044b52832a779ac49fec9472e9e374c1b4609450
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
Log Message:
-----------
[LAA] Perform checks for no-wrap separately from getPtrStride. (#126971)
Reorganize the code in isNoWrap to perform the no-wrap checks without
relying on getPtrStride directly. getPtrStride now uses isNoWrap.
The new structure allows deriving no-wrap in more cases in LAA, because
there are some cases where getPtrStride bails out early because it
cannot return a constant stride, but we can still prove no-wrap for the
pointer.
An example are AddRecs with non-ConstantInt strides with inbound GEPs,
in the improved test cases.
This enables vectorization with runtime checks in a few more cases.
PR: https://github.com/llvm/llvm-project/pull/126971
Commit: db1e15a1da20ff15c9bac8e6d731ec11871431bb
https://github.com/llvm/llvm-project/commit/db1e15a1da20ff15c9bac8e6d731ec11871431bb
Author: Manupa Karunaratne <manupa.karunaratne at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
M mlir/test/Dialect/Vector/vector-multi-reduction-pass-lowering.mlir
Log Message:
-----------
[MLIR][Vector] Add support for inner-parallel masked multi-reductions (#126722)
This commit adds support to lower inner-parallel flavor of masked vector
multi-reductions.
Commit: 0931a2a5a26f4926fc74087017a8a6ba3ab874df
https://github.com/llvm/llvm-project/commit/0931a2a5a26f4926fc74087017a8a6ba3ab874df
Author: vporpo <vporpodas at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Context.h
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/User.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] SetUse callback (#126985)
This patch implements a callback mechanism similar to the existing ones,
but for getting notified whenever a Use edge gets updated. This is going
to be used in a follow up patch by the Dependency Graph.
Commit: 9ad83f7fcf95f14d410bd2a301c8851f48dd975d
https://github.com/llvm/llvm-project/commit/9ad83f7fcf95f14d410bd2a301c8851f48dd975d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Get pointer address space from AddRec (NFC).
Retrieve the address space from the pointer AddRec instead of the IR
pointer value, to prepare to make the IR pointer value optional.
Commit: 48c92dda0086d0ec2e8c1032ec53edec743c85f3
https://github.com/llvm/llvm-project/commit/48c92dda0086d0ec2e8c1032ec53edec743c85f3
Author: vporpo <vporpodas at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Update DAG whenever a Use is set (#127247)
This patch implements automatic DAG updating whenever a Use is set. This
maintains the UnscheduledSuccs counter that the scheduler relies on.
Commit: 0301bf977aa9842003462a2a7a3c3ce56abfaae0
https://github.com/llvm/llvm-project/commit/0301bf977aa9842003462a2a7a3c3ce56abfaae0
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Math/Transforms/ExpandPatterns.cpp
M mlir/test/Dialect/Math/expand-math.mlir
Log Message:
-----------
[MLIR] Lower `math.powf(x, 3.0)` to `x * x * x`. (#127256)
`math.powf(x, y)` never really supported negative values of `x`, but
that was unclear (happened to work for some values of `y`) until
https://github.com/llvm/llvm-project/pull/126338 was merged yesterday
and lowered it to the usual `exp(y * log(x))` outside of a few special
exponent values, such as y == 2.0` lowering to `x * x`.
It turns out that code in the wild has been relying on `math.powf(x, y)`
with negative `x` for some integral values of `y` for which a lowering
to muls was intended: https://github.com/iree-org/iree/issues/19996
This PR adds such a lowering for `y == 3.0`. It "fixes" such cases, and
it is a more efficient lowering anyway.
There needs to be a wider project to stop altogether using `powf` with
negative `x`, use `math.fpowi` for that.
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 778001514f4f2954be88fdc1e143c180165dadc4
https://github.com/llvm/llvm-project/commit/778001514f4f2954be88fdc1e143c180165dadc4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Fix a warning
This patch fixes:
llvm/lib/Analysis/LoopAccessAnalysis.cpp:1530:9: error: unused
variable 'Ty' [-Werror,-Wunused-variable]
Commit: aa500a79fcb4caf8fdb782808d2ee3c58fe9a2b6
https://github.com/llvm/llvm-project/commit/aa500a79fcb4caf8fdb782808d2ee3c58fe9a2b6
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/tests/expected_output/test_header.h
M libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/type.py
Log Message:
-----------
[libc] Make hdrgen deduce header type lists from function signatures (#127251)
With this, the `types` list in YAML files should only be used to
list the types that a standard specifies should be in that header
per se. All the types referenced in function signatures will be
collected automatically.
Commit: 947695a37f1f95505826f170598e1ec126914ba1
https://github.com/llvm/llvm-project/commit/947695a37f1f95505826f170598e1ec126914ba1
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/test/CodeGenHLSL/basic-target.c
Log Message:
-----------
[HLSL] Update target test to use `-cc1` rather than the clang driver (#127262)
This test was unnecessarily invoking `dxv` if it was in your path since
it used the driver rather than the `-cc1` command.
Commit: 344058d490997e7dbef0f012ec117e1d523cbdb9
https://github.com/llvm/llvm-project/commit/344058d490997e7dbef0f012ec117e1d523cbdb9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
R llvm/utils/count_running_jobs.py
Log Message:
-----------
[Github] Delete count_running_jobs.py script
This patch deletes the count_running_jobs.py script. Its functionality has
been mostly subsumed by the metrics container running in the new premerge
infra. This script also has not been used in a while.
Commit: 18f60bc33530c2b1785bffcbd7146f65ccacee51
https://github.com/llvm/llvm-project/commit/18f60bc33530c2b1785bffcbd7146f65ccacee51
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Treat offsetof as a trivial expression. (#126996)
Commit: da6ac9564bf31e8b063b73e9b2fb7fc67edd5d55
https://github.com/llvm/llvm-project/commit/da6ac9564bf31e8b063b73e9b2fb7fc67edd5d55
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Support [[clang::noescape]] on a constructor (#126869)
Added the support for annotating a constructor's argument with
[[clang::noescape]].
We explicitly ignore CXXConstructExpr which is visited as a part of
CallExpr so that construction of closures like Function,
CompletionHandler, etc... don't result in a warning.
Commit: dcfc30ca6b19bd8ee9ab9788cb4923a848af3f20
https://github.com/llvm/llvm-project/commit/dcfc30ca6b19bd8ee9ab9788cb4923a848af3f20
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/header.py
Log Message:
-----------
[libc] Fix hdrgen to be compatible with Python 3.8 (#127265)
Commit: c662103c6ead3bbfad9bc24d7770552163dbb92b
https://github.com/llvm/llvm-project/commit/c662103c6ead3bbfad9bc24d7770552163dbb92b
Author: Tyler Nowicki <tyler.nowicki at amd.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
Log Message:
-----------
[Coroutines][LazyCallGraph] addSplitRefRecursiveFunctions allows spurious ref edges between new functions. (#116285)
The addSplitRefRecursiveFunctions LazyCallGraph helper should not
require a reference between every new function. Spurious ref edges
between the new functions are allowed and the new function are
considered to be a RefSCC. This change clarifies that this is the case
in the method's description and its DEBUG mode verifier.
Commit: 303f2415448ac79fa85abd22ad7108fbb9dab3d3
https://github.com/llvm/llvm-project/commit/303f2415448ac79fa85abd22ad7108fbb9dab3d3
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
R libc/include/ctype.h.def
M libc/include/ctype.yaml
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/tests/expected_output/subdir/test.h
R libc/utils/hdrgen/tests/input/subdir/test.h.def
M libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Make template_header optional for hdrgen (#127259)
This allows a YAML file to omit `template_header` and have no
`.h.def` file. A default template is generated based purely on
the information in the YAML file. This should handle most of the
cases. For now, it's exercised (aside from the hdrgen tests)
only for one of the simplest cases: <ctype.h>.
This includes making the parser notice the "standards" YAML field
at the top (header) level, not just in "functions" lists. The
standards listed for the header overall and for the individual
functions both feed into how a fully-generated header describes
itself in comments. To go with this, files using the default
generated template must stick to a new uniform set of spellings
for the "standards" lists. As more custom template files are
retired, the corresponding YAML files will need all their
standards lists normalized. For now, ctype.yaml is updated
with correct attribution for the POSIX `_l` extensions.
Commit: 496fec53846a98ba58db95d98f45db221bbdd510
https://github.com/llvm/llvm-project/commit/496fec53846a98ba58db95d98f45db221bbdd510
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Fix recursion tests (#127270)
The implicit-check-not had a typo which meant it didn't fail as expected
when I tested better recursion handling. Fix that here (no change for
current head).
Commit: 2f911ad2e75da87859706e99dd4fb45a632032b7
https://github.com/llvm/llvm-project/commit/2f911ad2e75da87859706e99dd4fb45a632032b7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (2/N) (#123237)
Unifies test function names so that it's easier to identify what
different cases are. Also improves consistency. The following naming
scheme has been adopted:
* `@xfer_{read|write}_{map_type}_{masked|with_mask|}_{out_of_bounds}_{scalable}`
Also updated some comments to better document the patterns that are
being exercised.
Commit: 9106ee25e9581cccc73836e87ce9b74bbac5ff19
https://github.com/llvm/llvm-project/commit/9106ee25e9581cccc73836e87ce9b74bbac5ff19
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
Log Message:
-----------
[alpha.webkit.UncountedCallArgsChecker] Allow ArrayInitLoopExpr and OpaqueValueExpr in trivial expressions (#127182)
Allow VisitArrayInitLoopExpr, VisitArrayInitIndexExpr, and
VisitOpaqueValueExpr in trivial functions and statements.
Commit: 50b1763d9dcfc5dfae6a42a0edf9f139a1e76a6d
https://github.com/llvm/llvm-project/commit/50b1763d9dcfc5dfae6a42a0edf9f139a1e76a6d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Fix Typo in MacOS Job Name
This patch changes the name of the MacOS premerge job from
permerge-checks-macos to (the presumably correct) premerge-checks-macos.
Commit: d9b55b72103f7d2b35cdc7a6311f217016308d9c
https://github.com/llvm/llvm-project/commit/d9b55b72103f7d2b35cdc7a6311f217016308d9c
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
Log Message:
-----------
[CIR] Fix extra `;` warning, and replace `new` with emplaceBlock (NFC) (#127207)
Commit: 9f6e72bd0c1e6e52ac5aa0e29dc3d128ee868ee5
https://github.com/llvm/llvm-project/commit/9f6e72bd0c1e6e52ac5aa0e29dc3d128ee868ee5
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/enumeration.py
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/input/merge1.yaml
A libc/utils/hdrgen/tests/input/merge2.yaml
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
Log Message:
-----------
[libc] Add merge_yaml_files feature to hdrgen (#127269)
This allows a sort of "include" mechanism in the YAML files. A
file can have a "merge_yaml_files" list of paths (relative to the
containing file's location). These are YAML files in the same
syntax, except they cannot have their own "header" entry. Only
the lists (types, enums, macros, functions, objects) can appear.
The main YAML file is then processed just as if each of its lists
were the (sorted) union of each YAML file's corresponding list.
This will enable maintaining a single source of truth for each
function signature and other such details, where it is necessary
to generate the same declaration in more than one header.
Commit: 77ddffc946fe6763c6c0ce04aa23315903762c6f
https://github.com/llvm/llvm-project/commit/77ddffc946fe6763c6c0ce04aa23315903762c6f
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
Log Message:
-----------
[HLSL] Fix Root signature test error (#127261)
Fixing error detected in build bot in file
`RootSignature-MultipleEntryFunctions.ll`
closes: [127260](https://github.com/llvm/llvm-project/issues/127260)
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 398f865499e6d7c35df2496cdff29ed0239423de
https://github.com/llvm/llvm-project/commit/398f865499e6d7c35df2496cdff29ed0239423de
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
A libc/src/time/strftime.cpp
A libc/src/time/strftime.h
A libc/src/time/strftime_core/CMakeLists.txt
A libc/src/time/strftime_core/composite_converter.h
A libc/src/time/strftime_core/converter.cpp
A libc/src/time/strftime_core/converter.h
A libc/src/time/strftime_core/core_structs.h
A libc/src/time/strftime_core/num_converter.h
A libc/src/time/strftime_core/parser.h
A libc/src/time/strftime_core/str_converter.h
A libc/src/time/strftime_core/strftime_main.cpp
A libc/src/time/strftime_core/strftime_main.h
M libc/src/time/time_constants.h
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/strftime_test.cpp
Log Message:
-----------
[libc] Implement strftime (#122556)
Implements the posix-specified strftime conversions for the default
locale, along with comprehensive unit tests. This reuses a lot of design
from printf, as well as the printf writer.
Roughly based on #111305, but with major rewrites.
Commit: 60af83506a3aa379c59e0f9793ce7815d726aee1
https://github.com/llvm/llvm-project/commit/60af83506a3aa379c59e0f9793ce7815d726aee1
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/src/time/strftime_core/composite_converter.h
Log Message:
-----------
[libc] Fix implicit cast warning in strftime (#127282)
Forgot to change a size_t to an int, which caused warnings on gcc but
not clang for some reason. Regardless, this patch fixes the issue.
Commit: 77041da98932f77896d48366703d956ae7a82036
https://github.com/llvm/llvm-project/commit/77041da98932f77896d48366703d956ae7a82036
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Recognize nested protectedThis pattern (#126443)
In WebKit, it's pretty common to capture "this" and "protectedThis"
where "protectedThis" is a guardian variable of type Ref or RefPtr for
"this". Furthermore, it's common for this "protectedThis" variable from
being passed to an inner lambda by std::move. Recognize this pattern so
that we don't emit warnings for nested inner lambdas.
To recognize this pattern, we introduce a new DenseSet,
ProtectedThisDecls, which contains every "protectedThis" we've
recognized to our subclass of DynamicRecursiveASTVisitor. This set is
now populated in "hasProtectedThis" and "declProtectsThis" uses this
DenseSet to determine a given value declaration constitutes a
"protectedThis" pattern or not.
Because hasProtectedThis and declProtectsThis had to be moved from the
checker class to the visitor class, it's now a responsibility of each
caller of visitLambdaExpr to check whether a given lambda captures
"this" without a "protectedThis" or not.
Finally, this PR improves the code to recognize "protectedThis" pattern
by allowing more nested CXXBindTemporaryExpr, CXXOperatorCallExpr, and
UnaryOperator expressions.
Commit: 28c52edbe33e671ace58309e60598f3342e9ca73
https://github.com/llvm/llvm-project/commit/28c52edbe33e671ace58309e60598f3342e9ca73
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/Sema/attr-model.cpp
Log Message:
-----------
[clang][X86] Support __attribute__((model("small"/"large"))) (#124834)
Following up #72078, on x86-64 this allows a global to be considered
small or large regardless of the code model. For example, x86-64's
medium code model by default classifies globals as small or large
depending on their size relative to -mlarge-data-threshold.
GPU compilations compile the same TU for both the host and device, but
only codegen the host or device portions of it depending on attributes.
However, we still Sema the TU, and will warn on an unknown attribute for
the device compilation since this attribute is target-specific. Since
they're intended for the host, accept but ignore this attribute for
device compilations where the host is either unknown or known to
support the attribute.
Co-authored-by: @pranavk
Commit: caaa288fa3658b40a35a8e327bf140921ecfaaf9
https://github.com/llvm/llvm-project/commit/caaa288fa3658b40a35a8e327bf140921ecfaaf9
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/LazyCallGraph.h
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/unittests/Analysis/LazyCallGraphTest.cpp
Log Message:
-----------
Revert "[Coroutines][LazyCallGraph] addSplitRefRecursiveFunctions allows spurious ref edges between new functions." (#127285)
Reverts llvm/llvm-project#116285
Breaks expensive checks build, e.g.
https://lab.llvm.org/buildbot/#/builders/16/builds/13821
Commit: 625cb5a18576dd5d193da8d0249585cb5245da5c
https://github.com/llvm/llvm-project/commit/625cb5a18576dd5d193da8d0249585cb5245da5c
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
R libc/include/malloc.h.def
M libc/include/malloc.yaml
A libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Share hdrgen declarations between stdlib.h and malloc.h (#127278)
This uses the new merge_yaml_files feature in hdrgen to share the
source of truth for the malloc suite of functions declared in
both stdlib.h and in malloc.h (without either header including
the other). It also modernizes the malloc.yaml definition a bit,
including dropping the custom template malloc.h.def file in favor
of using the explicit macros list to generate the includes.
Commit: 25e43334a86804c77d460493e37b57274257461a
https://github.com/llvm/llvm-project/commit/25e43334a86804c77d460493e37b57274257461a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
Log Message:
-----------
[RISCV] Lower shuffle which splats a single span (without exact VLEN) (#127108)
If we have a shuffle which repeats the same pattern of elements, all of
which come from the first register in the source register group, we can
lower this to a single vrgather at m1 to perform the element
rearrangement, and reuse that for each register in the result vector
register group.
Commit: 68a82a2298327c74bf25b8d376ffa3dc1e1b6388
https://github.com/llvm/llvm-project/commit/68a82a2298327c74bf25b8d376ffa3dc1e1b6388
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/input/subdir/test.yaml
Log Message:
-----------
[libc] Elide extra space in hdrgen function declarations (#127287)
When the return type's rendering already doesn't end with an
identifier character, such as when it's `T *`, then idiomatic
syntax does not include a space before the `(` and arguments.
Commit: 6c54ab548fa6d1b6d84864a93dbc436dc47c64b0
https://github.com/llvm/llvm-project/commit/6c54ab548fa6d1b6d84864a93dbc436dc47c64b0
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/test/ELF/loongarch-relax-align.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12-got-symbols.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
Log Message:
-----------
[lld][LoongArch] Relax R_LARCH_{PCALA,GOT_PC}_{HI20,LO12} (#123566)
Support relaxation optimization for two types of code sequences.
```
From:
pcalau12i $a0, %pc_hi20(sym)
R_LARCH_PCALA_HI20, R_LARCH_RELAX
addi.w/d $a0, $a0, %pc_lo12(sym)
R_LARCH_PCALA_LO12, R_LARCH_RELAX
To:
pcaddi $a0, %pc_lo12(sym)
R_LARCH_PCREL20_S2
From:
pcalau12i $a0, %got_pc_hi20(sym_got)
R_LARCH_GOT_PC_HI20, R_LARCH_RELAX
ld.w/d $a0, $a0, %got_pc_lo12(sym_got)
R_LARCH_GOT_PC_LO12, R_LARCH_RELAX
To:
pcaddi $a0, %got_pc_hi20(sym_got)
R_LARCH_PCREL20_S2
```
Others:
- `loongarch-relax-pc-hi20-lo12-got-symbols.s` is inspired by
`aarch64-adrp-ldr-got-symbols.s`.
Co-authored-by: Xin Wang
[wangxin03 at loongson.cn](mailto:wangxin03 at loongson.cn)
Commit: e9fb2391210e20d1d4dcf8bbe37085df902ed028
https://github.com/llvm/llvm-project/commit/e9fb2391210e20d1d4dcf8bbe37085df902ed028
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
Log Message:
-----------
[WebKit Checkers] Treat attributes as trivial (#127289)
For the purpose of determining triviality, ignore all attributes.
Commit: 5866032834ae6afc548c8240ec7df2a8564ecd95
https://github.com/llvm/llvm-project/commit/5866032834ae6afc548c8240ec7df2a8564ecd95
Author: Stef Lindall <bethebunny at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Support/TypeID.h
M mlir/lib/Support/TypeID.cpp
Log Message:
-----------
[mlir] Add `MLIR_USE_FALLBACK_TYPE_IDS` macro support for `TypeID` (#126999)
Adds a macro definition `MLIR_USE_FALLBACK_TYPE_IDS`. When this is
defined, the `MLIR_{DECLARE,DEFINE}_EXPLICIT_TYPE_ID` functions
explicitly fall back to string comparison.
This is useful for complex shared library setups
where it may be difficult to agree on a source of truth for specific
type ID resolution. As long as there is a single resolution for
`registerImplicitTypeID`, all type IDs can be reference a shared
registration. This way types which are logically shared across multiple
DSOs can have the same type ID, even if their definitions are
duplicated.
Commit: 9fddcea027993e18a8de7e58e73a56f56866f70f
https://github.com/llvm/llvm-project/commit/9fddcea027993e18a8de7e58e73a56f56866f70f
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Fix getSliceBounds for missing handling of no lower/upper bound in certain cases (#127192)
Fix `FlatLinearValueConstraints::getSliceBounds` for missing checks on
no
lower/upper bound bound. Obvious bug.
Fixes: https://github.com/llvm/llvm-project/issues/119525
Fixes: https://github.com/llvm/llvm-project/issues/108374
Commit: 34cf04b59b8d94c8eeb9929ec2cd3d63631af86f
https://github.com/llvm/llvm-project/commit/34cf04b59b8d94c8eeb9929ec2cd3d63631af86f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
M llvm/test/CodeGen/NVPTX/surf-read.ll
M llvm/test/CodeGen/NVPTX/surf-write.ll
Log Message:
-----------
Reland "[NVPTX] Cleanup/Refactoring in NVPTX AsmPrinter and RegisterInfo (NFC)" (#127277)
Originally landed in #126800
This version fixes a typo in NVPTXAsmPrinter::emitFunctionParamList
where .surfref was erroneously replaced with .samplerref.
Commit: 7a6d1508ce5c6d33233d250a9d006066e019d712
https://github.com/llvm/llvm-project/commit/7a6d1508ce5c6d33233d250a9d006066e019d712
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Reorder insert_subvector and bitcast in getDeinterleaveShiftAndTrunc. (#127258)
Put the bitcast before the insert_subvector. It's more likely the insert
subvector can be combined with other nodes. The insert_subvector is only
needed sometimes, and I'm considering reusing this function which might
require pulling the insert_subvector out.
Commit: 2d878ccf543c8a949f60a51e3e2be5238e142bf4
https://github.com/llvm/llvm-project/commit/2d878ccf543c8a949f60a51e3e2be5238e142bf4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Track Queue/In Progress Metrics By Job Rather Than Workflow
This patch makes it so that the metrics container counts the number of in
progress and queued jobs at the job level rather than at the workflow
level. This helps us distinguish windows versus linux load and also lets
us filter out the MacOS jobs that only run in the release branch.
Reviewers: Keenuts, lnihlen
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127274
Commit: 4aeb2f1c7980918b41c380253eff4726482622a2
https://github.com/llvm/llvm-project/commit/4aeb2f1c7980918b41c380253eff4726482622a2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Remove Duplicate Heartbeat in Metrics Script
This patch removes an extra heartbeat metric in the metrics python file. Before
it was performed twice, once in the main function, and once in the
get_sampled_workflow_metrics function. We only need one to keep everything
happy, and I've chosen to keep the one in get_sampled_workflow_metrics as it
seems a more appropriate place to keep it.
Reviewers: Keenuts, lnihlen
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127275
Commit: f7a2d70bd91094e7a85f7e189602c826a3eeb6cd
https://github.com/llvm/llvm-project/commit/f7a2d70bd91094e7a85f7e189602c826a3eeb6cd
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Make llvm::telemetry::Manager::preDispatch protected. (#127114)
The method was meant to be overriden by subclasses only.
It should not be called directly by users
Commit: 97d2cfeab3dc938f28e2af4f2deff6a82ac58c5e
https://github.com/llvm/llvm-project/commit/97d2cfeab3dc938f28e2af4f2deff6a82ac58c5e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Try Moving Github Object Into Loop
Currently the metrics container is crashing reasonably often with
incomplete read/connection broken errors. Try moving the creation of the
Github Object into the main loop to see if recreating the object that
maybe handles some connection state fixes the issue.
Reviewers: Keenuts, lnihlen
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127276
Commit: d7b89b0dcae802fd6405216514a82850243a47b1
https://github.com/llvm/llvm-project/commit/d7b89b0dcae802fd6405216514a82850243a47b1
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Do Not Consider a Job Failed if Steps Were Skipped
This patch makes it so that skipped steps do not cause a job to be
considered failed. The windows premerge jobs currently skip the
build/test step if there are no projects to build/test. These show up as
failures in the dashboard even though everything executed perfectly
fine.
Reviewers: lnihlen, Keenuts
Reviewed By: lnihlen
Pull Request: https://github.com/llvm/llvm-project/pull/127279
Commit: 63113cfc985321432f266d801111117915ad1d72
https://github.com/llvm/llvm-project/commit/63113cfc985321432f266d801111117915ad1d72
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
Log Message:
-----------
[RISCV] Remove what appears to be an unnecessary check for LMUL_8 in getSingleShuffleSrc. (#127250)
I think this dates to a time when we used to use a type twice as large
as necessary for the input to the vnsrl. This was changed in #118509
when factor 4 and 8 were added.
The existing test for this regresses because it uses a lot of undef
elements and we previously figured out we could reduce its size and then
try the vnsrl again. We now match it before we try to reduce the width
so we miss this opportunity.
I've added a second test that doesn't have any undef elements in the
first half. Prior to this patch we used a vcompress lowering instead of
vnsrl.
Commit: d1b95acad747880c081229d1ca63dc28bde6c190
https://github.com/llvm/llvm-project/commit/d1b95acad747880c081229d1ca63dc28bde6c190
Author: dyung <douglas.yung at sony.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/CMakeLists.txt
Log Message:
-----------
Revert "[llvm-jitlink] Explicit exports for builtin runtime functions in MinGW executables" (#127297)
Reverts llvm/llvm-project#107375
This was causing a build bot failure
(https://lab.llvm.org/buildbot/#/builders/201/builds/2954) and also
breaks building with VS2019. See
https://github.com/llvm/llvm-project/pull/107375#issuecomment-2660709198
for details.
Commit: 61ad08792a86e62309b982189a600f4342a38d91
https://github.com/llvm/llvm-project/commit/61ad08792a86e62309b982189a600f4342a38d91
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/FlatLinearValueConstraints.h
M mlir/include/mlir/Dialect/Affine/Analysis/Utils.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Utils/LoopFusionUtils.cpp
Log Message:
-----------
[MLIR][Affine] NFC. Fix/improve debug messages for affine analysis/fusion utils (#127164)
Fix/improve debug messages and API signatures for affine
analysis/fusion utils.
Move some warnings under LLVM_DEBUG. These weren't meant to be exposed
during compilation.
Add dump pretty methods for FlatLinearConstraints.
NFC.
Commit: 5c93eb56dc9bc0c0210483cdd5d31e6b6580454f
https://github.com/llvm/llvm-project/commit/5c93eb56dc9bc0c0210483cdd5d31e6b6580454f
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/MathToLLVM/MathToLLVM.h
M mlir/include/mlir/Conversion/MathToLibm/MathToLibm.h
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
Log Message:
-----------
[MLIR][Math] Add optional benefit arg to populate math lowering patterns (#127291)
Co-authored-by: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Commit: 3063153b5643e5ed04e8a9d7b50feecf3eba325e
https://github.com/llvm/llvm-project/commit/3063153b5643e5ed04e8a9d7b50feecf3eba325e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating ObjCMethodSpecifier (#127159)
Fixes #58202.
Commit: 66465c3b0ab1b32403ad5a1c3114174d87830f54
https://github.com/llvm/llvm-project/commit/66465c3b0ab1b32403ad5a1c3114174d87830f54
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Revert "Make llvm::telemetry::Manager::preDispatch protected. (#127114)"
This reverts commit f7a2d70bd91094e7a85f7e189602c826a3eeb6cd.
Multiple buildbot failures have been reported. See:
https://github.com/llvm/llvm-project/pull/127114
Commit: 8fff0c181f26a5e8b2344c061ebf2559118b1160
https://github.com/llvm/llvm-project/commit/8fff0c181f26a5e8b2344c061ebf2559118b1160
Author: Jordan R AW <ajordanr at google.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/cmake/modules/FindCursesAndPanel.cmake
Log Message:
-----------
[lldb] Add terminfo dependency for ncurses support (#126810)
For some operating systems (e.g. chromiumos), terminfo is a separate
package and library from ncurses. Both are still requirements for curses
support in lldb, individually.
This is a rework of this original spack commit:
https://github.com/spack/spack/commit/9ea261265010eacd250691a8361f661d0576f25c
Instead though, this PR uses CMake to detect whether the symbol is
present and defined in the curses library, and only falls back to a separate
tinfo if not found.
Without this fix, LLDB cannot be built on these systems.
Fixes #101368
Commit: ed32d85d31999756602a7d5c4647cb6771d8f857
https://github.com/llvm/llvm-project/commit/ed32d85d31999756602a7d5c4647cb6771d8f857
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/source/Commands/CommandObjectExpression.cpp
Log Message:
-----------
[lldb] Use async output & error stream for EvaluateExpression
Similar to #126821, in support of #126630.
Commit: b24e14093dae04440f22a2da128ba29576f5b3c3
https://github.com/llvm/llvm-project/commit/b24e14093dae04440f22a2da128ba29576f5b3c3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
Log Message:
-----------
[CI] Keep Track of Workflow Name Instead of Job Name
The metrics script includes some logic to only read look at workflows up
to the most recent workflow it has seen previously. This was broken in a
previous patch when workflow metrics began to be emitted per job. The
logic ending the metrics gathering would never trigger, so we would
continually fetch more and more workflows until OOM.
Commit: 776fa2d731c17d6ba0afad2554ebc89cf5e3e5ef
https://github.com/llvm/llvm-project/commit/776fa2d731c17d6ba0afad2554ebc89cf5e3e5ef
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-14 (Fri, 14 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Core/IOHandlerCursesGUI.h
M lldb/source/Core/IOHandlerCursesGUI.cpp
Log Message:
-----------
[lldb] Gardening in IOHandlerCurses (NFC)
- Remove _ap (auto_ptr) suffix with _up (unique_ptr) suffix
- Move forward declaration from IOHandler.h to IOHandlerCursesGUI.h
- Move curses namespace under lldb_private
Motivated by Alex' comment in #126630.
Commit: c30a7f459452d5766da244564bc1d5888346c364
https://github.com/llvm/llvm-project/commit/c30a7f459452d5766da244564bc1d5888346c364
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/test/CMakeLists.txt
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/unittests/Optimizer/CMakeLists.txt
Log Message:
-----------
[flang] Fix standalone builds against installed MLIR (#126387)
1. Add a new `MLIR_DEPS` argument group to `flang_add_library()`, and
move MLIR-specific dependencies to that group. These dependencies are
added as usual in regular builds, and are skipped in standalone builds,
since MLIR targets are not visible there (and were already built and
installed).
2. Fix the value of `MLIR_MAIN_SRC_DIR` to refer to the current source
directory rather than the directory written into MLIR CMake files. The
latter refers to the directory used to build the MLIR package, and is no
longer valid.
3. Fix non-dylib friendly linking of `LLVMTargetParser` in `Optimizer`
unittests.
With these changes, I can successfully run Flang's regression tests.
Commit: b6be53d4cb92592940618555ba5fbf412c0cfca8
https://github.com/llvm/llvm-project/commit/b6be53d4cb92592940618555ba5fbf412c0cfca8
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[ValueTracking] Test for not cond to assume (NFC)
Commit: 77b309d0721b70f7e2e646f50317478fa76b1ba5
https://github.com/llvm/llvm-project/commit/77b309d0721b70f7e2e646f50317478fa76b1ba5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
Log Message:
-----------
[AST] Avoid repeated hash lookups (NFC) (#127299)
Commit: 8bdc312272543e8fb21868e57a6c1592668b49a4
https://github.com/llvm/llvm-project/commit/8bdc312272543e8fb21868e57a6c1592668b49a4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/Index/USRGeneration.cpp
Log Message:
-----------
[Index] Avoid repeated hash lookups (NFC) (#127300)
Commit: 42e0ee4d7eaafd86a27418cd8c752229ce90c8e2
https://github.com/llvm/llvm-project/commit/42e0ee4d7eaafd86a27418cd8c752229ce90c8e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
Log Message:
-----------
[Sema] Avoid repeated hash lookups (NFC) (#127301)
Commit: 9453b38ac74f0d6797f12213996eac40d56537d9
https://github.com/llvm/llvm-project/commit/9453b38ac74f0d6797f12213996eac40d56537d9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
Log Message:
-----------
[clang-offload-packager] Avoid repeated hash lookups (NFC) (#127302)
Commit: 05209f1e598f73913bf0284bfbbb88131149bbcf
https://github.com/llvm/llvm-project/commit/05209f1e598f73913bf0284bfbbb88131149bbcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#127303)
Commit: 7e7a3623b44da5019878b91d8334d4c16d7b86a9
https://github.com/llvm/llvm-project/commit/7e7a3623b44da5019878b91d8334d4c16d7b86a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/RDFCopy.cpp
Log Message:
-----------
[Hexagon] Avoid repeated map lookups (NFC) (#127304)
Commit: 4887e41055686eede9c155e6b3296b92fe86c2d5
https://github.com/llvm/llvm-project/commit/4887e41055686eede9c155e6b3296b92fe86c2d5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/optional
Log Message:
-----------
[libc++][NFC] Make enable_ifs in <optional> consistent (#127184)
We've documented the preferred `enable_if` style in the coding
guidelines. This updates `<optional>` to conform to them
Commit: cffc1ac3491c891ef4f80bcbfa685710e477eeac
https://github.com/llvm/llvm-project/commit/cffc1ac3491c891ef4f80bcbfa685710e477eeac
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/__configuration/platform.h
Log Message:
-----------
[libc++] Avoid including <features.h> on arbitrary platforms (#125587)
This partially reverts commit 5f2389d4. That commit started checking
whether <features.h> was a valid include unconditionally, however codebases
are free to have such a header on their search path, which breaks compilation.
LLVM libc now provides a more standard way of getting configuration macros
like __LLVM_LIBC__.
After this patch, we only include <features.h> when we're on Linux or
when we're compiling for GPUs.
Commit: 8f3a070db9bffe78d86d24b583effe4032baa4db
https://github.com/llvm/llvm-project/commit/8f3a070db9bffe78d86d24b583effe4032baa4db
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Add new WG21 papers(Hagenberg) papers to the C++ status page
Commit: 70b95ca6dbee7036dcfa5995ff804471fd7e8c2a
https://github.com/llvm/llvm-project/commit/70b95ca6dbee7036dcfa5995ff804471fd7e8c2a
Author: lntue <lntue at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libc/src/math/generic/sqrtf128.cpp
Log Message:
-----------
[libc][math] Fix sqrtf128 implicit conversions. (#127154)
This fixes rv32 buildbot failure from
https://github.com/llvm/llvm-project/pull/122578
Commit: 2db262886f0c06c079e1b2808c4c14c16f8861b5
https://github.com/llvm/llvm-project/commit/2db262886f0c06c079e1b2808c4c14c16f8861b5
Author: Edgar <git at edgarluque.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/CAPI/ExecutionEngine/ExecutionEngine.cpp
Log Message:
-----------
[MLIR] Fix mlirExecutionEngineLookup throwing assert on lookup fail (#123924)
Apparently trying to lookup a function pointer using the C api
`mlirExecutionEngineLookup` will throw an assert instead of just
returning a nullptr on builds with asserts.
The docs itself says it returns a nullptr when no function is found so
it should be sensible to not throw an assert in this case.
Commit: 42ff31aea5828a491269b4db1ba5cff6fef7ca60
https://github.com/llvm/llvm-project/commit/42ff31aea5828a491269b4db1ba5cff6fef7ca60
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-15 (Sat, 15 Feb 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/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-7.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineTargetShuffle - fold VPERMV3(HI,MASK,LO) -> VPERMV(COMMUTE(MASK),CONCAT(LO,HI)) (#127199)
We already handle the simpler VPERMV3(LO,MASK,HI) fold which can reuse
the (widened) mask, this attempts to match the flipped concatenation,
and commutes the mask to handle the flip.
I've limited this to cases where we can extract the constant mask for
commutation, a more general solution would XOR the MSB of the shuffle
mask indices to commute, but this almost never constant folds away after
lowering so the benefit was minimal.
Commit: a6093d30348d7116b1112f7532743fda50258d67
https://github.com/llvm/llvm-project/commit/a6093d30348d7116b1112f7532743fda50258d67
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/test/benchmarks/algorithms/fill.bench.cpp
M libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
Log Message:
-----------
[libc++] Explicitly mention vector_bool in the name of benchmarks (#127313)
We have some benchmarks that were benchmarking very specific
functionality, namely the optimizations in vector<bool>::iterator. Call
this out in the benchmarks by renaming them appropriately. In the future
we will also increase the coverage of these benchmarks to test other
containers.
Commit: 88284e4efce09b0c9f46c3893554481815badf01
https://github.com/llvm/llvm-project/commit/88284e4efce09b0c9f46c3893554481815badf01
Author: realqhc <caiqihan021 at hotmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/test/MC/RISCV/attribute-arch.s
M llvm/test/MC/RISCV/rv32i-invalid.s
A llvm/test/MC/RISCV/rv32p-valid.s
A llvm/test/MC/RISCV/rv64p-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Support Zb*/P Shared Instructions (#127160)
This enables shared instructions between Zb* and Base-P extension.
Documentation:
https://jhauser.us/RISCV/ext-P/RVP-baseInstrs-014.pdf
https://jhauser.us/RISCV/ext-P/RVP-instrEncodings-014.pdf
Commit: 21e956df9b2b283c2f2ed710c542ebeebf8473ff
https://github.com/llvm/llvm-project/commit/21e956df9b2b283c2f2ed710c542ebeebf8473ff
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/include/llvm/InitializePasses.h
Log Message:
-----------
[CodeGen] Remove two dead pass initializer decls. NFC
- After #97727 and #101652, `LowerConstantIntrinsics` and
`ExpandVectorPredicationPass` are no longer dedicated passes.
Commit: 4664a4c66b816af53f596935c3aaa2eca143ae9c
https://github.com/llvm/llvm-project/commit/4664a4c66b816af53f596935c3aaa2eca143ae9c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Use getPointer/setPointer in createCheckForAccess (NFC).
Use getPointer/setPointer to clarify we are accessing/modifying the
rurrent value.
Commit: bfdf30e9b3d0b49344a651a5c7cd87be31d255c4
https://github.com/llvm/llvm-project/commit/bfdf30e9b3d0b49344a651a5c7cd87be31d255c4
Author: David Green <david.green at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
Log Message:
-----------
[AArch64] Add patterns for addv(sext) and addv(zext)
This adds patterns for v8i8->i16 vaddlv and v4i16->i32 vaddlv, for both signed
and unsigned extends.
Commit: b4030040359656ed20cb29de7b3912b6b249e98e
https://github.com/llvm/llvm-project/commit/b4030040359656ed20cb29de7b3912b6b249e98e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/ConstantRange.h
M llvm/lib/IR/ConstantRange.cpp
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: factor and introduce splitPosNeg (NFC) (#126528)
Factor out some code that splits a ConstantRange into positive and
negative components, introducing ConstantRange::splitPosNeg.
Commit: 948e97a40eba6c176183e8e7aefb994681b593ea
https://github.com/llvm/llvm-project/commit/948e97a40eba6c176183e8e7aefb994681b593ea
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[flang] Revert MLIR_MAIN_SRC_DIR override (#127337)
This change is no longer necessary after #125842. Thanks to @nikic for
letting me know.
Commit: e60de25c4e9a6d59b7fd868e803cfe3cd77d4078
https://github.com/llvm/llvm-project/commit/e60de25c4e9a6d59b7fd868e803cfe3cd77d4078
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Replace symbolic strides for translated pointers earlier (NFC).
Move up replaceSymbolicStrideSCEV before isNoWrap. It needs to be called
after hasComputableBounds, as this may create an AddRec via PSE, which
replaceSymbolicStrideSCEV will look up.
This is in preparation for simplifying isNoWrap.
Commit: c17df0af23c941cd4fc97851ea51c91eee7c49e4
https://github.com/llvm/llvm-project/commit/c17df0af23c941cd4fc97851ea51c91eee7c49e4
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
Log Message:
-----------
[webkit.UncountedLambdaCapturesChecker] Fix a crash in declProtectsThis (#127309)
Add a missing nullptr check to declProtectsThis.
Commit: 2472d38338aed9a9cca41a0ca0921b39765256c1
https://github.com/llvm/llvm-project/commit/2472d38338aed9a9cca41a0ca0921b39765256c1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/string
M libcxx/src/string.cpp
Log Message:
-----------
[libc++] Move unused basic_string function definition to the dylib sources (#126219)
`__init(const value_type*, size_type, size_type)` is part of our ABI,
but we don't actually use the function anymore in the dylib. THis moves
the definition to the `src/` directory to make it clear that the code is
unused. This also allows us to remove it entirely in the unstable ABI.
Commit: 248716f814d1d1fef88911d01a0b551d53c87c7a
https://github.com/llvm/llvm-project/commit/248716f814d1d1fef88911d01a0b551d53c87c7a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/include/set
M libcxx/test/support/test_container_comparisons.h
Log Message:
-----------
[libc++] Fixes (|multi)_set spaceship operator. (#127326)
The operators did not have a _Compare template arguement. The fix
updates the generic container test to use allocators for all types used.
No other issues were found.
Fixes: #127095
Commit: 761d422441c0e6822abb233d339fab4f3cf7f60a
https://github.com/llvm/llvm-project/commit/761d422441c0e6822abb233d339fab4f3cf7f60a
Author: Chris B <chris.bieneman at me.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/SemaHLSL/ArrayTemporary.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
Log Message:
-----------
[HLSL] Implement HLSL intialization list support (#123141)
This PR implements HLSL's initialization list behvaior as specified in
the draft language specifcation under
[*Decl.Init.Agg*](https://microsoft.github.io/hlsl-specs/specs/hlsl.html#Decl.Init.Agg).
This behavior is a bit unusual for C/C++ because intermediate braces in
initializer lists are ignored and a whole array of additional
conversions occur unintuitively to how initializaiton works in C.
The implementaiton in this PR generates a valid C/C++ initialization
list AST for the HLSL initializer so that there are no changes required
to Clang's CodeGen to support this. This design will also allow us to
use Clang's rewrite to convert HLSL initializers to valid C/C++
initializers that are equivalent. It does have the downside that it will
generate often redundant accesses during codegen. The IR optimizer is
extremely good at eliminating those so this will have no impact on the
final executable performance.
There is some opportunity for optimizing the initializer list generation
that we could consider in subsequent commits. One notable opportunity
would be to identify aggregate objects that occur in the same place in
both initializers and do not require converison, those aggregates could
be initialized as aggregates rather than fully scalarized.
Closes #56067
---------
Co-authored-by: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Co-authored-by: Helena Kotas <hekotas at microsoft.com>
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 07b0665d284f3d953dc74fae594102f9d3e81cb2
https://github.com/llvm/llvm-project/commit/07b0665d284f3d953dc74fae594102f9d3e81cb2
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
Log Message:
-----------
[Flang] Support overriding `LLVM_LIT_ARGS` in standalone builds (#127340)
Declare `LLVM_LIT_ARGS` as a cache variable in standalone builds to
permit overriding it. This mirrors the logic used in Clang.
Commit: 02fb9769417f972ffedefe32d7c0ae9cabd29917
https://github.com/llvm/llvm-project/commit/02fb9769417f972ffedefe32d7c0ae9cabd29917
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir] Improve GreedyPatternRewriteDriver logging (#127314)
Currently, when `GreedyPatternRewriteDriver` fails, the log output
contains nested failure messages:
```bash
} -> failure : pattern failed to match
} -> failure : pattern failed to match
```
This may seem redundant, but these messages refer to different aspects
of the pattern application logic. This patch clarifies the distinction
by separately logging:
* Success/failure for a specific pattern (e.g., "_this pattern_ failed
to match on the Op currently being processed").
* Success/failure for an operation as a whole (e.g., "_all patterns_
failed to match the Op currently being processed").
Before (example with success):
```bash
Processing operation : (...) {
* Pattern (...) -> ()' {
Trying to match "..."
** Match Failure : (...)
} -> failure : pattern failed to match
* Pattern (...) -> ()' {
Trying to match "..."
} -> success : pattern applied successfully
} -> success : pattern matched
```
After (example with success):
```bash
Processing operation : (...) {
* Pattern (...) -> ()' {
Trying to match "..."
** Match Failure : (...)
} -> failure : pattern failed to match
* Pattern (...) -> ()' {
Trying to match "..."
} -> success : pattern applied successfully
} -> success : at least one pattern matched
```
This improves log clarity, making it easier to distinguish pattern-level
failures from operation-level outcomes.
Commit: ad948fa028bdfe1f15785aec4477f92ec681637a
https://github.com/llvm/llvm-project/commit/ad948fa028bdfe1f15785aec4477f92ec681637a
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/test/Dialect/Vector/vector-emulate-narrow-type-unaligned-non-atomic.mlir
Log Message:
-----------
[mlir][vector] Document `ConvertVectorStore` + unify var names (nfc) (#126422)
1. Documents `ConvertVectorStore`. As the generated output is rather complex, I
have refined the comments + variable names in:
* "vector-emulate-narrow-type-unaligned-non-atomic.mlir",
to serve as reference for this pattern.
2. As a follow-on for #123527, renames `isAlignedEmulation` to `isFullyAligned`
and `numSrcElemsPerDest` to `emulatedPerContainerElem`.
Commit: 50581ef1ee45815b9230043319de5ae93680d4ad
https://github.com/llvm/llvm-project/commit/50581ef1ee45815b9230043319de5ae93680d4ad
Author: Chris Bieneman <chris.bieneman at me.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC] Fix warning in recent commit
Commit: e5f4019f69948f55b77fcb5f63ae8c296418432c
https://github.com/llvm/llvm-project/commit/e5f4019f69948f55b77fcb5f63ae8c296418432c
Author: David Green <david.green at arm.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/vecreduceadd.ll
Log Message:
-----------
[AArch64] Add extending reduction costs for addlv and dot
This adds some basic getExtendedReductionCost and getMulAccReductionCost to
account for add reduction (uaddlv/saddlv) and mla reductions with dotprod.
Commit: e5f5517f9121083dbb9d2841b607f504cbbb490b
https://github.com/llvm/llvm-project/commit/e5f5517f9121083dbb9d2841b607f504cbbb490b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/pr59319-loop-access-info-invalidation.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.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/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
Log Message:
-----------
[VPlan] Create IR basic block for middle.block in VPlan.
Create a IR BB directly for the middle.block, instead of creating the IR
BB during skeleton creation and then replacing the middle VPBB with a
VPIRBB.
This moves another part of skeleton creation to VPlan and simplififes
the code slightly by removing code to disconnect the middle block and
vector preheader + the corresponding DT update.
NFC modulo IR block naming and block creation order, which changes the
IR names for the blocks.
Commit: 256145b4b0058ae22a1040cd4b7ea44fc49a4ece
https://github.com/llvm/llvm-project/commit/256145b4b0058ae22a1040cd4b7ea44fc49a4ece
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
A llvm/test/CodeGen/PowerPC/pr127298.ll
Log Message:
-----------
[PowerPC] Use getSignedTargetConstant in SelectOptimalAddrMode. (#127305)
Fixes #127298.
Commit: 963ff1c3051a8c413a04fff27ba60cf93e48f310
https://github.com/llvm/llvm-project/commit/963ff1c3051a8c413a04fff27ba60cf93e48f310
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
A mlir/test/Conversion/GPUToNVVM/gpu-arith-ops-to-nvvm.mlir
Log Message:
-----------
[mlir] lower min/maxnum to libdevice calls (#127323)
Introduce lowering from arith.minnum/maxxnum operations to the
corresponding Nvidia libdevice calls. This requires to reorder pattern
population methods so that the libdevice-targeting patterns are
prioritized over default patterns targeting LLVM IR intrinsics from the
Arith dialect. The tests are placed into a separate file as the existing
gpu-to-nvvm.mlir files has a mode that forces Arith dialect operations
to be preserved as is without using a separate FileCheck tag to
differentiate.
Co-authored-by: William Moses <gh at wsmoses.com>
Commit: ed48398431afa477fc57fcabb6ae1f7d94df6012
https://github.com/llvm/llvm-project/commit/ed48398431afa477fc57fcabb6ae1f7d94df6012
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libc/include/malloc.yaml
M libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Fill out generated malloc.h and related stdlib.h extensions (#127293)
This updates the generated stdlib.h and malloc.h headers to
include the subsets of extenion functions declared by glibc that
are also supported by Scudo and that use only simple types.
Scudo's extensions not declared by glibc are omitted. glibc's
extensions not implemented by Scudo are omitted. The mallinfo
and mallinfo2 functions are omitted (at least for now) since they
need struct definitions for their return types.
Commit: 3e3af861b4a48b90041fad7ab8e9bc17e8a0a602
https://github.com/llvm/llvm-project/commit/3e3af861b4a48b90041fad7ab8e9bc17e8a0a602
Author: vporpo <vporpodas at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Add MemDGNode::MemSuccs (#127253)
This patch adds Memory successors to the memory nodes of the DAG. This
will help maintain the memory dependencies when nodes get removed.
Commit: 2157aecfe429f763c23d0ec8a59b896799e2d031
https://github.com/llvm/llvm-project/commit/2157aecfe429f763c23d0ec8a59b896799e2d031
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/tests/expected_output/subdir/test.h
Log Message:
-----------
[libc] Produce standard-compliant header guard macros in hdrgen (#127356)
Macros starting with alphabetic characters such as "LLVM" are in
the application name space and cannot be defined or used by a
conforming implementation's headers. This fixes the headers that
are entirely generated, and the __llvm-libc-common.h header to
use a conforming macro name for the header guard. That is, it
starts with "_LLVM_LIBC_" instead of "LLVM_LIBC_", as identifiers
starting with an underscore followed by a capital letter are in
the name space reserved for the implementation.
The remaining headers either will be fixed implicitly by removal
of their custom template files, or will need to be fixed by hand.
Commit: c6d95c441a29a45782ff72d6cb82839b86fd0e4a
https://github.com/llvm/llvm-project/commit/c6d95c441a29a45782ff72d6cb82839b86fd0e4a
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-15 (Sat, 15 Feb 2025)
Changed paths:
M libcxx/src/iostream.cpp
A libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp
Log Message:
-----------
[libc++] Fix initialization-order-fiasco with iostream.cpp constructors (#126995)
Asan reports it after #124103.
It's know case of false positive for Asan.
https://github.com/google/sanitizers/wiki/AddressSanitizerInitializationOrderFiasco#false-positives
It's can be avoided with `constexpr` constructors.
In general order global constructors in different
modules is undefined. If global constructor uses
external global, they can be not constructed yet.
However, implementation may contain workaround for
that, or the state of non-constructed global can
be still valid.
Asan will still falsely report such cases, as it
has no machinery to detect correctness of such
cases.
We need to fix/workaround the issue in libc++, as
it will affect many libc++ with Asan users.
Commit: dbc98cfa46d52ede06e8be7fc5e855d807ba0fac
https://github.com/llvm/llvm-project/commit/dbc98cfa46d52ede06e8be7fc5e855d807ba0fac
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] [cmake] Fix per-target *_convert.cl dependencies (#127315)
Fix `add_libclc_builtin_set` to add an appropriate dependency to either
`clspv-generate_convert.cl` or `generate_convert.cl` based on the `ARCH`
argument, rather than to both unconditionally. This fixes build failures
due to missing dependencies when `clspv*` targets are not enabled.
The added check mirrors the one from `libclc/CMakeLists.txt`.
Fixes: #127378
Commit: 538b8f8008b95782ea1967284e22500c72aec67d
https://github.com/llvm/llvm-project/commit/538b8f8008b95782ea1967284e22500c72aec67d
Author: MagentaTreehouse <99200384+MagentaTreehouse at users.noreply.github.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/include/clang/AST/Redeclarable.h
Log Message:
-----------
[Clang] [NFC] Remove outdated FIXME (#126978)
Commit: a422bc773fab84e4e68dbfbe4e4859760eb1f67e
https://github.com/llvm/llvm-project/commit/a422bc773fab84e4e68dbfbe4e4859760eb1f67e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Test for trunc to i1 in foldSelectICmpAndBinOp. (NFC)
Commit: d64cf1998367cb7d0df398991808f3eed12f084f
https://github.com/llvm/llvm-project/commit/d64cf1998367cb7d0df398991808f3eed12f084f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
Log Message:
-----------
[clang][bytecode] Add Descriptor::dumpFull (#127386)
This is useful to print all (or most) of the valid offsets into a block
of the given descriptor.
Commit: e8d848824bbd76892a7b371a8409b0fb378a55a4
https://github.com/llvm/llvm-project/commit/e8d848824bbd76892a7b371a8409b0fb378a55a4
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Program.cpp
A clang/test/AST/ByteCode/allocate-arrays.cpp
Log Message:
-----------
[clang][bytecode] Fix dynamic array allocation return values (#127387)
We need to return a pointer to the first element, not the array itself.
Commit: dab9156923133b4ce3c40efcae4f80b0d720e72f
https://github.com/llvm/llvm-project/commit/dab9156923133b4ce3c40efcae4f80b0d720e72f
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/shaintrin.h
M clang/test/CodeGen/X86/amxavx512-builtins.c
M clang/test/CodeGen/X86/sha-builtins.c
Log Message:
-----------
[X86] Add missing explicit conversion for AMXAVX512 and SHA (#127385)
Address the X86 part of #126491
Commit: 29f3a352068ce562bcb65e18a676c82a9991583c
https://github.com/llvm/llvm-project/commit/29f3a352068ce562bcb65e18a676c82a9991583c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/test/Transforms/InstCombine/umax-icmp.ll
Log Message:
-----------
[InstCombine] Do not keep samesign when speculatively executing icmps (#127007)
Closes https://github.com/llvm/llvm-project/issues/126974.
Commit: 54f37133b7b05f82960f47bc980c4a1aaa7d04df
https://github.com/llvm/llvm-project/commit/54f37133b7b05f82960f47bc980c4a1aaa7d04df
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
A flang-rt/.clang-format
A flang-rt/cmake/config.h.cmake.in
A flang-rt/examples/ExternalHelloWorld/external-hello.cpp
A flang-rt/include/flang-rt/runtime/allocator-registry.h
A flang-rt/include/flang-rt/runtime/array-constructor.h
A flang-rt/include/flang-rt/runtime/assign-impl.h
A flang-rt/include/flang-rt/runtime/buffer.h
A flang-rt/include/flang-rt/runtime/connection.h
A flang-rt/include/flang-rt/runtime/derived.h
A flang-rt/include/flang-rt/runtime/descriptor.h
A flang-rt/include/flang-rt/runtime/emit-encoded.h
A flang-rt/include/flang-rt/runtime/environment.h
A flang-rt/include/flang-rt/runtime/file.h
A flang-rt/include/flang-rt/runtime/format-implementation.h
A flang-rt/include/flang-rt/runtime/format.h
A flang-rt/include/flang-rt/runtime/internal-unit.h
A flang-rt/include/flang-rt/runtime/io-error.h
A flang-rt/include/flang-rt/runtime/io-stmt.h
A flang-rt/include/flang-rt/runtime/lock.h
A flang-rt/include/flang-rt/runtime/memory.h
A flang-rt/include/flang-rt/runtime/namelist.h
A flang-rt/include/flang-rt/runtime/non-tbp-dio.h
A flang-rt/include/flang-rt/runtime/numeric-templates.h
A flang-rt/include/flang-rt/runtime/random-templates.h
A flang-rt/include/flang-rt/runtime/reduction-templates.h
A flang-rt/include/flang-rt/runtime/stat.h
A flang-rt/include/flang-rt/runtime/terminator.h
A flang-rt/include/flang-rt/runtime/tools.h
A flang-rt/include/flang-rt/runtime/type-code.h
A flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/utf.h
A flang-rt/lib/cuda/allocatable.cpp
A flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/descriptor.cpp
A flang-rt/lib/cuda/init.cpp
A flang-rt/lib/cuda/kernel.cpp
A flang-rt/lib/cuda/memmove-function.cpp
A flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/pointer.cpp
A flang-rt/lib/cuda/registration.cpp
A flang-rt/lib/quadmath/acos.cpp
A flang-rt/lib/quadmath/acosh.cpp
A flang-rt/lib/quadmath/asin.cpp
A flang-rt/lib/quadmath/asinh.cpp
A flang-rt/lib/quadmath/atan.cpp
A flang-rt/lib/quadmath/atan2.cpp
A flang-rt/lib/quadmath/atanh.cpp
A flang-rt/lib/quadmath/ceil.cpp
A flang-rt/lib/quadmath/complex-math.c
A flang-rt/lib/quadmath/complex-math.h
A flang-rt/lib/quadmath/cos.cpp
A flang-rt/lib/quadmath/cosh.cpp
A flang-rt/lib/quadmath/erf.cpp
A flang-rt/lib/quadmath/erfc.cpp
A flang-rt/lib/quadmath/exp.cpp
A flang-rt/lib/quadmath/exponent.cpp
A flang-rt/lib/quadmath/floor.cpp
A flang-rt/lib/quadmath/fma.cpp
A flang-rt/lib/quadmath/fraction.cpp
A flang-rt/lib/quadmath/hypot.cpp
A flang-rt/lib/quadmath/j0.cpp
A flang-rt/lib/quadmath/j1.cpp
A flang-rt/lib/quadmath/jn.cpp
A flang-rt/lib/quadmath/lgamma.cpp
A flang-rt/lib/quadmath/llround.cpp
A flang-rt/lib/quadmath/log.cpp
A flang-rt/lib/quadmath/log10.cpp
A flang-rt/lib/quadmath/lround.cpp
A flang-rt/lib/quadmath/math-entries.h
A flang-rt/lib/quadmath/mod-real.cpp
A flang-rt/lib/quadmath/modulo-real.cpp
A flang-rt/lib/quadmath/nearbyint.cpp
A flang-rt/lib/quadmath/nearest.cpp
A flang-rt/lib/quadmath/norm2.cpp
A flang-rt/lib/quadmath/numeric-template-specs.h
A flang-rt/lib/quadmath/pow.cpp
A flang-rt/lib/quadmath/random.cpp
A flang-rt/lib/quadmath/remainder.cpp
A flang-rt/lib/quadmath/round.cpp
A flang-rt/lib/quadmath/rrspacing.cpp
A flang-rt/lib/quadmath/scale.cpp
A flang-rt/lib/quadmath/set-exponent.cpp
A flang-rt/lib/quadmath/sin.cpp
A flang-rt/lib/quadmath/sinh.cpp
A flang-rt/lib/quadmath/spacing.cpp
A flang-rt/lib/quadmath/sqrt.cpp
A flang-rt/lib/quadmath/tan.cpp
A flang-rt/lib/quadmath/tanh.cpp
A flang-rt/lib/quadmath/tgamma.cpp
A flang-rt/lib/quadmath/trunc.cpp
A flang-rt/lib/quadmath/y0.cpp
A flang-rt/lib/quadmath/y1.cpp
A flang-rt/lib/quadmath/yn.cpp
A flang-rt/lib/runtime/ISO_Fortran_binding.cpp
A flang-rt/lib/runtime/ISO_Fortran_util.h
A flang-rt/lib/runtime/allocatable.cpp
A flang-rt/lib/runtime/allocator-registry.cpp
A flang-rt/lib/runtime/array-constructor.cpp
A flang-rt/lib/runtime/assign.cpp
A flang-rt/lib/runtime/buffer.cpp
A flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/command.cpp
A flang-rt/lib/runtime/complex-powi.cpp
A flang-rt/lib/runtime/complex-reduction.c
A flang-rt/lib/runtime/complex-reduction.h
A flang-rt/lib/runtime/connection.cpp
A flang-rt/lib/runtime/copy.cpp
A flang-rt/lib/runtime/copy.h
A flang-rt/lib/runtime/derived-api.cpp
A flang-rt/lib/runtime/derived.cpp
A flang-rt/lib/runtime/descriptor-io.cpp
A flang-rt/lib/runtime/descriptor-io.h
A flang-rt/lib/runtime/descriptor.cpp
A flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/edit-input.cpp
A flang-rt/lib/runtime/edit-input.h
A flang-rt/lib/runtime/edit-output.cpp
A flang-rt/lib/runtime/edit-output.h
A flang-rt/lib/runtime/environment-default-list.h
A flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/execute.cpp
A flang-rt/lib/runtime/extensions.cpp
A flang-rt/lib/runtime/external-unit.cpp
A flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/file.cpp
A flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/format.cpp
A flang-rt/lib/runtime/inquiry.cpp
A flang-rt/lib/runtime/internal-unit.cpp
A flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-api-minimal.cpp
A flang-rt/lib/runtime/io-api.cpp
A flang-rt/lib/runtime/io-error.cpp
A flang-rt/lib/runtime/io-stmt.cpp
A flang-rt/lib/runtime/iostat.cpp
A flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/memory.cpp
A flang-rt/lib/runtime/misc-intrinsic.cpp
A flang-rt/lib/runtime/namelist.cpp
A flang-rt/lib/runtime/non-tbp-dio.cpp
A flang-rt/lib/runtime/numeric.cpp
A flang-rt/lib/runtime/pointer.cpp
A flang-rt/lib/runtime/product.cpp
A flang-rt/lib/runtime/pseudo-unit.cpp
A flang-rt/lib/runtime/ragged.cpp
A flang-rt/lib/runtime/random.cpp
A flang-rt/lib/runtime/reduce.cpp
A flang-rt/lib/runtime/reduction.cpp
A flang-rt/lib/runtime/stack.h
A flang-rt/lib/runtime/stat.cpp
A flang-rt/lib/runtime/stop.cpp
A flang-rt/lib/runtime/sum.cpp
A flang-rt/lib/runtime/support.cpp
A flang-rt/lib/runtime/temporary-stack.cpp
A flang-rt/lib/runtime/terminator.cpp
A flang-rt/lib/runtime/time-intrinsic.cpp
A flang-rt/lib/runtime/tools.cpp
A flang-rt/lib/runtime/transformational.cpp
A flang-rt/lib/runtime/type-code.cpp
A flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/unit-map.cpp
A flang-rt/lib/runtime/unit-map.h
A flang-rt/lib/runtime/unit.cpp
A flang-rt/lib/runtime/unit.h
A flang-rt/lib/runtime/utf.cpp
A flang-rt/test/Driver/ctofortran.f90
A flang-rt/test/Driver/exec.f90
A flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/Evaluate/reshape.cpp
A flang-rt/unittests/Runtime/AccessTest.cpp
A flang-rt/unittests/Runtime/Allocatable.cpp
A flang-rt/unittests/Runtime/ArrayConstructor.cpp
A flang-rt/unittests/Runtime/BufferTest.cpp
A flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
A flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang-rt/unittests/Runtime/CUDA/Memory.cpp
A flang-rt/unittests/Runtime/CharacterTest.cpp
A flang-rt/unittests/Runtime/CommandTest.cpp
A flang-rt/unittests/Runtime/Complex.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.h
A flang-rt/unittests/Runtime/Derived.cpp
A flang-rt/unittests/Runtime/ExternalIOTest.cpp
A flang-rt/unittests/Runtime/Format.cpp
A flang-rt/unittests/Runtime/Inquiry.cpp
A flang-rt/unittests/Runtime/ListInputTest.cpp
A flang-rt/unittests/Runtime/LogicalFormatTest.cpp
A flang-rt/unittests/Runtime/Matmul.cpp
A flang-rt/unittests/Runtime/MatmulTranspose.cpp
A flang-rt/unittests/Runtime/MiscIntrinsic.cpp
A flang-rt/unittests/Runtime/Namelist.cpp
A flang-rt/unittests/Runtime/Numeric.cpp
A flang-rt/unittests/Runtime/NumericalFormatTest.cpp
A flang-rt/unittests/Runtime/Pointer.cpp
A flang-rt/unittests/Runtime/Ragged.cpp
A flang-rt/unittests/Runtime/Random.cpp
A flang-rt/unittests/Runtime/Reduction.cpp
A flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
A flang-rt/unittests/Runtime/Stop.cpp
A flang-rt/unittests/Runtime/Support.cpp
A flang-rt/unittests/Runtime/TemporaryStack.cpp
A flang-rt/unittests/Runtime/Time.cpp
A flang-rt/unittests/Runtime/Transformational.cpp
A flang-rt/unittests/Runtime/tools.h
M flang/CMakeLists.txt
M flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/examples/ExternalHelloWorld/external-hello.cpp
M flang/include/flang/Runtime/allocatable.h
R flang/include/flang/Runtime/allocator-registry.h
R flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/descriptor-consts.h
R flang/include/flang/Runtime/descriptor.h
R flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/pointer.h
R flang/include/flang/Runtime/type-code.h
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/CUDA/allocatable.cpp
R flang/runtime/CUDA/allocator.cpp
R flang/runtime/CUDA/descriptor.cpp
R flang/runtime/CUDA/init.cpp
R flang/runtime/CUDA/kernel.cpp
R flang/runtime/CUDA/memmove-function.cpp
R flang/runtime/CUDA/memory.cpp
R flang/runtime/CUDA/pointer.cpp
R flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
R flang/runtime/Float128Math/acos.cpp
R flang/runtime/Float128Math/acosh.cpp
R flang/runtime/Float128Math/asin.cpp
R flang/runtime/Float128Math/asinh.cpp
R flang/runtime/Float128Math/atan.cpp
R flang/runtime/Float128Math/atan2.cpp
R flang/runtime/Float128Math/atanh.cpp
R flang/runtime/Float128Math/ceil.cpp
R flang/runtime/Float128Math/complex-math.c
R flang/runtime/Float128Math/complex-math.h
R flang/runtime/Float128Math/cos.cpp
R flang/runtime/Float128Math/cosh.cpp
R flang/runtime/Float128Math/erf.cpp
R flang/runtime/Float128Math/erfc.cpp
R flang/runtime/Float128Math/exp.cpp
R flang/runtime/Float128Math/exponent.cpp
R flang/runtime/Float128Math/floor.cpp
R flang/runtime/Float128Math/fma.cpp
R flang/runtime/Float128Math/fraction.cpp
R flang/runtime/Float128Math/hypot.cpp
R flang/runtime/Float128Math/j0.cpp
R flang/runtime/Float128Math/j1.cpp
R flang/runtime/Float128Math/jn.cpp
R flang/runtime/Float128Math/lgamma.cpp
R flang/runtime/Float128Math/llround.cpp
R flang/runtime/Float128Math/log.cpp
R flang/runtime/Float128Math/log10.cpp
R flang/runtime/Float128Math/lround.cpp
R flang/runtime/Float128Math/math-entries.h
R flang/runtime/Float128Math/mod-real.cpp
R flang/runtime/Float128Math/modulo-real.cpp
R flang/runtime/Float128Math/nearbyint.cpp
R flang/runtime/Float128Math/nearest.cpp
R flang/runtime/Float128Math/norm2.cpp
R flang/runtime/Float128Math/numeric-template-specs.h
R flang/runtime/Float128Math/pow.cpp
R flang/runtime/Float128Math/random.cpp
R flang/runtime/Float128Math/remainder.cpp
R flang/runtime/Float128Math/round.cpp
R flang/runtime/Float128Math/rrspacing.cpp
R flang/runtime/Float128Math/scale.cpp
R flang/runtime/Float128Math/set-exponent.cpp
R flang/runtime/Float128Math/sin.cpp
R flang/runtime/Float128Math/sinh.cpp
R flang/runtime/Float128Math/spacing.cpp
R flang/runtime/Float128Math/sqrt.cpp
R flang/runtime/Float128Math/tan.cpp
R flang/runtime/Float128Math/tanh.cpp
R flang/runtime/Float128Math/tgamma.cpp
R flang/runtime/Float128Math/trunc.cpp
R flang/runtime/Float128Math/y0.cpp
R flang/runtime/Float128Math/y1.cpp
R flang/runtime/Float128Math/yn.cpp
R flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/ISO_Fortran_util.h
R flang/runtime/allocatable.cpp
R flang/runtime/allocator-registry.cpp
R flang/runtime/array-constructor.cpp
R flang/runtime/assign-impl.h
R flang/runtime/assign.cpp
R flang/runtime/buffer.cpp
R flang/runtime/buffer.h
R flang/runtime/character.cpp
R flang/runtime/command.cpp
R flang/runtime/complex-powi.cpp
R flang/runtime/complex-reduction.c
R flang/runtime/complex-reduction.h
R flang/runtime/config.h.cmake
R flang/runtime/connection.cpp
R flang/runtime/connection.h
R flang/runtime/copy.cpp
R flang/runtime/copy.h
R flang/runtime/derived-api.cpp
R flang/runtime/derived.cpp
R flang/runtime/derived.h
R flang/runtime/descriptor-io.cpp
R flang/runtime/descriptor-io.h
R flang/runtime/descriptor.cpp
R flang/runtime/dot-product.cpp
R flang/runtime/edit-input.cpp
R flang/runtime/edit-input.h
R flang/runtime/edit-output.cpp
R flang/runtime/edit-output.h
R flang/runtime/emit-encoded.h
R flang/runtime/environment-default-list.h
R flang/runtime/environment.cpp
R flang/runtime/environment.h
R flang/runtime/exceptions.cpp
R flang/runtime/execute.cpp
R flang/runtime/extensions.cpp
R flang/runtime/external-unit.cpp
R flang/runtime/extrema.cpp
R flang/runtime/file.cpp
R flang/runtime/file.h
R flang/runtime/findloc.cpp
R flang/runtime/format-implementation.h
R flang/runtime/format.cpp
R flang/runtime/format.h
R flang/runtime/inquiry.cpp
R flang/runtime/internal-unit.cpp
R flang/runtime/internal-unit.h
R flang/runtime/io-api-common.h
R flang/runtime/io-api-minimal.cpp
R flang/runtime/io-api.cpp
R flang/runtime/io-error.cpp
R flang/runtime/io-error.h
R flang/runtime/io-stmt.cpp
R flang/runtime/io-stmt.h
R flang/runtime/iostat.cpp
R flang/runtime/lock.h
R flang/runtime/main.cpp
R flang/runtime/matmul-transpose.cpp
R flang/runtime/matmul.cpp
R flang/runtime/memory.cpp
R flang/runtime/misc-intrinsic.cpp
R flang/runtime/namelist.cpp
R flang/runtime/namelist.h
R flang/runtime/non-tbp-dio.cpp
R flang/runtime/non-tbp-dio.h
R flang/runtime/numeric-templates.h
R flang/runtime/numeric.cpp
R flang/runtime/pointer.cpp
R flang/runtime/product.cpp
R flang/runtime/pseudo-unit.cpp
R flang/runtime/ragged.cpp
R flang/runtime/random-templates.h
R flang/runtime/random.cpp
R flang/runtime/reduce.cpp
R flang/runtime/reduction-templates.h
R flang/runtime/reduction.cpp
R flang/runtime/stack.h
R flang/runtime/stat.cpp
R flang/runtime/stat.h
R flang/runtime/stop.cpp
R flang/runtime/sum.cpp
R flang/runtime/support.cpp
R flang/runtime/temporary-stack.cpp
R flang/runtime/terminator.cpp
R flang/runtime/terminator.h
R flang/runtime/time-intrinsic.cpp
R flang/runtime/tools.cpp
R flang/runtime/tools.h
R flang/runtime/transformational.cpp
R flang/runtime/type-code.cpp
R flang/runtime/type-info.cpp
R flang/runtime/type-info.h
R flang/runtime/unit-map.cpp
R flang/runtime/unit-map.h
R flang/runtime/unit.cpp
R flang/runtime/unit.h
R flang/runtime/utf.cpp
R flang/runtime/utf.h
R flang/test/Driver/ctofortran.f90
R flang/test/Driver/exec.f90
R flang/test/Runtime/no-cpp-dep.c
M flang/unittests/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
R flang/unittests/Evaluate/reshape.cpp
R flang/unittests/Runtime/AccessTest.cpp
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Allocatable.cpp
R flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Memory.cpp
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/Support.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
Log Message:
-----------
[Flang][NFC] Move runtime library files to flang-rt (#110298)
Mostly mechanical changes in preparation of extracting the Flang-RT
"subproject" in #110217. This PR intends to only move pre-existing files
to the new folder structure, with no behavioral change. Common files
(headers, testing, cmake) shared by Flang-RT and Flang remain in
`flang/`.
Some cosmetic changes and files paths were necessary:
* Relative paths to the new path for the source files and
`add_subdirectory`.
* Add the new location's include directory to `include_directories`
* The unittest/Evaluate directory has unitests for flang-rt and Flang. A
new `CMakeLists.txt` was introduced for the flang-rt tests.
* Change the `#include` paths relative to the include directive
* clang-format on the `#include` directives
* Since the paths are part if the copyright header and include guards, a
script was used to canonicalize those
* `test/Runtime` and runtime tests in `test/Driver` are moved, but the
lit.cfg.py mechanism to execute the will only be added in #110217.
Commit: a1120c9b797a8af57022d6840ded8e9f6c5057eb
https://github.com/llvm/llvm-project/commit/a1120c9b797a8af57022d6840ded8e9f6c5057eb
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/iglp-no-clobber.ll
Log Message:
-----------
[AMDGPU] NFC: Fix some details for lit test (#127141)
Addressed comments in https://github.com/llvm/llvm-project/pull/126976
Commit: 8ac5d2d1805ecb70b683531b602ac3d288351e97
https://github.com/llvm/llvm-project/commit/8ac5d2d1805ecb70b683531b602ac3d288351e97
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: test edge-cases of makeAllowedICmpRegion (#127080)
Exhaustively test signed-unsigned min-max edge-cases of
makeAllowedICmpRegion.
Commit: 81c85ea30f7bd962e5306a02525ba22afa42b7c7
https://github.com/llvm/llvm-project/commit/81c85ea30f7bd962e5306a02525ba22afa42b7c7
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M flang-rt/lib/runtime/io-api-minimal.cpp
Log Message:
-----------
[flang-rt] Fix aarch64-libcxx build failure
There seems to be multiple declarations of __libcpp_verbose_abort, some
with noexcept and some without. Reverting to the previous
forward-declaration (without noexcept) which seemes to have worked
before.
Commit: 9c4ef23126728562b8717cf404bdbbdeea1aa72e
https://github.com/llvm/llvm-project/commit/9c4ef23126728562b8717cf404bdbbdeea1aa72e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test foldSelectICmpAnd with extra uses. (NFC)
Commit: 552e4659d3f935b8896a1350856781417bcbdcde
https://github.com/llvm/llvm-project/commit/552e4659d3f935b8896a1350856781417bcbdcde
Author: GS-GOAT <86884129+GS-GOAT at users.noreply.github.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Clang][NFCI] Fix a logic issue in TransformDesignatedInitExpr (#127211)
It was clearly a typo regarding whether the array index expression has changed in its transforming.
This doesn't appear to be a functional change in practice, so no test case or release note provided.
Fixes #126113
Commit: 79d8a34bc5c0a261b9e9f77c1d4480ef135481ac
https://github.com/llvm/llvm-project/commit/79d8a34bc5c0a261b9e9f77c1d4480ef135481ac
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Dialect/Math/ops.mlir
Log Message:
-----------
[mlir] add some FP classification ops and their lowering to libdevice (#127322)
Introduce a subset of floating point classification ops to the Math
dialect. These ops mirror functions provided by the C math library and,
similarly to the existing `math.copysign`, belong to the math dialect.
Add a lowering of those ops to Nvidia libdevice calls when possible as
the first mechanism to exercise them.
Commit: c01c3cf7d75ce23c165224b5470b9132f53e95c2
https://github.com/llvm/llvm-project/commit/c01c3cf7d75ce23c165224b5470b9132f53e95c2
Author: hstk30-hw <hanwei62 at huawei.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/test/MC/ARM/diagnostics.s
Log Message:
-----------
[ARM] Fix MRC cp10 and cp11 warning (#126407)
The MRC format is
MRC GPRwithAPSR:$Rt, p_imm:$cop, imm0_7:$opc1,
c_imm:$CRn, c_imm:$CRm, 0, pred:$p
The $cop is the second operand.
Patch for
https://github.com/llvm/llvm-project/commit/b7d41a11cd31388e8b542b2d881f5c9d7130b95e.
Commit: 17d508f30d897e7392e48885850c9595546e342c
https://github.com/llvm/llvm-project/commit/17d508f30d897e7392e48885850c9595546e342c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test foldSelectICmpAnd with cast. (NFC)
Commit: b55f7512a76f2358000139074c79d4c2521588de
https://github.com/llvm/llvm-project/commit/b55f7512a76f2358000139074c79d4c2521588de
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
A flang-rt/.clang-tidy
A flang-rt/CMakeLists.txt
A flang-rt/CODE_OWNERS.TXT
A flang-rt/LICENSE.TXT
A flang-rt/README.md
M flang-rt/cmake/config.h.cmake.in
A flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/AddFlangRTOffload.cmake
A flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/examples/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
A flang-rt/lib/CMakeLists.txt
A flang-rt/lib/Testing/CMakeLists.txt
A flang-rt/lib/cuda/CMakeLists.txt
A flang-rt/lib/quadmath/CMakeLists.txt
A flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/test/CMakeLists.txt
M flang-rt/test/Driver/ctofortran.f90
M flang-rt/test/Driver/exec.f90
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
M flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/Evaluate/CMakeLists.txt
A flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
M flang/CMakeLists.txt
A flang/cmake/modules/FlangCommon.cmake
M flang/docs/GettingStarted.md
M flang/docs/ReleaseNotes.md
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M llvm/CMakeLists.txt
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/projects/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[Flang] LLVM_ENABLE_RUNTIMES=flang-rt (#110217)
Extract Flang's runtime library to use the LLVM_ENABLE_RUNTIME
mechanism. It will only become active when
`LLVM_ENABLE_RUNTIMES=flang-rt` is used, which also changes the
`FLANG_INCLUDE_RUNTIME` to `OFF` so the old runtime build rules do not
conflict. This also means that unless `LLVM_ENABLE_RUNTIMES=flang-rt` is
passed, nothing changes with the current build process.
Motivation:
* Consistency with LLVM's other runtime libraries (compiler-rt, libc,
libcxx, openmp offload, ...)
* Allows compiling the runtime for multiple targets at once using the
LLVM_RUNTIME_TARGETS configuration options
* Installs the runtime into the compiler's per-target resource directory
so it can be automatically found even when cross-compiling
Also see RFC discussion at
https://discourse.llvm.org/t/rfc-use-llvm-enable-runtimes-for-flangs-runtime/80826
Commit: 9f6b7b4e5f792bc5167a3bcfab400160cc1803ed
https://github.com/llvm/llvm-project/commit/9f6b7b4e5f792bc5167a3bcfab400160cc1803ed
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
Log Message:
-----------
[analyzer] StackAddrEscapeChecker: also check return for child stack frames (#126986)
Fixes #123459.
This changes checking of the returned expr to also look for memory
regions whose stack frame context was a child of the current stack frame
context, e.g., for cases like this given in #123459:
```
struct S { int *p; };
S f() {
S s;
{
int a = 1;
s.p = &a;
}
return s;
}
```
Commit: 1c87e4739f487aea1fbafa06b92ec1a1c011c6f2
https://github.com/llvm/llvm-project/commit/1c87e4739f487aea1fbafa06b92ec1a1c011c6f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/AST/ExternalASTMerger.cpp
Log Message:
-----------
[AST] Avoid repeated map lookups (NFC) (#127369)
Commit: 0bae0bf8ba73bd0201c58a6cfd6d9f54aaf39ca2
https://github.com/llvm/llvm-project/commit/0bae0bf8ba73bd0201c58a6cfd6d9f54aaf39ca2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated hash lookups (NFC) (#127370)
Commit: 8d752467e0e023f9b2dc83ca1829f75024f0440d
https://github.com/llvm/llvm-project/commit/8d752467e0e023f9b2dc83ca1829f75024f0440d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127371)
Commit: 03235540558c869841cf016ebd7e1aeb7eb341b0
https://github.com/llvm/llvm-project/commit/03235540558c869841cf016ebd7e1aeb7eb341b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Log Message:
-----------
[GlobalISel] Avoid repeated hash lookups (NFC) (#127372)
Commit: e81f7ca63738d04c9f3f2a4542832d6f510e65bc
https://github.com/llvm/llvm-project/commit/e81f7ca63738d04c9f3f2a4542832d6f510e65bc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
Log Message:
-----------
[TableGen] Avoid repeated hash lookups (NFC) (#127373)
Commit: ec880b1450c5b9526d6310d1a66cf3a5297551de
https://github.com/llvm/llvm-project/commit/ec880b1450c5b9526d6310d1a66cf3a5297551de
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86LowerAMXType.cpp
Log Message:
-----------
[X86] Avoid repeated map lookups (NFC) (#127374)
Commit: d235b72178adc710bf704078fbe0cd687642f3e0
https://github.com/llvm/llvm-project/commit/d235b72178adc710bf704078fbe0cd687642f3e0
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/warn-unreachable.cpp
Log Message:
-----------
Reapply "[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression" (#127338)
This PR reapply https://github.com/llvm/llvm-project/pull/117437.
The issue has been fixed by the 2nd commit, we need to ignore parens in
CXXDefaultArgExpr when build CFG, because CXXDefaultArgExpr::getExpr
stripped off the top level FullExpr and ConstantExpr, ParenExpr may
occurres in the top level.
---------
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: 6812fc02fbb81d679f95d5c3e15768ae11e1bad8
https://github.com/llvm/llvm-project/commit/6812fc02fbb81d679f95d5c3e15768ae11e1bad8
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/lib/Dialect/Affine/Transforms/LoopUnrollAndJam.cpp
M mlir/test/Dialect/Affine/unroll-jam.mlir
Log Message:
-----------
[mlir][affine] make affine-loop-unroll-jam interface pass (#127402)
Made affine-loop-unroll-jam an interface pass, so it can run on the gpu
module.
Commit: 6e94007623ca9d98d090fe04491f21ec72a5d0d4
https://github.com/llvm/llvm-project/commit/6e94007623ca9d98d090fe04491f21ec72a5d0d4
Author: Yeaseen <yeaseen.arafat96 at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-storebytesmerge.ll
M llvm/test/CodeGen/AArch64/br-to-eh-lpad.ll
M llvm/test/CodeGen/AArch64/br-undef-cond.ll
M llvm/test/CodeGen/AArch64/gep-nullptr.ll
M llvm/test/CodeGen/AArch64/machine-sink-getmemoperandwithoffset.mir
M llvm/test/CodeGen/AArch64/madd-combiner.ll
M llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
M llvm/test/CodeGen/AArch64/shrink-wrap.ll
M llvm/test/CodeGen/AArch64/tail-call-unused-zext.ll
M llvm/test/CodeGen/AArch64/tailcall-ssp-split-debug.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
Log Message:
-----------
[llvm] Remove `br i1 undef` in some `llvm/test/CodeGen` tests (#127368)
This PR replaces some instances of `br i1 undef` with function argument
value in several tests under `llvm/test/CodeGen/ `directory. This PR is
a continuation of PR #125460
Commit: e080366a76b78a746c53caccf84661b109ccbc20
https://github.com/llvm/llvm-project/commit/e080366a76b78a746c53caccf84661b109ccbc20
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
Log Message:
-----------
[LAA] Inline hasComputableBounds in only caller, simplify isNoWrap.
Inline hasComputableBounds into createCheckForAccess. This removes a
level of indirection and allows for passing the AddRec directly to
isNoWrap, removing the need to retrieve the AddRec for the pointer
again.
The early continue for invariant SCEVs now also applies to forked
pointers (i.e. when there's more than one entry in TranslatedPtrs) when
ShouldCheckWrap is true, as those trivially won't wrap.
The change is NFC otherwise. replaceSymbolicStrideSCEV is now called
earlier.
Commit: f5d63ccb22bf98ec28785fea432fc5a19b1913c4
https://github.com/llvm/llvm-project/commit/f5d63ccb22bf98ec28785fea432fc5a19b1913c4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/test/Transforms/LICM/hoist-speculatable-load.ll
Log Message:
-----------
[LICM] Add test with deref assumption of GEP.
Commit: c22d84f7bb58005638b24f976582acf62a56d19d
https://github.com/llvm/llvm-project/commit/c22d84f7bb58005638b24f976582acf62a56d19d
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
Log Message:
-----------
[ELF] Refine ctx.arg.exportDynamic condition
--export-dynamic should be a no-op when ctx.hasDynsym is false.
* Drop unneeded ctx.hasDynsym checks.
* Static linking with --export-dynamic does not prevent devirtualization.
Commit: 627387722469a358a80d77488509fb23d890d402
https://github.com/llvm/llvm-project/commit/627387722469a358a80d77488509fb23d890d402
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M lld/CMakeLists.txt
M lld/cmake/modules/AddLLD.cmake
Log Message:
-----------
[lld] enable installing lld headers and libraries as part of distribution (#127123)
This patch allows `lld-headers` and `lld-libraries` in
`LLVM_DISTRIBUTION_COMPONENTS` to be specified and thus enable piecewise
installation of `lld/**/*.h` headers and/or lld libraries (both in
shared and static builds).
This is similar to use cases such as
`clang;clang-headers;clang-libraries`. Note when `lld-libraries` is
present, `llvm-libraries` must be present as well because various lld
libraries depend on various llvm libraries.
Commit: b4f91b007fa4df0923b92c88103dab37c576150b
https://github.com/llvm/llvm-project/commit/b4f91b007fa4df0923b92c88103dab37c576150b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use IRBuilder::insert to insert VPWidenRecipe (NFC).
Commit: f75126eeabba13ce2aab53c2e4296fca12b9da0d
https://github.com/llvm/llvm-project/commit/f75126eeabba13ce2aab53c2e4296fca12b9da0d
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/freebsd.cpp
Log Message:
-----------
[FreeBSD] Support -stdlib=libstdc++
The experimental-library-flag.cpp test was failing on FreeBSD builders,
which turned to be caused by missing support for -stdlib=libcstdc++ (and
just using a hardcoded libc++ in all cases).
Simplify FreeBSD::AddCXXStdlibLibArgs() by deferring to the parent class
and dealing with the FreeSBD < 14 profiling support as a special case.
While touching the test file also drop the unnecessary `-o %t.o`. This is
not needed since the RUN lines use -### and don't produce any output.
Reviewed By: DimitryAndric, MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/126302
Commit: 7817045e5c5cfbcbf3428ace7a4b3bfb5281a641
https://github.com/llvm/llvm-project/commit/7817045e5c5cfbcbf3428ace7a4b3bfb5281a641
Author: dong-miao <miaozhendong24 at mails.ucas.ac.cn>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/test/MC/RISCV/rv32-hypervisor-csr-names.s
M llvm/test/MC/RISCV/rv32-machine-csr-names.s
M llvm/test/MC/RISCV/rv32-only-csr-names.s
Log Message:
-----------
[RISCV] Support [mh]edelegh CSRs (#121634)
These RV32-only CSRs are defined in privileged spec v1.13.
Commit: 01b7e65c9197d64531133c5890f076de6c1ae793
https://github.com/llvm/llvm-project/commit/01b7e65c9197d64531133c5890f076de6c1ae793
Author: Alex Richardson <alexrichardson at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/FreeBSD.cpp
Log Message:
-----------
[FreeBSD] Fix comparison in f75126eeabba13ce2aab53c2e4296fca12b9da0d
We have to compare the string contents and not the const char* pointer.
This happened to work in my testing but is not reliable.
Commit: d150101160b7d518e1329abb578c4ca4d4224621
https://github.com/llvm/llvm-project/commit/d150101160b7d518e1329abb578c4ca4d4224621
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
Log Message:
-----------
[Hexagon] Use MCRegister. NFC
Commit: 26fc2e90fc54313bfe3e0e1fbbb14251ed8afe29
https://github.com/llvm/llvm-project/commit/26fc2e90fc54313bfe3e0e1fbbb14251ed8afe29
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
Log Message:
-----------
[Mips] Use MCRegisterClass::getRegister() instead of begin()+RegNo. NFC
Commit: a7a02083acf39b9f1ad7edec3b7e344afc6cac49
https://github.com/llvm/llvm-project/commit/a7a02083acf39b9f1ad7edec3b7e344afc6cac49
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M flang/include/flang/Support/LangOptions.h
Log Message:
-----------
[flang] Assert the Options fit into the storage bits (#126169)
Commit: ecb7f5aaeed2de738a79f1bb78b2196718007176
https://github.com/llvm/llvm-project/commit/ecb7f5aaeed2de738a79f1bb78b2196718007176
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
Log Message:
-----------
[mlir][linalg] Update docs for `linalg.generic`(NFC) (#127178)
The mixed tensor/buffer semantics has been disallowed in #80660. Closes
#124090.
Commit: 9e8cd733c2643c92807a23b9b65099d9bb6bc560
https://github.com/llvm/llvm-project/commit/9e8cd733c2643c92807a23b9b65099d9bb6bc560
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
M llvm/lib/Target/Mips/MipsTargetStreamer.h
Log Message:
-----------
[Mips] Use MCRegister. NFC
Use id() to get rid of some implicit conversions.
Commit: 69f3e003bfef75d28af09e2822cb5750fa45c38d
https://github.com/llvm/llvm-project/commit/69f3e003bfef75d28af09e2822cb5750fa45c38d
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
M mlir/lib/Analysis/FlatLinearValueConstraints.cpp
Log Message:
-----------
[MLIR] NFC. Refactor IntegerRelation getSliceBounds (#127308)
Refactor FlatLinearConstraints getSliceBounds. The method was too long
and nested. NFC.
Commit: 885382f4379b3b8060213606a8f7bd8a1750f33a
https://github.com/llvm/llvm-project/commit/885382f4379b3b8060213606a8f7bd8a1750f33a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating braces (#127306)
Fixes #107616.
Commit: 5d62a79bb79fee20f92f26dc55fd78440b9945ca
https://github.com/llvm/llvm-project/commit/5d62a79bb79fee20f92f26dc55fd78440b9945ca
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Remove getMacroID (#127413)
The last use was removed in:
commit ee977933f7df9cef13cc06ac7fa3e4a22b72e41f
Author: Richard Smith <richard-llvm at metafoo.co.uk>
Date: Fri May 1 21:22:17 2015 +0000
Commit: 9b7282e545d5e47315e3ffb9e5e00d0fb547c8e3
https://github.com/llvm/llvm-project/commit/9b7282e545d5e47315e3ffb9e5e00d0fb547c8e3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Recognize de-interleave shuffles with 2 sources. (#127272)
We can use vnsrl+trunc on each source and concatenate the results
with vslideup.
For low LMUL it would be better to concat first, but I'm leaving
this for later.
Commit: c3cae9d6fccc96297e832a09f5230346ef4c42f3
https://github.com/llvm/llvm-project/commit/c3cae9d6fccc96297e832a09f5230346ef4c42f3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
A clang/test/AST/ByteCode/non-const-local-temporary.cpp
Log Message:
-----------
[clang][bytecode] Fix const-ness of local primitive temporary (#127405)
This used to cause certain std::range tests in libc++ to be diagnosed as
modifying a const-qualified field, because we set the IsConst flag to
true unconditionally. Check the type instead.
Commit: 06a3abd9e85d89a3b2b1b5024b328d1047d40c2a
https://github.com/llvm/llvm-project/commit/06a3abd9e85d89a3b2b1b5024b328d1047d40c2a
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 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/SIFormMemoryClauses.cpp
A llvm/lib/Target/AMDGPU/SIFormMemoryClauses.h
M llvm/test/CodeGen/AMDGPU/limit-soft-clause-reg-pressure.mir
M llvm/test/CodeGen/AMDGPU/memory_clause.mir
M llvm/test/CodeGen/AMDGPU/reserved-reg-in-clause.mir
M llvm/test/CodeGen/AMDGPU/smem-no-clause-coalesced.mir
M llvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
Log Message:
-----------
[AMDGPU][NewPM] Port "SIFormMemoryClauses" to NPM (#127181)
Commit: f1627e1a9e2482106ba2ea3bcd22ecaff257950d
https://github.com/llvm/llvm-project/commit/f1627e1a9e2482106ba2ea3bcd22ecaff257950d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R clang/test/AST/ByteCode/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
R clang/test/AST/ByteCode/non-const-local-temporary.cpp
Log Message:
-----------
[clang][bytecode][NFC] Move reduced libcxx tests to a subdir (#127438)
Commit: 02d4aac55cdd1760ba9cda4aa512fe1a0240bf86
https://github.com/llvm/llvm-project/commit/02d4aac55cdd1760ba9cda4aa512fe1a0240bf86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[AMDGPU] Remove materializeImmediate (#127420)
The lase use was removed in:
commit cbf34a5f7701148d68951320a72f483849b22eaf
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: Fri Aug 23 14:06:17 2024 +0200
Commit: 36f8c8b43836775c3d9d8da63b97d984b19853d1
https://github.com/llvm/llvm-project/commit/36f8c8b43836775c3d9d8da63b97d984b19853d1
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix rejecting non-constexpr array ctors (#127448)
We shouldn't abort here when compiling, this is happening (and properly
diagnosed) when interpreting the bytecode.
Commit: de06978ebcff5f75913067b019d2d522d0be0872
https://github.com/llvm/llvm-project/commit/de06978ebcff5f75913067b019d2d522d0be0872
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127445)
Commit: 86d82228a58071a68d7ac450af18eadd641f3477
https://github.com/llvm/llvm-project/commit/86d82228a58071a68d7ac450af18eadd641f3477
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-16 (Sun, 16 Feb 2025)
Changed paths:
M llvm/tools/dsymutil/BinaryHolder.cpp
Log Message:
-----------
[dsymutil] Avoid repeated hash lookups (NFC) (#127449)
Commit: 153dd19e3057169e6935027ffbc84b62b392aa35
https://github.com/llvm/llvm-project/commit/153dd19e3057169e6935027ffbc84b62b392aa35
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
Log Message:
-----------
[SelectionDAG] Remove lowerCallToExternalSymbol (#127408)
The last use was removed in:
commit 05e6bb40ebfd285cc87f7ce326b7ba76c3c7f870
Author: Roger Ferrer Ibáñez <rofirrim at gmail.com>
Date: Thu May 30 14:55:32 2024 +0200
Commit: b16ce8fc24f32aa0614562de0a2d0916118398fb
https://github.com/llvm/llvm-project/commit/b16ce8fc24f32aa0614562de0a2d0916118398fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-3.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.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
Log Message:
-----------
[X86] getFauxShuffleMask - match 256-bit CONCAT(SUB0, SUB1) 64-bit elt patterns as well as 512-bit (#127392)
The 512-bit filter was to prevent AVX1/2 regressions, but most of that is now handled by canonicalizeShuffleWithOp
Ideally we need to support smaller element widths as well.
Noticed while triaging #116931
Commit: 6684a5970e74b8b4c0c83361a90e25dae9646db0
https://github.com/llvm/llvm-project/commit/6684a5970e74b8b4c0c83361a90e25dae9646db0
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
Log Message:
-----------
[analyzer][NFC] Trivial cleanup in ArrayBoundChecker (#126941)
Two small stylistic improvements in code that I wrote ~a year ago:
1. fix a typo in a comment; and
2. simplify the code of `tryDividePair` by swapping the true and the
false branches.
Commit: 94585dc59de23c52274fc542df7b821c7e6bb326
https://github.com/llvm/llvm-project/commit/94585dc59de23c52274fc542df7b821c7e6bb326
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
Log Message:
-----------
[X86] Add test coverage for #116931
Commit: 948a8477c6a966ee8509400d2857706e933f4149
https://github.com/llvm/llvm-project/commit/948a8477c6a966ee8509400d2857706e933f4149
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/extend-shuffles.ll
M llvm/test/CodeGen/WebAssembly/int-mac-reduction-loops.ll
Log Message:
-----------
[WebAssembly] Recognise EXTEND_HIGH (#123325)
When lowering EXTEND_VECTOR_INREG, check whether the operand is a
shuffle that is moving the top half of a vector into the lower half. If
so, we can EXTEND_HIGH the input to the shuffle instead.
Commit: ea7897a617b897f87f148db48cda9fcc7c1c53dc
https://github.com/llvm/llvm-project/commit/ea7897a617b897f87f148db48cda9fcc7c1c53dc
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
A llvm/test/CodeGen/WebAssembly/interleave.ll
Log Message:
-----------
[WebAssembly] Enable interleaved memory accesses (#125696)
Enable the vectorizer to access interleaved memory. This means that,
when it's decided to be profitable, the memory accesses can be
vectorized instead of the value being built up by a sequence of
load_lane instructions. This will often increase the vectorization
factor of the loop, leading to significantly better performance.
I run a reasonably large collection of benchmarks and most are not
affected by this change, with most performance changes <1%. But I see a
2.5% speedup for the total run time of TSVC, 1% speedup for SPEC2017
x265, 28% speedup for a ResNet workload and 95% for libyuv. This is
running V8 on an AArch64 box.
Commit: e0545b5c6d54dcf3e3ef84cbf9695bb1aecd87db
https://github.com/llvm/llvm-project/commit/e0545b5c6d54dcf3e3ef84cbf9695bb1aecd87db
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Remove getGuaranteedWellDefinedOps (#127453)
The last use was removed in:
commit ac9e67756e0157793d565c2cceaf82e4403f58ba
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: Mon Feb 26 01:53:16 2024 +0800
Commit: b9c6d3ed26789c33fc7f959198e4459ec4e1d3ac
https://github.com/llvm/llvm-project/commit/b9c6d3ed26789c33fc7f959198e4459ec4e1d3ac
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang-linker-wrapper] Avoid repeated hash lookups (NFC) (#127443)
Commit: ff4e21fccc439085f6381076a2ac7d9fa371ab29
https://github.com/llvm/llvm-project/commit/ff4e21fccc439085f6381076a2ac7d9fa371ab29
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
Log Message:
-----------
[clang-tidy] Avoid repeated hash lookups (NFC) (#127444)
Commit: fb14638817004dc96c9401d7f704d7e5cd0ef3fc
https://github.com/llvm/llvm-project/commit/fb14638817004dc96c9401d7f704d7e5cd0ef3fc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#127446)
Commit: d49776634e3c4bd62649e8e0fc0ff44951413c69
https://github.com/llvm/llvm-project/commit/d49776634e3c4bd62649e8e0fc0ff44951413c69
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
Log Message:
-----------
[Hexagon] Avoid repeated map lookups (NFC) (#127447)
Commit: 82dc2d403066a84ef0051b06f1d179e00331f319
https://github.com/llvm/llvm-project/commit/82dc2d403066a84ef0051b06f1d179e00331f319
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
[clang][Modules] Remove a resloved issue from StandardCPlusPlusModules.rst
The issue has been fixed in https://github.com/llvm/llvm-project/pull/122726
Commit: 262e4c19878175780c88da867e88fc4e202d4788
https://github.com/llvm/llvm-project/commit/262e4c19878175780c88da867e88fc4e202d4788
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/docs/StandardCPlusPlusModules.rst
Log Message:
-----------
Revert "[clang][Modules] Remove a resloved issue from StandardCPlusPlusModules.rst"
This reverts commit 82dc2d403066a84ef0051b06f1d179e00331f319.
The fix has been reverted in f63e8ed16ef1fd2deb80cd88b5ca9d5b631b1c36
Commit: e0e67a62076ad56f48c64a7cd2ebf5754b8326b7
https://github.com/llvm/llvm-project/commit/e0e67a62076ad56f48c64a7cd2ebf5754b8326b7
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-struct-return.ll
A llvm/test/Transforms/LoopVectorize/AArch64/struct-return-cost.ll
M llvm/test/Transforms/LoopVectorize/struct-return.ll
A llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
Log Message:
-----------
[LV] Add initial support for vectorizing literal struct return values (#109833)
This patch adds initial support for vectorizing literal struct return
values. Currently, this is limited to the case where the struct is
homogeneous (all elements have the same type) and not packed. The users
of the call also must all be `extractvalue` instructions.
The intended use case for this is vectorizing intrinsics such as:
```
declare { float, float } @llvm.sincos.f32(float %x)
```
Mapping them to structure-returning library calls such as:
```
declare { <4 x float>, <4 x float> } @Sleef_sincosf4_u10advsimd(<4 x float>)
```
Or their widened form (such as `@llvm.sincos.v4f32` in this case).
Implementing this required two main changes:
1. Supporting widening `extractvalue`
2. Adding support for vectorized struct types in LV
* This is mostly limited to parts of the cost model and scalarization
Since the supported use case is narrow, the required changes are
relatively small.
Commit: c1a229252617ed58f943bf3f4698bd8204ee0f04
https://github.com/llvm/llvm-project/commit/c1a229252617ed58f943bf3f4698bd8204ee0f04
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Passes/Pipelines.cpp
M mlir/include/mlir/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.h
M mlir/include/mlir/Conversion/AffineToStandard/AffineToStandard.h
M mlir/include/mlir/Conversion/ArithToSPIRV/ArithToSPIRV.h
M mlir/include/mlir/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.h
M mlir/include/mlir/Conversion/ArmSMEToSCF/ArmSMEToSCF.h
M mlir/include/mlir/Conversion/BufferizationToMemRef/BufferizationToMemRef.h
M mlir/include/mlir/Conversion/ComplexToLibm/ComplexToLibm.h
M mlir/include/mlir/Conversion/ComplexToStandard/ComplexToStandard.h
M mlir/include/mlir/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.h
M mlir/include/mlir/Conversion/ConvertToLLVM/ToLLVMPass.h
M mlir/include/mlir/Conversion/FuncToSPIRV/FuncToSPIRVPass.h
M mlir/include/mlir/Conversion/LinalgToStandard/LinalgToStandard.h
M mlir/include/mlir/Conversion/MathToLibm/MathToLibm.h
M mlir/include/mlir/Conversion/MathToSPIRV/MathToSPIRVPass.h
M mlir/include/mlir/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.h
M mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
M mlir/include/mlir/Conversion/OpenACCToSCF/ConvertOpenACCToSCF.h
M mlir/include/mlir/Conversion/PDLToPDLInterp/PDLToPDLInterp.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.h
M mlir/include/mlir/Conversion/SCFToControlFlow/SCFToControlFlow.h
M mlir/include/mlir/Conversion/SCFToGPU/SCFToGPUPass.h
M mlir/include/mlir/Conversion/ShapeToStandard/ShapeToStandard.h
M mlir/include/mlir/Conversion/TensorToLinalg/TensorToLinalgPass.h
M mlir/include/mlir/Conversion/TensorToSPIRV/TensorToSPIRVPass.h
M mlir/include/mlir/Conversion/TosaToArith/TosaToArith.h
M mlir/include/mlir/Conversion/TosaToSCF/TosaToSCF.h
M mlir/include/mlir/Conversion/TosaToTensor/TosaToTensor.h
M mlir/include/mlir/Conversion/VectorToArmSME/VectorToArmSME.h
M mlir/include/mlir/Conversion/VectorToSPIRV/VectorToSPIRVPass.h
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/AffineToStandard/AffineToStandard.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Conversion/ComplexToLibm/ComplexToLibm.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ConvertToLLVMPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/LinalgToStandard/LinalgToStandard.cpp
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Conversion/MathToSPIRV/MathToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/OpenACCToSCF/OpenACCToSCF.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PDLToPDLInterp.cpp
M mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
M mlir/lib/Conversion/ShapeToStandard/ConvertShapeConstraints.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TensorToLinalg/TensorToLinalgPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
M mlir/lib/Conversion/TosaToSCF/TosaToSCFPass.cpp
M mlir/lib/Conversion/TosaToTensor/TosaToTensorPass.cpp
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSMEPass.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRVPass.cpp
M mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
M mlir/lib/Rewrite/FrozenRewritePatternSet.cpp
M mlir/test/lib/Dialect/ArmSME/TestLowerToArmSME.cpp
M mlir/test/lib/Dialect/LLVM/TestLowerToLLVM.cpp
Log Message:
-----------
[MLIR][NFC] Retire `let constructor` for passes in Conversion directory (part1) (#127403)
`let constructor` is deprecated since the table gen backend emits most
of the glue logic to build a pass. This PR retires the td method for
most (I need another pass) passes in the Conversion directory.
Commit: 501c77da6024959438c92f33bd997fe6f39e6b6c
https://github.com/llvm/llvm-project/commit/501c77da6024959438c92f33bd997fe6f39e6b6c
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
A lld/test/ELF/arm-thumb-jump8-11.s
Log Message:
-----------
[LLD][ELF][ARM] Fix resolution of R_ARM_THM_JUMP8 and R_ARM_THM_JUMP11 for big endian (#126933)
These relocations apply to 16-bit Thumb instructions, so reading 16 bits
rather than 32 bits ensures the correct bits are masked and written
back. This fixes the incorrect masking and aligns the relocation logic
with the instruction encoding.
Before this patch, 32 bits were read from the ELF object. This did not
align with the instruction size of 16 bits, but the masking incidentally
made it all work nonetheless. However, this was the case only in little
endian.
In big endian mode, the read 32-bit word had to have its bytes reversed.
With this byte reordering, the masking would be applied to the wrong
bits, hence causing the incorrect encoding to be produced as a result of
the relocation resolution.
The added test checks the result for both little and big endian modes.
Commit: f378e52ed3c6f8da4973f97f1ef043c2eb0da721
https://github.com/llvm/llvm-project/commit/f378e52ed3c6f8da4973f97f1ef043c2eb0da721
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Analysis/LiveVariables.cpp
M clang/test/Analysis/live-stmts.cpp
Log Message:
-----------
[clang][analysis] Fix flaky clang/test/Analysis/live-stmts.cpp test (2nd attempt) (#127406)
In my previous attempt (#126913) of fixing the flaky case was on a good
track when I used the begin locations as a stable ordering. However, I
forgot to consider the case when the begin locations are the same among
the Exprs.
In an `EXPENSIVE_CHECKS` build, arrays are randomly shuffled prior to
sorting them. This exposed the flaky behavior much more often basically
breaking the "stability" of the vector - as it should.
Because of this, I had to revert the previous fix attempt in #127034.
To fix this, I use this time `Expr::getID` for a stable ID for an Expr.
Hopefully fixes #126619
Hopefully fixes #126804
Commit: b3028295e741159e5014c126cd74988785fe8bdb
https://github.com/llvm/llvm-project/commit/b3028295e741159e5014c126cd74988785fe8bdb
Author: josel-amd <jose.lopes at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConstantFold.cpp
Log Message:
-----------
[mlir][linalg] Remove `computeStaticLoopSizes` (#124778)
`computeStaticLoopSizes()` is functionally identical to `getStaticLoopRanges()`.
Replace all uses of `computeStaticLoopSizes()` by `getStaticLoopRanges()` and remove the former.
Commit: f09fd94d6b40a80e18093fdfc7d9b199210f69fd
https://github.com/llvm/llvm-project/commit/f09fd94d6b40a80e18093fdfc7d9b199210f69fd
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Program.h
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
Log Message:
-----------
[clang][bytecode] Restructure Program::CurrentDeclaration handling (#127456)
Properly reset to the last ID and return the current ID from
getCurrentDecl().
Commit: 9d24f943794420e512512eb9329341355e9289f8
https://github.com/llvm/llvm-project/commit/9d24f943794420e512512eb9329341355e9289f8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineConcatVectorOps - remove duplicate DAG.getContext() call. NFC.
Commit: 517800e37e8d3a4ee84214bef65e227612c2a98b
https://github.com/llvm/llvm-project/commit/517800e37e8d3a4ee84214bef65e227612c2a98b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
A mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/TilingInterfaceImpl.h
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/include/mlir/Dialect/Tensor/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Tensor/IR/Tensor.h
R mlir/include/mlir/Dialect/Tensor/IR/TensorInterfaces.td
M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
M mlir/include/mlir/Dialect/Tensor/TransformOps/TensorTransformOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BlockPackMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
A mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
M mlir/lib/Dialect/Tensor/IR/TensorDialect.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/TransformOps/TensorTransformOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Tensor/Transforms/EmptyOpPatterns.cpp
R mlir/lib/Dialect/Tensor/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/block-pack-matmul-layout.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul-padding.mlir
M mlir/test/Dialect/Linalg/block-pack-matmul.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
M mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/fold-empty-op.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/named-ops.mlir
A mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Linalg/td/decompose-pack.mlir
M mlir/test/Dialect/Linalg/td/decompose-unpack.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Linalg/transform-op-pack.mlir
A mlir/test/Dialect/Linalg/transform-op-tile-pack-unpack.mlir
M mlir/test/Dialect/Linalg/transform-pack-greedily.mlir
M mlir/test/Dialect/Linalg/transform-tile-and-fuse-pack-unpack.mlir
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-empty-op.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
M mlir/test/Dialect/Tensor/invalid.mlir
M mlir/test/Dialect/Tensor/ops.mlir
R mlir/test/Dialect/Tensor/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/tiling.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/pack-scalable-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-dynamic-inner-tile.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/unpack-dynamic-inner-tile.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-using-interface.mlir
M mlir/test/Transforms/loop-invariant-code-motion.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
Log Message:
-----------
[mlir][tensor][linalg] Move Pack/UnPack Ops to Linalg (#123902)
Moves `PackOp` and `UnPackOp` from the Tensor dialect to Linalg. This change
was discussed in the following RFC:
* https://discourse.llvm.org/t/rfc-move-tensor-pack-and-tensor-unpack-into-linalg
This change involves significant churn but only relocates existing code - no new
functionality is added.
**Note for Downstream Users**
Downstream users must update references to `PackOp` and `UnPackOp` as follows:
* Code: `s/tensor::(Up)PackOp/linalg::(Un)PackOp/g`
* Tests: `s/tensor.(un)pack/linalg.(un)pack/g`
No other modifications should be required.
Commit: 02c44ce6c6b2ec595e863a2cc8eacbe11c579d7c
https://github.com/llvm/llvm-project/commit/02c44ce6c6b2ec595e863a2cc8eacbe11c579d7c
Author: Jonas Paulsson <paulson1 at linux.ibm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
Log Message:
-----------
Reformat reglists in SystemZMCTargetDesc.cpp (NFC) (#127472)
Commit: 837b89fc0fc6d0ae7f68e835789ee62580314dcc
https://github.com/llvm/llvm-project/commit/837b89fc0fc6d0ae7f68e835789ee62580314dcc
Author: Guray Ozen <guray.ozen at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
M mlir/lib/Dialect/GPU/Transforms/NVVMAttachTarget.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
A mlir/test/Dialect/GPU/nvvm-attach-target.mlir
A mlir/test/Integration/GPU/CUDA/command-line-arg.mlir
Log Message:
-----------
[MLIR][NVVM] Add `ptxas-cmd-options` to pass flags to the downstream compiler (#127457)
This PR adds `cmd-options` to the `gpu-lower-to-nvvm-pipeline` pipeline
and the `nvvm-attach-target` pass, allowing users to pass flags to the
downstream compiler, *ptxas*.
Example:
```
mlir-opt -gpu-lower-to-nvvm-pipeline="cubin-chip=sm_80 ptxas-cmd-options='-v --register-usage-level=8'"
```
Commit: a177be5528337575ee1b7079958d4250b2eb749f
https://github.com/llvm/llvm-project/commit/a177be5528337575ee1b7079958d4250b2eb749f
Author: gdehame <145553531+gdehame at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
Log Message:
-----------
[mlir][Linalg] Bugfix in decompose generic by unfolding permutation (#126737)
The pattern was returning success() by default which made the greedy
pattern application act as if the IR was modified and even though
nothing was changed and thus it can prevent it from converging for no
legitimate reason.
The patch makes the rewrite pattern return failure() by default and
success() if and only if the IR changed.
An example of unexpected behavior is by running `mlir-opt input.mlir
--linalg-specialize-generic-ops`, we obtain an empty mlir as output with
`input.mlir` as follows:
```
#map = affine_map<(d0) -> (d0)>
func.func @f(%arg0: tensor<8xi32>, %arg1: tensor<8xi32>) -> tensor<8xi32> {
%0 = tensor.empty() : tensor<8xi32>
%1 = linalg.generic {indexing_maps = [#map, #map, #map], iterator_types = ["parallel"]} ins(%arg0, %arg1: tensor<8xi32>, tensor<8xi32>) outs(%0: tensor<8xi32>) {
^bb0(%in: i32, %in_0: i32, %out: i32):
%2 = arith.addi %in, %in_0: i32
linalg.yield %2: i32
} -> tensor<8xi32>
return %1 : tensor<8xi32>
}
```
Commit: 80b08d1bb803a2ee0af7ae5661dc8f2444d97a41
https://github.com/llvm/llvm-project/commit/80b08d1bb803a2ee0af7ae5661dc8f2444d97a41
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSchedule.td
A llvm/test/TableGen/PerWriteCycleCount.td
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[TableGen] Add support for per-write cycle tunables (#125870)
This patch adds support for describing per-write resource cycle counts
for ReadAdvance records via a new optional field called `tunables`.
This makes it possible to declare ReadAdvance records such as:
def : ReadAdvance<Read_C, 1, [Write_A, Write_B], [2]>;
The above will effectively declare two entries in the ReadAdvance
table for Read_C, one for Write_A with a cycle count of 1+2, and one for
Write_B with a cycle count of 1+0 (omitted values are assumed 0).
The field `tunables` provides a list of deltas relative to the base
`cycle` count of the ReadAdvance. Since the field is optional and
defaults to a list of 0's, this change doesn't affect current targets.
Commit: 43d308dd0d9ef18d35ea6dcc9283fcbc93066820
https://github.com/llvm/llvm-project/commit/43d308dd0d9ef18d35ea6dcc9283fcbc93066820
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M compiler-rt/lib/builtins/arm/negdf2vfp.S
Log Message:
-----------
[compiler-rt] Add support for big endian for Arm's __negdf2vfp (#127096)
In soft floating-point ABI, this function takes the double argument as a
pair of registers r0 and r1.
The ordering of these two registers follow the endianness rules,
therefore the register on which the bit flipping must happen depends on
the endianness.
Commit: 4c4fc4650fa66361f19f8c8b60768987fe48a90f
https://github.com/llvm/llvm-project/commit/4c4fc4650fa66361f19f8c8b60768987fe48a90f
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/cmake/modules/AddFlangRTOffload.cmake
M flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
M flang-rt/lib/cuda/CMakeLists.txt
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/test/CMakeLists.txt
M flang-rt/test/lit.cfg.py
M flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
Log Message:
-----------
[Flang-RT] Build libflang_rt.so (#121782)
Under non-Windows platforms, also create a dynamic library version of
the runtime. Build of either version of the library can be switched on
using FLANG_RT_ENABLE_STATIC=ON respectively FLANG_RT_ENABLE_SHARED=ON.
Default is to build only the static library, consistent with previous
behaviour. This is because the way the flang driver invokes the linker,
most linkers choose the dynamic library by default, if available.
Building the dynamic library therefore causes flang-built executables to
depend on `libflang_rt.so`, unless explicitly told otherwise.
Commit: 9c9157b25662cedd63426f02cdbde7853454b38e
https://github.com/llvm/llvm-project/commit/9c9157b25662cedd63426f02cdbde7853454b38e
Author: Dinu Blanovschi <git at dnbln.dev>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
Log Message:
-----------
Fix typo in LangImpl03.rst (#127389)
Commit: 8eba128b2dac8e405b663ef602f85469c3d6edb8
https://github.com/llvm/llvm-project/commit/8eba128b2dac8e405b663ef602f85469c3d6edb8
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/IR/ConstantRange.cpp
M llvm/unittests/IR/ConstantRangeTest.cpp
Log Message:
-----------
ConstRange: exhaustively test makeExactICmpRegion (#127058)
Exhaustively test makeExactICmpRegion by comparing makeAllowedICmpRegion
against makeSatisfyingICmpRegion for all APInts.
Commit: 81a8b2004508a47f733bd8d1c063f7333577cf59
https://github.com/llvm/llvm-project/commit/81a8b2004508a47f733bd8d1c063f7333577cf59
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
Log Message:
-----------
[SystemZ][z/OS] Define _XOPEN_SOURCE=600 for dlopen (#127254)
On z/OS, dlopen is guarded by _XOPEN_SOURCE=600 so define it when
checking for the symbol.
Commit: f4206f92c5f900a4e0fc0f6dcab6afb6865df1e9
https://github.com/llvm/llvm-project/commit/f4206f92c5f900a4e0fc0f6dcab6afb6865df1e9
Author: Yuriy Chernyshov <thegeorg at yandex-team.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libunwind/src/Unwind-wasm.c
Log Message:
-----------
[libunwind] Silence -Wunused-parameter warnings in Unwind-wasm.c (#125412)
Commit: 9c49b188b8e1434eb774ee8422124ad3e8870dce
https://github.com/llvm/llvm-project/commit/9c49b188b8e1434eb774ee8422124ad3e8870dce
Author: Haojian Wu <hokein.wu at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
Log Message:
-----------
[clang] Fix false positive regression for lifetime analysis warning. (#127460)
This fixes a false positive caused by #114044.
For `GSLPointer*` types, it's less clear whether the lifetime issue is
about the GSLPointer object itself or the owner it points to. To avoid
false positives, we take a conservative approach in our heuristic.
Fixes #127195
(This will be backported to release 20).
Commit: 949e4041c9927a68a39bf42c71bc73728919505f
https://github.com/llvm/llvm-project/commit/949e4041c9927a68a39bf42c71bc73728919505f
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Add watchOS and tvOS checks for aligned_alloc (#126862)
Adds the equivalent watchOS and tvOS version checks to check for support
for aligned_alloc, we already have macOS and iOS checks.
Commit: d25becaa2079b19e475902ca712cad5df3e660ee
https://github.com/llvm/llvm-project/commit/d25becaa2079b19e475902ca712cad5df3e660ee
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/docs/PassManagement.md
Log Message:
-----------
[MLIR][Doc] Update the pass infra doc to advise against `let constructor = ` (NFC)
We should avoid specifying it manually and instead rely on TableGen, see also
cleanups in #127403
Commit: 18ea6c928088cf9ad2a990bfcca546c608825a7f
https://github.com/llvm/llvm-project/commit/18ea6c928088cf9ad2a990bfcca546c608825a7f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
Log Message:
-----------
AMDGPU: Stop emitting an error on illegal addrspacecasts (#127487)
These cannot be static compile errors, and should be treated as
poison. Invalid casts may be introduced which are dynamically dead.
For example:
```
void foo(volatile generic int* x) {
__builtin_assume(is_shared(x));
*x = 4;
}
void bar() {
private int y;
foo(&y); // violation, wrong address space
}
```
This could produce a compile time backend error or not depending on
the optimization level. Similarly, the new test demonstrates a failure
on a lowered atomicrmw which required inserting runtime address
space checks. The invalid cases are dynamically dead, we should not
error, and the AtomicExpand pass shouldn't have to consider the details
of the incoming pointer to produce valid IR.
This should go to the release branch. This fixes broken -O0 compiles
with 64-bit atomics which would have started failing in
1d0370872f28ec9965448f33db1b105addaf64ae.
Commit: 4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7
https://github.com/llvm/llvm-project/commit/4e41e9ac4c6fd1cb7f3aa3a42725727aff5aadd7
Author: Longsheng Mou <moulongsheng at huawei.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/docs/PatternRewriter.md
M mlir/lib/Reducer/ReductionTreePass.cpp
Log Message:
-----------
[mlir] Update docs for Greedy Pattern Rewrite Driver(NFC) (#126701)
The `applyOpPatternsAndFold` is deprecated, use
`applyOpPatternsGreedily` instead.
Commit: 919e72f2513d57fc2105f6e3477c13eb1f0c6cba
https://github.com/llvm/llvm-project/commit/919e72f2513d57fc2105f6e3477c13eb1f0c6cba
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
Log Message:
-----------
[flang][OpenMP] Support `bind` clause for `teams loop` (#127021)
Extends generic `loop` directive support by supporting the `bind`
clause. Since semantic checking does the heavy lifting of verifying the
proper usage of the clause modifier, we can simply enable code-gen for
`teams loop bind(...)` without the need to differentiate between the
values the the clause can accept.
Commit: 9d487050a144b895950a6fd48b993513a714e69d
https://github.com/llvm/llvm-project/commit/9d487050a144b895950a6fd48b993513a714e69d
Author: flovent <144676429+flovent at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
A clang/test/Analysis/issue-124474.cpp
Log Message:
-----------
[clang][analyzer] Teach the BlockInCriticalSectionChecker about O_NONBLOCK streams (#127049)
this PR close #124474
when calling `read` and `recv` function for a non-block file descriptor
or a invalid file descriptor(`-1`), it will not cause block inside a
critical section.
this commit checks for non-block file descriptor assigned by `open`
function with `O_NONBLOCK` flag.
---------
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: ab2d330feab3e1d9927a3c0de1a9d6e9bda5abe9
https://github.com/llvm/llvm-project/commit/ab2d330feab3e1d9927a3c0de1a9d6e9bda5abe9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
TableGen: Generate reverseComposeSubRegIndices (#127050)
This is necessary to enable composing subregisters in peephole-opt.
For now use a brute force table to find the return value. The worst
case target is AMDGPU with a 399 x 399 entry table.
Commit: fb29f19fdb0b2b3c8c87cc767482d941818e92a8
https://github.com/llvm/llvm-project/commit/fb29f19fdb0b2b3c8c87cc767482d941818e92a8
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Synchronize status pages with Github issues list
Commit: ec544035227bd88e3622b85ba70499cb0e62b2bc
https://github.com/llvm/llvm-project/commit/ec544035227bd88e3622b85ba70499cb0e62b2bc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Synchronize a few remaining status page rows with Github issues
Commit: 788cb725d8b92a82e41e64540dccca97c9086a58
https://github.com/llvm/llvm-project/commit/788cb725d8b92a82e41e64540dccca97c9086a58
Author: Brian Cain <brian.cain at oss.qualcomm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
A llvm/test/CodeGen/Hexagon/iss127296.ll
Log Message:
-----------
[Hexagon] Explicitly truncate constant in UAddSubO (#127360)
After #117558 landed, this code would assert "Value is not an N-bit
unsigned value" in getConstant(), from a test case in zig.
Co-authored-by: Craig Topper <craig.topper at sifive.com>
Fixes #127296
Commit: 6c627831f9a4ba5d9680cc83d610c1894a84908a
https://github.com/llvm/llvm-project/commit/6c627831f9a4ba5d9680cc83d610c1894a84908a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/test/Transforms/LoopVectorize/outer-loop-wide-phis.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Use VPlan predecessors in VPWidenPHIRecipe (NFC). (#126388)
Update VPWidenPHIRecipe to use the predecessors in VPlan to determine
the incoming blocks instead of tracking them separately. This brings
VPWidenPHIRecipe in line with the other phi recipes.
PR: https://github.com/llvm/llvm-project/pull/126388
Commit: c5ea469f4dafe4c310ba26511575afda3569b0b5
https://github.com/llvm/llvm-project/commit/c5ea469f4dafe4c310ba26511575afda3569b0b5
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-depend-host-only.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-host-only.mlir
Log Message:
-----------
[OMPIRBuilder] - Fix emitTargetTaskProxyFunc to not generate empty functions (#126958)
This is a fix for https://github.com/llvm/llvm-project/issues/126949
There are two issues being fixed here.
First, in some cases, OMPIRBuilder generates empty target task proxy functions. This happens
when the target kernel doesn't use any stack-allocated data (either no data or only globals).
The second problem is encountered when the target task i.e the code that makes the target call
spans a single basic block. This usually happens when we do not generate a target or device kernel
launch and instead fall back to the host. In such cases, we end up not outlining the target task entirely.
This can cause us to call target kernel twice - once via the target task proxy function and a second time
via the host fallback
This PR fixes both of these problems and updates some tests to catch these problems should this patch fail.
Commit: d29045622a1db3cd3729c1fe3fba7eebd5536517
https://github.com/llvm/llvm-project/commit/d29045622a1db3cd3729c1fe3fba7eebd5536517
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/widen_bitcnt.ll
Log Message:
-----------
[X86] combineConcatVectorOps - fold concat(EXTEND_VECTOR_INREG(x),EXTEND_VECTOR_INREG(y)) -> EXTEND_VECTOR_INREG(unpack(x,y)) (#127502)
Concat/unpack the src subvectors together in the bottom 128-bit vector and then extend with a single EXTEND/EXTEND_VECTOR_INREG instruction
Required the getEXTEND_VECTOR_INREG helper to be tweaked to accept EXTEND_VECTOR_INREG opcodes as well to avoid us having to remap the opcode between both types.
Commit: 8aff59d3f4e53751b23cd3bc22a74f8677c57d7d
https://github.com/llvm/llvm-project/commit/8aff59d3f4e53751b23cd3bc22a74f8677c57d7d
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
Log Message:
-----------
[NFC][AMDGPU] Auto generate check lines for three test cases (#127352)
- `CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll`
- `CodeGen/AMDGPU/call-preserved-registers.ll`
- `CodeGen/AMDGPU/stack-realign.ll`
This is to make preparation for another PR.
Commit: 6a3007683bf2fa05989c12c787f5547788d09178
https://github.com/llvm/llvm-project/commit/6a3007683bf2fa05989c12c787f5547788d09178
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[Analysis] Remove getGuaranteedNonPoisonOps (#127461)
commit 0517772b4ac20c5d3a0de0d4703354a179833248
Author: Philip Reames <preames at rivosinc.com>
Date: Thu Dec 19 14:14:11 2024 -0800
Commit: 6d86a8a1a12856955aba5e06a6552ddafaaa208f
https://github.com/llvm/llvm-project/commit/6d86a8a1a12856955aba5e06a6552ddafaaa208f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
LAA: scope responsibility of isNoWrapAddRec (NFC) (#127479)
Free isNoWrapAddRec from the AddRec check, and rename it to isNoWrapGEP.
Commit: 15c2d1b328433d2c26327e072059c8960469d378
https://github.com/llvm/llvm-project/commit/15c2d1b328433d2c26327e072059c8960469d378
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix dependencies on generated convert builtins (#127515)
In #127378 it was reported that builds without clspv targets enabled
were failing after #124727, as all targets had a dependency on a file
that only clspv targets generated.
A quick fix was merged in #127315 which wasn't correct. It moved the
dependency on those generated files to the spirv targets, instead of
onto the clspv targets. This means a build with spirv targets and
without clspv targets would see the same problems as #127378 reported.
I tried simply removing the requirement to explicitly add dependencies
to the custom command, relying instead on the file-level dependencies.
This didn't seem reliable enough; in some cases on a Makefiles build,
the clang command compiling (e.g.,) convert.cl would begin before the
file was fully written.
Instead, we keep the target-level dependency but automatically infer it
based on the generated file name, to avoid manual book-keeping of pairs
of files and targets.
This commit also fixes what looks like an unintended bug where, when
ENABLE_RUNTIME_SUBNORMAL was enabled, the OpenCL conversions weren't
being compiled.
Commit: 2dda529838e622e7a79b1e26d2899f319fd7e379
https://github.com/llvm/llvm-project/commit/2dda529838e622e7a79b1e26d2899f319fd7e379
Author: Marius Kamp <msk at posteo.org>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/shift-const-ne-0.ll
Log Message:
-----------
[AArch64] Fix Fold of Compare with Right-shifted Value (#127209)
This change folds (setcc ne (lshr x c) 0) for 64-bit types and constants
c >= 32. This fold already existed for other types or smaller constants
but was not applicable to 64-bit types and constants >= 32 due to a
comparison of the constant c with the bit size of the setcc operation.
The type of this operation is legalized to i32, which does not
necessarily match the type of the lshr operation. Use the bit size of
the type of the lshr operation instead for the comparison.
Fixes #122380.
Commit: 85f7ec12b86494f98f1ea28e51b38d52f2aecc8b
https://github.com/llvm/llvm-project/commit/85f7ec12b86494f98f1ea28e51b38d52f2aecc8b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Remove unneeded unmasked patterns for vcpop_v and riscv_vfirst_vl. (#127435)
The pseudos had RISCVMaskedPseudo add in #115162 so I we are able to convert the
masked form to unmasked form automatically.
Commit: 62254f6615e453ee576a39557e4fc9ddb84965c2
https://github.com/llvm/llvm-project/commit/62254f6615e453ee576a39557e4fc9ddb84965c2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R llvm/lib/Target/ARC/ARCTargetStreamer.h
A llvm/lib/Target/ARC/MCTargetDesc/ARCTargetStreamer.h
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
R llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
A llvm/lib/Target/Hexagon/MCTargetDesc/HexagonTargetStreamer.h
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.h
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
R llvm/lib/Target/Mips/MipsTargetStreamer.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
A llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
R llvm/lib/Target/PowerPC/PPCTargetStreamer.h
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
R llvm/lib/Target/SystemZ/SystemZTargetStreamer.h
A llvm/lib/Target/XCore/MCTargetDesc/XCoreTargetStreamer.h
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
R llvm/lib/Target/XCore/XCoreTargetStreamer.h
Log Message:
-----------
[Targets] Move *TargetStreamer.h files into their MCTargetDesc directory. (#127433)
These files are included from MCTargetDesc so should be there instead of in
the main directory for the target.
Commit: 74656476b860be93ccaac12b62d81679166207fd
https://github.com/llvm/llvm-project/commit/74656476b860be93ccaac12b62d81679166207fd
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/inline-asm-vector-avx512.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/mask-compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/rsqrt.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/vp2intersect-i32.mlir
Log Message:
-----------
[mlir][x86vector] Fix integration tests lowering (#124934)
Fixes MLIR lowering passes in x86vector integration tests.
The tests are refactored with lowering pass bundle which ensures that all
dialect are lowered into LLVM dialect.
This simplifies the test pipelines and addresses missing arith lowering.
Commit: 941f7cbf5a3e7aa9f36b002dc22cfdb4ff50fea8
https://github.com/llvm/llvm-project/commit/941f7cbf5a3e7aa9f36b002dc22cfdb4ff50fea8
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/include/__chrono/time_zone.h
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
Log Message:
-----------
[libc++][TZDB] Fixes mapping of nonexisting time. (#127330)
All non-existing local times in a contiguous range should map to the
same time point. This fixes a bug, were the times inside the range were
mapped to the wrong time.
Fixes: #113654
Commit: eaa460ca499bec0547393bae7c18b128c2926839
https://github.com/llvm/llvm-project/commit/eaa460ca499bec0547393bae7c18b128c2926839
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
Log Message:
-----------
[AMDGPU] Remove dead function metadata after amdgpu-lower-kernel-arguments (#126147)
The verifier ensures function !dbg metadata is unique across the module,
so ensure the old nameless function we leave behind doesn't violate
this invariant.
Removing the function via e.g. eraseFromParent seems like a better
option, but doesn't seem to be legal from a FunctionPass.
Commit: 29ca3b8b28cb42ee796f40fe40f5f9ddc1ea2f42
https://github.com/llvm/llvm-project/commit/29ca3b8b28cb42ee796f40fe40f5f9ddc1ea2f42
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
Log Message:
-----------
[AMDGPU] Push amdgpu-preload-kern-arg-prolog after livedebugvalues (#126148)
This is effectively a workaround for a bug in livedebugvalues, but seems
to potentially be a general improvement, as BB sections seems like it
could ruin the special 256-byte prelude scheme that
amdgpu-preload-kern-arg-prolog requires anyway. Moving it even later
doesn't seem to have any material impact, and just adds livedebugvalues
to the list of things which no longer have to deal with pseudo
multiple-entry functions.
AMDGPU debug-info isn't supported upstream yet, so the bug being avoided
isn't testable here. I am posting the patch upstream to avoid an
unnecessary diff with AMD's fork.
Commit: 0d2722c20d75b237524dd4ec87a1d3da707ec96e
https://github.com/llvm/llvm-project/commit/0d2722c20d75b237524dd4ec87a1d3da707ec96e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libc/docs/gpu/building.rst
Log Message:
-----------
[libc][Docs] Add proper 'offload' build to use libc with offload
Summary:
Since this was added the offloading target now requires `offload`.
Fixes: https://github.com/llvm/llvm-project/issues/127458
Commit: 15944056aa5c1ab2c777dd2e3b4f19b8a1f1403d
https://github.com/llvm/llvm-project/commit/15944056aa5c1ab2c777dd2e3b4f19b8a1f1403d
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/COFF/Writer.h
A lld/test/COFF/arm64x-crt-sec.s
Log Message:
-----------
[LLD][COFF] Split native and EC .CRT chunks on ARM64X (#127203)
Commit: f0e39c45df2075ac338bc06b595079da8466b695
https://github.com/llvm/llvm-project/commit/f0e39c45df2075ac338bc06b595079da8466b695
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add aliases for processors apple-a18/s6..10. (#127152)
apple-a18 is an alias of apple-m4.
apple-s6/s7/s8 are aliases of apple-a13.
apple-s9/s10 are aliases of apple-a16.
As with some other aliases today, this reflects identical ISA feature
support, but not necessarily identical microarchitectures and
performance characteristics.
Commit: 6fde8fe9adc835df50ea57b710781ffe8a6657e8
https://github.com/llvm/llvm-project/commit/6fde8fe9adc835df50ea57b710781ffe8a6657e8
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
Log Message:
-----------
[lldb] Provide default impl for MightHaveChildren (NFC) (#119977)
The vast majority of `SyntheticChildrenFrontEnd` subclasses provide
children, and as such implement `MightHaveChildren` with a constant
value of `true`. This change makes `true` the default value. With this
change, `MightHaveChildren` only needs to be implemented by synthetic
providers that can return `false`, which is only 3 subclasses.
Commit: 83e180cb70266545f03a3449e4de0c3725fdfa55
https://github.com/llvm/llvm-project/commit/83e180cb70266545f03a3449e4de0c3725fdfa55
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
M compiler-rt/lib/profile/InstrProfilingFile.c
Log Message:
-----------
[Clang][PGO] Fix profile function visibility bug (#127257)
This pull request fixes an issue that was introduced in #93365.
`__llvm_write_custom_profile` visibility was causing issues on Darwin.
This function needs to be publicly accessible in order to be accessed by
libomptarget, so this pull request makes `__llvm_write_custom_profile`
an explicitly exported symbol on Darwin. Tested on M3 and X86 macs.
Commit: f5c5bc5ed57e63fe11ddd58c4b392f27b86730f1
https://github.com/llvm/llvm-project/commit/f5c5bc5ed57e63fe11ddd58c4b392f27b86730f1
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
Log Message:
-----------
[CodeGen][ObjC] Invalidate cached ObjC class layout information after parsing ObjC class implementations if new ivars are added to the interface (#126591)
The layout and the size of an ObjC interface can change after its
corresponding implementation is parsed when synthesized ivars or ivars
declared in categories are added to the interface's list of ivars. This
can cause clang to mis-compile if the optimization that emits fixed
offsets for ivars (see 923ddf65f4e21ec67018cf56e823895de18d83bc) uses an
ObjC class layout that is outdated and no longer reflects the current
state of the class.
For example, when compiling `constant-non-fragile-ivar-offset.m`, clang
emits 20 instead of 24 as the offset for `IntermediateClass2Property` as
the class layout for `SuperClass2`, which is created when the
implementation of IntermediateClass3 is parsed, is outdated when the
implementation of `IntermediateClass2` is parsed.
This commit invalidates the stale layout information of the class and
its subclasses if new ivars are added to the interface.
With this change, we can also stop using ObjC implementation decls as
the key to retrieve ObjC class layouts information as the layout
retrieved using the ObjC interface as the key will always be up to date.
rdar://139531391
Commit: 3fa85c7cce3047ae0fc54874c2bf8340e8c4803c
https://github.com/llvm/llvm-project/commit/3fa85c7cce3047ae0fc54874c2bf8340e8c4803c
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/Status/Cxx20Issues.csv
Log Message:
-----------
[libc++] Document that libc++ does not and will never implement the Networking TS (#127508)
There has been discussion around this a few times already, and there
seemed to be consensus that we would never pursue an implementation of
the Networking TS. This patch solidifies that discussion by documenting
it and closing issues related to the Networking TS.
Closes #103799
Closes #100223
Closes #100228
Closes #100231
Closes #100232
Commit: a7a356833df81b605ecaa3b0a7391da68805b680
https://github.com/llvm/llvm-project/commit/a7a356833df81b605ecaa3b0a7391da68805b680
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[NFC][Clang][CodeGen] Remove vestigial assertion (#127528)
This removes a vestigial assertion, which would erroneously trigger even
though we now correctly handle valid arg mismatches
(<https://github.com/llvm/llvm-project/blob/2dda529838e622e7a79b1e26d2899f319fd7e379/clang/lib/CodeGen/CGCall.cpp#L5397>),
after #114062 went in.
Commit: 9a584b07d7c29cec65bb446782c4ddddaf72e6d8
https://github.com/llvm/llvm-project/commit/9a584b07d7c29cec65bb446782c4ddddaf72e6d8
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/nvptxintrin.h
M libc/src/__support/GPU/utils.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
Log Message:
-----------
[Clang] Add handlers for 'match_any' and 'match_all' to `gpuintrin.h` (#127504)
Summary:
These helpers are very useful but currently absent. They allow the user
to get a bitmask representing the matches within the warp. I have made
an executive decision to drop the `predicate` return from `match_all`
because it's easily testable with `match_all() == __activemask()`.
Commit: a8b177aa6048e3dc278f63f4bc79e2c199ecd722
https://github.com/llvm/llvm-project/commit/a8b177aa6048e3dc278f63f4bc79e2c199ecd722
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Remove unneeded hasNoOverflow call (NFC).
The function already calls hasNoOverflow above.
Commit: a92bfaa7d92180c3c88b2c116689de30a72546c2
https://github.com/llvm/llvm-project/commit/a92bfaa7d92180c3c88b2c116689de30a72546c2
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Writer.cpp
A lld/test/COFF/arm64x-ctors-sec.s
Log Message:
-----------
[LLD][COFF] Support MinGW constructor and destructor lists on ARM64X (#127205)
Split the chunks for EC and native views, inserting headers and tails for both.
Commit: 620a51535ba7934a6f6bca5b74ff75946e886d87
https://github.com/llvm/llvm-project/commit/620a51535ba7934a6f6bca5b74ff75946e886d87
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Add message to assert in HCFGBuilder (NFC).
Suggested in https://github.com/llvm/llvm-project/pull/126388.
Commit: 88e72c401b5bbedb3461039935e940eccff53f02
https://github.com/llvm/llvm-project/commit/88e72c401b5bbedb3461039935e940eccff53f02
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
Log Message:
-----------
[LAA] Add test where GEPs may wrap.
Commit: 93a1184409feb6b0ebb1001e1bebcecf760a6673
https://github.com/llvm/llvm-project/commit/93a1184409feb6b0ebb1001e1bebcecf760a6673
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Fix import split marker in alias test (#127540)
Commit: a377cdd23db180b881f54fc7f88bf3aa85de21cc
https://github.com/llvm/llvm-project/commit/a377cdd23db180b881f54fc7f88bf3aa85de21cc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/source/API/SBType.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/test/API/lang/cpp/template-arguments/main.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
Log Message:
-----------
[lldb][TypeSystemClang] Add support for floating point template argument constants (#127206)
This patch adds support for template arguments of
`clang::TemplateArgument::ArgKind::StructuralValue` kind (added in
https://github.com/llvm/llvm-project/pull/78041). These are used for
non-type template parameters such as floating point constants. When LLDB
created `clang::NonTypeTemplateParmDecl`s, it previously assumed
integral values, this patch accounts for structural values too.
Anywhere LLDB assumed a `DW_TAG_template_value_parameter` was
`Integral`, it will now also check for `StructuralValue`, and will
unpack the `TemplateArgument` value and type accordingly.
We can rely on the fact that any `TemplateArgument` of `StructuralValue`
kind that the `DWARFASTParserClang` creates will have a valid value,
because it gets those from `DW_AT_const_value`.
Commit: 44cfb6b434a5f7d29fb48e10cf25e74a669a926d
https://github.com/llvm/llvm-project/commit/44cfb6b434a5f7d29fb48e10cf25e74a669a926d
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/test/CodeGen/SPIRV/extensions/SPV_EXT_shader_atomic_float_add/atomicrmw_faddfsub_float.ll
M llvm/test/CodeGen/SPIRV/transcoding/atomic_load_store.ll
Log Message:
-----------
[SPIR-V] Ensure that a correct pointer type is deduced from the Value argument of OpAtomic* instructions (#127492)
This PR improves the set of rules for type inference by ensuring that a
correct pointer type is deduced from the Value argument of OpAtomic*
instructions, also when a pointer argument is coming from an `inttoptr
.. to` instruction that caused problems earlier. Existing test cases are
updated accordingly. This fixes
https://github.com/llvm/llvm-project/issues/127491
Commit: 798890ea10c4a111dff79d975534744f19c5a00d
https://github.com/llvm/llvm-project/commit/798890ea10c4a111dff79d975534744f19c5a00d
Author: David Green <david.green at arm.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Remove unused HasFPAC. NFC
It contains a syntax error, but us it is unused it can be removed until we need
it.
Commit: 0b8bd472b0faf79005dfdd1078904fdf39879d61
https://github.com/llvm/llvm-project/commit/0b8bd472b0faf79005dfdd1078904fdf39879d61
Author: Brad Smith <brad at comstyle.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp_os.h
Log Message:
-----------
[OpenMP][libomp] Add OpenBSD, NetBSD and DragonFly stdarg handling (#126182)
Fixes build on OpenBSD/aarch64.
```
FAILED: openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o
/home/brad/tmp/llvm-build/bin/clang++ --target=aarch64-unknown-openbsd7.6 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Domp_EXPORTS -I/home/brad/tmp/llvm-build/runtimes/runtimes-bins/openmp/runtime/src -I/home/brad/tmp/llvm-brad/openmp/runtime/src -I/home/brad/tmp/llvm-brad/openmp/runtime/src/i18n -I/home/brad/tmp/llvm-brad/openmp/runtime/src/include -I/home/brad/tmp/llvm-brad/openmp/runtime/src/thirdparty/ittnotify -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Wall -fcolor-diagnostics -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -fno-semantic-interposition -fdata-sections -O3 -DNDEBUG -std=c++17 -fPIC -D _GNU_SOURCE -D _REENTRANT -U_GLIBCXX_ASSERTIONS -UNDEBUG -fno-exceptions -fno-rtti -Wno-covered-switch-default -Wno-frame-address -Wno-strict-aliasing -Wno-switch -Wno-uninitialized -Wno-return-type-c-linkage -Wno-cast-qual -Wno-int-to-void-pointer-cast -MD -MT openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o -MF openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o.d -o openmp/runtime/src/CMakeFiles/omp.dir/kmp_runtime.cpp.o -c /home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1449:47: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
1449 | return (master_th->th.th_teams_microtask && ap &&
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1449:44: error: invalid operands to binary expression ('microtask_t' (aka 'void (*)(int *, int *, ...)') and 'kmp_va_list' (aka '__builtin_va_list'))
1449 | return (master_th->th.th_teams_microtask && ap &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1457:15: warning: comparison between NULL and non-pointer ('kmp_va_list' (aka '__builtin_va_list') and NULL) [-Wnull-arithmetic]
1457 | return ((ap == NULL && active_level == 0) ||
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1457:15: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'long')
1457 | return ((ap == NULL && active_level == 0) ||
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1458:12: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
1458 | (ap && teams_level > 0 && teams_level == level));
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1458:15: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'bool')
1458 | (ap && teams_level > 0 && teams_level == level));
| ~~ ^ ~~~~~~~~~~~~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1735:9: error: invalid argument type 'kmp_va_list' (aka '__builtin_va_list') to unary expression
1735 | if (!ap) {
| ^~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2169:66: warning: comparison between NULL and non-pointer ('kmp_va_list' (aka '__builtin_va_list') and NULL) [-Wnull-arithmetic]
2169 | !(microtask == (microtask_t)__kmp_teams_master || ap == NULL))
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2169:66: error: invalid operands to binary expression ('kmp_va_list' (aka '__builtin_va_list') and 'long')
2169 | !(microtask == (microtask_t)__kmp_teams_master || ap == NULL))
| ~~ ^ ~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2284:9: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
2284 | if (ap) {
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2302:58: error: invalid argument type 'kmp_va_list' (aka '__builtin_va_list') to unary expression
2302 | __kmp_fork_team_threads(root, team, master_th, gtid, !ap);
| ^~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:2363:9: error: value of type 'kmp_va_list' (aka '__builtin_va_list') is not contextually convertible to 'bool'
2363 | if (ap) {
| ^~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:7803:3: error: no matching function for call to '__kmp_fork_call'
7803 | __kmp_fork_call(loc, gtid, fork_context_intel, team->t.t_argc,
| ^~~~~~~~~~~~~~~
/home/brad/tmp/llvm-brad/openmp/runtime/src/kmp_runtime.cpp:1927:5: note: candidate function not viable: no known conversion from 'long' to 'kmp_va_list' (aka '__builtin_va_list') for 7th argument
1927 | int __kmp_fork_call(ident_t *loc, int gtid,
| ^
1928 | enum fork_context_e call_context, // Intel, GNU, ...
1929 | kmp_int32 argc, microtask_t microtask, launch_t invoker,
1930 | kmp_va_list ap) {
| ~~~~~~~~~~~~~~
2 warnings and 11 errors generated.
```
Commit: a3dc77c00a012bb613cb08e669dab4fadf88e935
https://github.com/llvm/llvm-project/commit/a3dc77c00a012bb613cb08e669dab4fadf88e935
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
A lldb/test/API/lang/cpp/thunk/Makefile
A lldb/test/API/lang/cpp/thunk/TestThunk.py
A lldb/test/API/lang/cpp/thunk/main.cpp
Log Message:
-----------
[lldb] Support stepping through C++ thunks (#127419)
This PR fixes LLDB stepping out, rather than stepping through a C++
thunk. The implementation is based on, and upstreams, the support for
runtime thunks in the Swift fork.
Fixes #43413
Commit: 2b41277a09820bc47dc533ad37b5213edc2e8d52
https://github.com/llvm/llvm-project/commit/2b41277a09820bc47dc533ad37b5213edc2e8d52
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M lldb/test/API/lang/cpp/thunk/TestThunk.py
Log Message:
-----------
[lldb] Disable test_step_out_thunk on Windows
On Windows we end up in assembly. Not sure if the thread plans behave
differently or this is a debug info issue. I have no environment to
reproduce and investigate this in, so I'm disabling the test for now.
Commit: 8fe290efa634c449937d0576e391555d0ebb6efb
https://github.com/llvm/llvm-project/commit/8fe290efa634c449937d0576e391555d0ebb6efb
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
R libc/include/fenv.h.def
M libc/include/fenv.yaml
Log Message:
-----------
[libc] Canonicalize generated fenv.h (#127363)
This removes the custom template for fenv.h by declaring all the
standard-specified macros using macro_header.
Commit: ed38d6702f7695092c9486016e2504f8c6bfef37
https://github.com/llvm/llvm-project/commit/ed38d6702f7695092c9486016e2504f8c6bfef37
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
Log Message:
-----------
PeepholeOpt: Handle subregister compose when looking through reg_sequence (#127051)
Previously this would give up on folding subregister copies through
a reg_sequence if the input operand already had a subregister index.
d246cc618adc52fdbd69d44a2a375c8af97b6106 stopped introducing these
subregister uses, and this is the first step to lifting that restriction.
I was expecting to be able to implement this only purely with compose /
reverse compose, but I wasn't able to make it work so relies on testing
the lanemasks for whether the copy reads a subset of the input.
Commit: b5b8a59a530b69f02bfc98b1ab8758e1757ddb8f
https://github.com/llvm/llvm-project/commit/b5b8a59a530b69f02bfc98b1ab8758e1757ddb8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.h
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Log Message:
-----------
AMDGPU: Implement getRequiredProperties for SIFoldOperands (#127522)
Fix the broken MIR tests violating isSSA.
Commit: 09d14149f61d1f723ed39ce5297c572d53eb7c44
https://github.com/llvm/llvm-project/commit/09d14149f61d1f723ed39ce5297c572d53eb7c44
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix return value of array CXXNewExprs (#127526)
Just like with the __builtin_operator_new version, we need to point to
the first array element, not the array element itself.
Commit: 51c91095ab5b1f8f0d65e6fbd551e8b991866b3f
https://github.com/llvm/llvm-project/commit/51c91095ab5b1f8f0d65e6fbd551e8b991866b3f
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/include/llvm/Telemetry/Telemetry.h
M llvm/lib/Telemetry/Telemetry.cpp
Log Message:
-----------
Reapply "Make llvm::telemetry::Manager::preDispatch protected. (#127114) (#127431)
This reverts commit 66465c3b0ab1b32403ad5a1c3114174d87830f54.
New change: added missing return statement.
Commit: d19187f5fe01c89a09c1b2f14849a3f29988d6d5
https://github.com/llvm/llvm-project/commit/d19187f5fe01c89a09c1b2f14849a3f29988d6d5
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
Log Message:
-----------
[AMDGPU] Move into SIProgramInfo and cache getFunctionCodeSize. NFCI. (#127111)
This moves function as is, improvements to the estimate go into
a subseqent patch.
Commit: f71b83b3593588c56fd4ab3e1347ad9c7bec624f
https://github.com/llvm/llvm-project/commit/f71b83b3593588c56fd4ab3e1347ad9c7bec624f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Add a release note for #127419
Commit: fe1ef413ab3634cf9e10bcd68f0633b28d7e2228
https://github.com/llvm/llvm-project/commit/fe1ef413ab3634cf9e10bcd68f0633b28d7e2228
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Add more tests for peephole-opt immediate folding (#127480)
Commit: 4dee305ce2c92fbffd51ac1948e5916bccf2c9cb
https://github.com/llvm/llvm-project/commit/4dee305ce2c92fbffd51ac1948e5916bccf2c9cb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Fix foldImmediate breaking register class constraints (#127481)
This fixes a verifier error when folding an immediate materialized
into an aligned vgpr class into a copy to an unaligned virtual register.
Commit: af1e2a374e3845454914348793341f4f931e805a
https://github.com/llvm/llvm-project/commit/af1e2a374e3845454914348793341f4f931e805a
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
A llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
[Mips] Support llvm.readcyclecounter intrinsic (#127553)
The llvm.readcyclecounter intrinsic can be implemented via the `rdhwr
$2, $hwr_cc` instruction.
$hwr_cc: High-resolution cycle counter. This register provides read
access to the coprocessor 0 Count Register.
Fix #106318.
Commit: 83d7f4b8c38147dbb57a40b385e70908ebbbb554
https://github.com/llvm/llvm-project/commit/83d7f4b8c38147dbb57a40b385e70908ebbbb554
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Implement getConstValDefinedInReg and use in foldImmediate (NFC) (#127482)
This is NFC because it currently only matters for cases that are not
isMoveImmediate, and we do not yet implement any of those. This just
moves the implementation of foldImmediate to use the common interface,
similar to how x86 does it.
Commit: c5def84ca4a1aa08333a0428bc453ea901139eca
https://github.com/llvm/llvm-project/commit/c5def84ca4a1aa08333a0428bc453ea901139eca
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
Log Message:
-----------
AMDGPU: Handle brev and not cases in getConstValDefinedInReg (#127483)
We should not encounter these cases in the peephole-opt use today,
but get the common helper function to handle these.
Commit: ef9f0b3c414a5d55e694829514d7b2ff8736d3c3
https://github.com/llvm/llvm-project/commit/ef9f0b3c414a5d55e694829514d7b2ff8736d3c3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
Log Message:
-----------
[DAGCombiner] Don't peek through truncates of shift amounts in takeInexpensiveLog2. (#126957)
Shift amounts in SelectionDAG don't have to match the result type
of the shift. SelectionDAGBuilder will aggressively truncate shift
amounts to the target's preferred type. This may result in a zero extend
that existed in IR being removed.
If we look through a truncate here, we can't guarantee the upper bits
of the truncate input are zero. There may have been a zext that was
removed. Unfortunately, this regresses tests where no truncate was
involved. The only way I can think to fix this is to add an assertzext
when SelectionDAGBuilder truncates a shift amount or remove the
early truncation of shift amounts from SelectionDAGBuilder all together.
Fixes #126889.
Commit: 663db5c70dfef8961dfb0ef5408db48555de7afc
https://github.com/llvm/llvm-project/commit/663db5c70dfef8961dfb0ef5408db48555de7afc
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 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/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
A llvm/lib/Target/AMDGPU/GCNNSAReassign.h
Log Message:
-----------
[AMDGPU][NewPM] Port GCNNSAReassign pass to new pass manager (#125034)
tests to be added while porting virtregrewrite and greedy regalloc
Commit: 0b719d3d63100c6af66b015f796ab74d3d218107
https://github.com/llvm/llvm-project/commit/0b719d3d63100c6af66b015f796ab74d3d218107
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/Compiler.h
Log Message:
-----------
[clangd] Enable parsing of forwarding functions in the preamble by default (#127359)
Fixes https://github.com/clangd/clangd/issues/2324
Commit: d09cce166de9fc4fa243bdb4a2ea22df08110abd
https://github.com/llvm/llvm-project/commit/d09cce166de9fc4fa243bdb4a2ea22df08110abd
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/test/Index/Core/index-dependent-source.cpp
Log Message:
-----------
[clang][Index] Use HeuristicResolver in libIndex (#125153)
The uses replace hand-rolled code that did a subset of what
HeuristicResolver does.
Commit: a5e6ccf546932118cbbab6633f5d599914fd75ec
https://github.com/llvm/llvm-project/commit/a5e6ccf546932118cbbab6633f5d599914fd75ec
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/517800e37e8d3a4ee84214bef65e227612c2a98b (#127544)
Introduces a `LinalgInterfaces` target so that `TensorDialect` doesn't
need to depend on `LinalgDialect`, which would introduce a circular
dependency.
Commit: 6ba34f9e7374109e2d2119b5de3c196aa928f179
https://github.com/llvm/llvm-project/commit/6ba34f9e7374109e2d2119b5de3c196aa928f179
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-17 (Mon, 17 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use policy instead of ForceTailAgnostic for vmsbf/vmsif/vmsof pseudos. (#127535)
ForceTailAgnostic is currently treated as an override of the policy
operand. It doesn't do anything else so we can just use the policy
directly.
Commit: 6b2e511aedb1b372ecd6eaa89720dc3586f3ae19
https://github.com/llvm/llvm-project/commit/6b2e511aedb1b372ecd6eaa89720dc3586f3ae19
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.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/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
Log Message:
-----------
[RISCV] Implement isHighLatencyDef() (#127476)
And returns true for div/rem/sqrt/... operations.
This is an alternative if we don't support generic scheduling model.
Commit: 6e532700f86f56b51506cc5a733f4f21fd03ab03
https://github.com/llvm/llvm-project/commit/6e532700f86f56b51506cc5a733f4f21fd03ab03
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[clang][bazel] Port https://github.com/llvm/llvm-project/commit/d09cce166de9fc4fa243bdb4a2ea22df08110abd
Commit: ab8d99530d4e80b619c19681781eac5f545b2c38
https://github.com/llvm/llvm-project/commit/ab8d99530d4e80b619c19681781eac5f545b2c38
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix after https://github.com/llvm/llvm-project/pull/127544
Commit: 77410f2a25529c9675853cf30c76168cccfe0f5d
https://github.com/llvm/llvm-project/commit/77410f2a25529c9675853cf30c76168cccfe0f5d
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][tensor] Remove unnecessary include.
This include introduced an unwanted dependency from tensor to tensor utils.
Commit: 251377c47d296000158347d6a1cba2e6b30132a3
https://github.com/llvm/llvm-project/commit/251377c47d296000158347d6a1cba2e6b30132a3
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
Log Message:
-----------
[InstCombine] Fold shift+cttz with power of 2 operands (#127055)
#121386 Introduced cttz intrinsics which caused a regression where
vscale/vscale divisions could no longer be constant folded.
This fold was suggested as a fix in #126411.
https://alive2.llvm.org/ce/z/gWbtPw
Commit: b227c2578cc77e2113846b270d0b0a08f53e8019
https://github.com/llvm/llvm-project/commit/b227c2578cc77e2113846b270d0b0a08f53e8019
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Utils/Utils.h
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/test/Transforms/scf-loop-unroll.mlir
M mlir/test/lib/Dialect/SCF/TestLoopUnrolling.cpp
Log Message:
-----------
[mlir][scf] add unroll-full option to test-loop-unrolling pass (#127158)
Some loops cannot be unrolled by affine-loop-unroll pass. After running
lower-affine pass, they can be unrolled in scf.To enable conversion of
vector Ops in scf to llvm dialect, unroll-full option was added.
---------
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>
Commit: d49c3181e68de20ebd5f8e9fc5f4ad3ce20cad6d
https://github.com/llvm/llvm-project/commit/d49c3181e68de20ebd5f8e9fc5f4ad3ce20cad6d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FrameLowering.cpp
Log Message:
-----------
[X86] emitEpilogue - silence implicit integer extension warning. (#127185)
Silence compiler warning introduced in #125007 - assign the address delta to int64_t, assert it is negative and negate it only as part of the mergeSPAdd call
Fixes #125825
Commit: 1ae9dd31a21022d360e5f1efa32a71c4073c7e18
https://github.com/llvm/llvm-project/commit/1ae9dd31a21022d360e5f1efa32a71c4073c7e18
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineConcatVectorOps - add EXTEND_VECTOR_INREG() 512-bit handling (#127530)
Support extension to 512-bit vectors on AVX512/BWI targets.
Commit: 13de15c9c49068db850368c45ffed8f7bbf07f20
https://github.com/llvm/llvm-project/commit/13de15c9c49068db850368c45ffed8f7bbf07f20
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating StartOfName (#127545)
Also ensure we can break before ClassHeadName like StartOfName.
Fixes #127470
Commit: e235fcb582eec5f58c905b66f96d0732d17b875e
https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M bolt/CMakeLists.txt
A bolt/include/bolt/Core/TargetConfig.def.in
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
Log Message:
-----------
[BOLT] Only link and initialize supported targets (#127509)
Bolt currently links and initializes all LLVM targets. This
substantially increases the binary size, and link time if LTO is used.
Instead, only link the targets specified by BOLT_TARGETS_TO_BUILD. We
also have to only initialize those targets, so generate a
TargetConfig.def file with the necessary information. The way the
initialization is done mirrors what llvm-exegesis does.
This reduces llvm-bolt size from 137MB to 78MB for me.
Commit: 03cb46d248b08fa7ca740d78f0847adcc3e76ad8
https://github.com/llvm/llvm-project/commit/03cb46d248b08fa7ca740d78f0847adcc3e76ad8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
Log Message:
-----------
[CodeGen] Use getSignedConstant() in more places (#127501)
Use getSignedConstant() in a few more places, based on a search of
`\bgetConstant(-`. Most of these were fine as-is (e.g. because they work
on 64-bits), but I think it's better to use getSignedConstant()
consistently for negative numbers.
Commit: 6a360b313d27e46988d573a663e9127622eb205c
https://github.com/llvm/llvm-project/commit/6a360b313d27e46988d573a663e9127622eb205c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
AMDGPU: Remove redundant inline constant check (#127582)
We don't really care of this is an inline constant, only if it
will be legal.
Commit: f7c71f162269a10a635c4125142ae8b0a194f3aa
https://github.com/llvm/llvm-project/commit/f7c71f162269a10a635c4125142ae8b0a194f3aa
Author: Jason Rice <ricejasonf at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/tools/libclang/CXCursor.cpp
Log Message:
-----------
[Clang][P1061] Consolidate ResolvedUnpexandedPackExpr into FunctionParmPackExpr (#125394)
This merges the functionality of ResolvedUnexpandedPackExpr into
FunctionParmPackExpr. I also added a test to show that
https://github.com/llvm/llvm-project/issues/125103 should be fixed with
this. I put the removal of ResolvedUnexpandedPackExpr in its own commit.
Let me know what you think.
Fixes #125103
Commit: 252c83bc9ef9fc885e9e6517f1b4423188bb919f
https://github.com/llvm/llvm-project/commit/252c83bc9ef9fc885e9e6517f1b4423188bb919f
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/gh106576.c
Log Message:
-----------
[clang][Sema] Fix type of an statement expression ending with an atomic type (#119711)
When a statement expression's last statement is an atomic variable, GCC
and Clang disagree on the type of the expression. This can be made
apparent using `typeof` and forcing a diagnostic message:
```cpp
_Atomic int a = 0;
typeof(({a;})) x = "0";
```
* GCC complains about initializing `int` with `char*`
* Clang complains about initializing `_Atomic(int)` with a `char[2]`
Due to the type of the statement expression being deduced to be atomic,
we end with three implicit casts inside the `StmtExpr` on the AST:
* `LValueToRValue` -> `AtomicToNonAtomic` -> `NonAtomicToAtomic`
In some situations, this can end on an assertion inside
`IntExprEvaluator`, as reported in #106576.
With this patch, we now have two implicit casts, since the type of the
statement expression is deduced to be non-atomic:
* `LValueToRValue` -> `AtomicToNonAtomic`
This is consistent with the C standard (6.7.2.4, p4)
> The properties associated with atomic types are meaningful only for
expressions that are lvalues.
But a statement expression is an rvalue.
`IntExprEvaluator` assumptions are now satisfied and there is no
assertion error.
Additionally, the `typeof` trick mentioned above shows that the type is
consistently deduced between GCC and Clang.
Fixes #106576
---------
Co-authored-by: John McCall <rjmccall at gmail.com>
Commit: 88dd372d673c7e6967c93aa2879f0ef04fc7ac20
https://github.com/llvm/llvm-project/commit/88dd372d673c7e6967c93aa2879f0ef04fc7ac20
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
Log Message:
-----------
[flang][Lower][OpenMP] Don't read moldarg for static sized array (#125901)
This should further reduce the number of spurious barriers
Commit: d4a0848dc6678bc4ce8c74855a818dfc8c30a088
https://github.com/llvm/llvm-project/commit/d4a0848dc6678bc4ce8c74855a818dfc8c30a088
Author: James Chesterman <James.Chesterman at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[SelectionDAG] Add PARTIAL_REDUCE_U/SMLA ISD Nodes (#125207)
Add signed and unsigned PARTIAL_REDUCE_MLA ISD nodes. Add command line
argument (aarch64-enable-partial-reduce-nodes) that indicates whether the
intrinsic experimental_vector_partial_ reduce_add will be transformed
into the new ISD node. Lowering with the new ISD nodes will, for now,
always be done as an expand.
Commit: 22ef210100ca9ccfee6198a18fa0aae62950f481
https://github.com/llvm/llvm-project/commit/22ef210100ca9ccfee6198a18fa0aae62950f481
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
Log Message:
-----------
Revert "[flang][Lower][OpenMP] Don't read moldarg for static sized array" (#127596)
Reverts llvm/llvm-project#125901
Revert until I have fixed bot failures
Commit: 9fec0a0942f5a11f4dcfec20aa485a8513661720
https://github.com/llvm/llvm-project/commit/9fec0a0942f5a11f4dcfec20aa485a8513661720
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Disable external-calls testing for clspv targets (#127529)
These targets don't include all OpenCL builtins, so there will always be
external calls in the final bytecode module.
Fixes #127316.
Commit: b8054104d36d0b26b2a445d61ba12cf0fe6ba805
https://github.com/llvm/llvm-project/commit/b8054104d36d0b26b2a445d61ba12cf0fe6ba805
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
LLVM/Test: Mark Mips readcyclecounter.ll XFAIL: expensive_checks (#127587)
expsensive_check complains that:
bb.0.entry:
%0:gpr32 = RDHWR $hwr2, 0
%1:gpr32 = ADDiu $zero, 0
$v0 = COPY %0:gpr32
$v1 = COPY %1:gpr32
RetRA implicit $v0, implicit $v1
*** Bad machine code: Using an undefined physical register ***
- function: test_readcyclecounter
- basic block: %bb.0 entry (0xad97ee0)
- instruction: %0:gpr32 = RDHWR $hwr2, 0
- operand 1: $hwr2
LLVM ERROR: Found 1 machine code errors.
Commit: 61ab476460516f4bd60a03a46902e801d0db7306
https://github.com/llvm/llvm-project/commit/61ab476460516f4bd60a03a46902e801d0db7306
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
A llvm/test/CodeGen/SPIRV/opencl/get_num_groups.ll
Log Message:
-----------
[SPIR-V] Fix out-of-range value for NumWorkgroups builtin (#127198)
The OpenCL C specification states that for out-of-range dimension
indices, `get_num_groups` must return 1 instead of 0.
Commit: 2fdb26da619cd09e3ccc8d154e48eb0034474823
https://github.com/llvm/llvm-project/commit/2fdb26da619cd09e3ccc8d154e48eb0034474823
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.def
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
A clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[clang][RISCV] Introduce preprocessor macro when Zicfiss-based shadow stack is enabled (#127592)
The `-fcf-protection=[full|return]` flag enables shadow stack
implementation based on RISC-V Zicfiss extension. This patch adds the
`__riscv_shadow_stack` predefined macro to preprocessing when such a
shadow stack implementation is enabled.
Commit: 2b71df5a74cb5bd67f3f34277749dc920fd35105
https://github.com/llvm/llvm-project/commit/2b71df5a74cb5bd67f3f34277749dc920fd35105
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
A mlir/test/Dialect/X86Vector/cvt-packed-f32-to-bf16.mlir
M mlir/test/Dialect/X86Vector/legalize-for-llvm.mlir
M mlir/test/Dialect/X86Vector/roundtrip.mlir
M mlir/test/Target/LLVMIR/x86vector.mlir
Log Message:
-----------
[mlir][x86vector] AVX512-BF16 Convert packed F32 to BF16 (#125685)
Adds AVX512 bf16 conversion from packed f32 to bf16 elements.
Tests are slightly refactored to better follow file's convention.
Commit: bc4f05d8a8a4f908252aba9444571de4398d4288
https://github.com/llvm/llvm-project/commit/bc4f05d8a8a4f908252aba9444571de4398d4288
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
Log Message:
-----------
[AMDGPU] Early bail in getFunctionCodeSize for meta inst. NFC. (#127129)
It does not change the estimate because getInstSizeInBytes() already
returns 0 for meta instructions, but added a test and early bail.
Commit: 7c03865a1ec6de2b734d8cbf75ca2e79ac6d013d
https://github.com/llvm/llvm-project/commit/7c03865a1ec6de2b734d8cbf75ca2e79ac6d013d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
AMDGPU: Extract lambda used in foldImmediate into a helper function (#127484)
It was also too permissive for a more general utilty, only return
the original immediate if there is no subregister.
Commit: 1c8add1ec70d8d730572029ac11a70f4dfac8ed5
https://github.com/llvm/llvm-project/commit/1c8add1ec70d8d730572029ac11a70f4dfac8ed5
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/test/Analysis/out-of-bounds.c
Log Message:
-----------
[analyzer] Add hack in ArrayBound to cover up missing casts (#127117)
Currently there are many casts that are not modeled (i.e. ignored) by
the analyzer, which can cause paradox states (e.g. negative value stored
in `unsigned` variable) and false positive reports from various
checkers, e.g. from `security.ArrayBound`.
Unfortunately this issue is deeply rooted in the architectural
limitations of the analyzer (if we started to model the casts, it would
break other things). For details see the umbrella ticket
https://github.com/llvm/llvm-project/issues/39492
This commit adds an ugly hack in `security.ArrayBound` to silence most
of the false positives caused by this shortcoming of the engine.
Fixes #126884
Commit: cd10c01767f1d06748c1d4502cc4384a18c06115
https://github.com/llvm/llvm-project/commit/cd10c01767f1d06748c1d4502cc4384a18c06115
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
Log Message:
-----------
AMDGPU: Handle subregister uses in SIFoldOperands constant folding (#127485)
Commit: ef218317d7e30eb32a8e4e1a68d3fe95ca3b8402
https://github.com/llvm/llvm-project/commit/ef218317d7e30eb32a8e4e1a68d3fe95ca3b8402
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/configure.bzl
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
Log Message:
-----------
[bolt][bazel] Port https://github.com/llvm/llvm-project/commit/e235fcb582eec5f58c905b66f96d0732d17b875e.
Commit: 6646b65082e8bc5f485c744a9c15344011c6aede
https://github.com/llvm/llvm-project/commit/6646b65082e8bc5f485c744a9c15344011c6aede
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
Log Message:
-----------
[LAA] Rework and rename stripGetElementPtr (#125315)
The stripGetElementPtr function is mysteriously named, and calls into
another mysterious getGEPInductionOperand which does something
complicated with GEP indices. The real purpose of the badly-named
stripGetElementPtr function is to get a loop-variant GEP index, if there
is one. The getGEPInductionOperand is totally redundant, as stripping
off zeros from the end of GEP indices has no effect on computing the
loop-variant GEP index, as constant zeros are always loop-invariant.
Moreover, the GEP induction operand is simply the first non-zero index
from the end, which stripGetElementPtr returns when it finds that any of
the GEP indices are loop-variant: this is a completely unrelated value
to the GEP index that is loop-variant. The implicit assumption here is
that there is only ever one loop-variant index, and it is the first
non-zero one from the end.
The logic is unnecessarily complicated for what stripGetElementPtr wants
to achieve, and the header comments are confusing as well. Strip
getGEPInductionOperand, rework and rename stripGetElementPtr.
Commit: c71f9141a970b6f6d46d27d7c26c7747dd525275
https://github.com/llvm/llvm-project/commit/c71f9141a970b6f6d46d27d7c26c7747dd525275
Author: David Green <david.green at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-counting-elems.ll
A llvm/test/Transforms/PhaseOrdering/AArch64/vscale.ll
Log Message:
-----------
[AArch64] Add a phase-ordering test for dividing vscale. NFC
See #126411 / #127055, the test isn't expected to fold in a single instcombine
iteration, needing instcombine->cse->instcombine.
Commit: 41be5bbbdba2939a5fdb82c968c102f993edc4d8
https://github.com/llvm/llvm-project/commit/41be5bbbdba2939a5fdb82c968c102f993edc4d8
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (3/N) (#127320)
* Remove `vector.create_mask` from tests. Instead, pass masks as
arguments. This simplifies the tests without sacrificing test
coverage.
* Update `@xfer_read_minor_identity_tranposed_with_mask_scalable` to use
similar shapes as other tests and to avoid using test Ops (e.g.
`@test.some_use`). This improves consistency between tests.
* Fix some comment typos.
Commit: 86553788780ec3992eb0ab18815cc12f2782be1a
https://github.com/llvm/llvm-project/commit/86553788780ec3992eb0ab18815cc12f2782be1a
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/test/CodeGen/SPIRV/builtin_vars-decorate.ll
M llvm/test/CodeGen/SPIRV/transcoding/builtin_vars.ll
M llvm/test/CodeGen/SPIRV/transcoding/spirv-types.ll
Log Message:
-----------
[SPIR-V] Built-in variables: mapping from an OpenCL to SPIR-V BuiltIn and SPIR-V friendly builtins for Image Read/Write instructions (#127242)
This PR improves built-in variables and functions support:
* extends mapping from an OpenCL C built-in function to the SPIR-V
BuiltIn variables as in
https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Env.html#_built_in_variables,
and
* adds SPIR-V friendly builtins for Image Read/Write instructions.
Test cases are extended accordingly.
Commit: 762001118c068317ec67274221497be2e6499c6a
https://github.com/llvm/llvm-project/commit/762001118c068317ec67274221497be2e6499c6a
Author: Steven Cooreman <steven.cooreman at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/include/__mbstate_t.h
Log Message:
-----------
[libc++] Do not guard inclusion of wchar.h with _LIBCPP_HAS_WIDE_CHARACTERS (#126924)
`mbstate_t` needs to be visible to libcpp, even when it is not providing
wide
character functionality (i.e. `_LIBCPP_HAS_WIDE_CHARACTERS` is turned
off)
and thus not using any of the C library's wide character functions.
There are C libraries (such as newlib-nano/nanolib/picolibc) which do
provide their definition of `mbstate_t` in `<wchar.h>` even though they
do not
come with wide character functions.
Since there is a way to conditionally include the C library's
`<wchar.h>`
only if it exists, we should rely on the fact that if it exists, it will
provide `mbstate_t`. Removing this guard will allow using libc++ on top
of
newlib-nano/picolibc while not breaking the cases where it is used on
top
of a C library which doesn't provide `<wchar.h>` (since it would then
still
go look for `<uchar.h>` or error out).
Commit: 059f044309a282447fb25073875cff8d2bd96f78
https://github.com/llvm/llvm-project/commit/059f044309a282447fb25073875cff8d2bd96f78
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
Log Message:
-----------
[ORC] Propagate weak & hidden flags when creating lazy reexports, redirectables.
Updates JITLinkRedirectableSymbolManager to take alias flags into account when
setting the scope and linkage of the created stubs (weak aliases get now get weak
linkage, hidden stubs get hidden visibility).
Updates lazyReexports to propagate alias flags (rather than trampoline flags)
when building the initial destinations map for the redirectable symbols manager.
Together these changes allow the LazyObjectLinkingLayer to link objects
containing weak and hidden symbols.
Commit: 719c46b35958782622e300696fbe6af6549b4cdc
https://github.com/llvm/llvm-project/commit/719c46b35958782622e300696fbe6af6549b4cdc
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
Log Message:
-----------
[FunctionAttrs] Fix typo in `getArgumentAccessInfo` name (NFC)
Commit: 519b53e65ef6ad5385d80d0726e48bbc3b08992f
https://github.com/llvm/llvm-project/commit/519b53e65ef6ad5385d80d0726e48bbc3b08992f
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.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/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
R llvm/lib/CodeGen/RegAllocEvictionAdvisor.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Port RegAllocEvictionAdvisor analysis to NPM (#117309)
Legacy pass used to provide the advisor, so this extracts that logic
into a provider class used by both analysis passes.
All three (Default, Release, Development) legacy passes
`*AdvisorAnalysis` are basically renamed to `*AdvisorProvider`, so the
actual legacy wrapper passes are `*AdvisorAnalysisLegacy`.
There is only one NPM analysis `RegAllocEvictionAnalysis` that switches
between the three providers in the `::run` method, to be cached by the
NPM.
Also adds `RequireAnalysis<RegAllocEvictionAnalysis>` to the optimized
target reg alloc codegen builder.
Commit: d64f177a2f4ae91cf520111dffed73f3c6b555eb
https://github.com/llvm/llvm-project/commit/d64f177a2f4ae91cf520111dffed73f3c6b555eb
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix `no-allow-shlib-undefined` errors.
The BUILD file changes in https://github.com/llvm/llvm-project/pull/127544 adds `LinalgInterfaces` which is incomplete without `LinalgDialect`.
For now, just add the `LinalgDialect` as dependency to tests which do not otherwise depend on it (but depend on `LinalgInterfaces` through e.g. `TensorDialect`).
This is a temporary solution until the dependency of `TensorDialect` is trimmed to just the `linalg::RelayoutOpInterface`, but not the other linalg interfaces. See https://github.com/llvm/llvm-project/pull/127544#pullrequestreview-2622065243.
Commit: 91ef371ae6201d481358a816d9b8fbea2ac3f565
https://github.com/llvm/llvm-project/commit/91ef371ae6201d481358a816d9b8fbea2ac3f565
Author: Hyunsung Lee <ita9naiwa at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlowFramework.h
Log Message:
-----------
[MLIR] Update `operator<<` in objects of DataFlowFramework.h (#127586)
Commit: 1c6cecdbdd2470292ce0b508922d807e3100f85c
https://github.com/llvm/llvm-project/commit/1c6cecdbdd2470292ce0b508922d807e3100f85c
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/cmake/modules/AddLibclc.cmake
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] Suppress data-layout warnings during linking (#127532)
libclc uses llvm-link to link together all of the individually built
libclc builtins files into one module. Some of these builtins files are
compiled from source by clang whilst others are converted from LLVM IR
directly to bytecode.
When llvm-link links a 'source' module into a 'destination' module, it
warns if the two modules have differing data layouts.
The LLVM IR files libclc links either have no data layout (shared
submodule files) or an explicit data layout in the case of certain
amdgcn/r600 files.
The warnings are very noisy and largely inconsequential. We can suppress
them exploiting a specific behaviours exhibited by llvm-link. When the
destination module has no data layout, it is given the source module's
data layout. Thus, if we link together all IR files first, followed by
the clang-compiled modules, 99% of the warnings are suppressed as they
arose from linking an empty data layout into a non-empty one.
The remaining warnings came from the amdgcn and r600 targets. Some of
these were because the data layouts were out of date compared with what
clang currently produced, so those could have been updated.
However, even with those changes and by grouping the IR files together,
the linker may still link explicit data layouts with empty ones
depending on the order the IR files are processed.
As it happens, the data layouts aren't essential. With the changes to
the link line we can rely on those IR files receiving the correct data
layout from the clang-compiled modules later in the link line. This also
makes the previously AMDGPU-specific IR files available to be used by
all targets in a generic capacity in the future.
Commit: df300a4a67affc2262131486314d2ca16688eda3
https://github.com/llvm/llvm-project/commit/df300a4a67affc2262131486314d2ca16688eda3
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Fix typo in Backporting section of GitHub.rst.
Commit: 93d3e20bb226507c6eb777cfb15ea13f2cd129e8
https://github.com/llvm/llvm-project/commit/93d3e20bb226507c6eb777cfb15ea13f2cd129e8
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/inlining.mlir
M mlir/test/Target/SPIRV/terminator.mlir
Log Message:
-----------
[mlir][spirv] Add definition for OpKill (#126554)
Although the operation is deprecated in the most recent version of the
SPIR-V spec, it is still used by older shaders, so having it defined is
valuable and incurs negligible maintenance overhead, due to op
simplicity.
Commit: eb7c947272952d40d3235d89652a10da52cb2b4d
https://github.com/llvm/llvm-project/commit/eb7c947272952d40d3235d89652a10da52cb2b4d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
A llvm/test/CodeGen/AMDGPU/fold-literal-multiple-gfx10.mir
M llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir
Log Message:
-----------
AMDGPU: Correct legal literal operand logic for multiple uses (#127594)
The same literal can be used multiple times in an instruction,
not just once. We were not tracking the used value to verify this,
so correct this.
This helps avoid regressions in a future patch.
Commit: e5ce1d3a56676a18d1c7659f6190efcbfbb51ddd
https://github.com/llvm/llvm-project/commit/e5ce1d3a56676a18d1c7659f6190efcbfbb51ddd
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
A llvm/utils/gn/secondary/llvm/lib/Target/write_target_def_file.gni
Log Message:
-----------
[gn] Move write_target_def_file to its own .gni file
Commit: 09c2441037efeaa2980da4bb24286d0684ba99b5
https://github.com/llvm/llvm-project/commit/09c2441037efeaa2980da4bb24286d0684ba99b5
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/driver/BUILD.gn
M llvm/utils/gn/secondary/bolt/tools/heatmap/BUILD.gn
M llvm/utils/gn/secondary/bolt/unittests/Core/BUILD.gn
Log Message:
-----------
[gn] port e235fcb582ee (bolt TargetConfig.def)
Commit: 5fbb6d919d528d54538df3330e76f220ff52ab30
https://github.com/llvm/llvm-project/commit/5fbb6d919d528d54538df3330e76f220ff52ab30
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Allow up/down casts of nullptr (#127615)
If the target type is a pointer type.
Commit: 7e2707ad4673869fcca119a0ad8bd25aa38a5503
https://github.com/llvm/llvm-project/commit/7e2707ad4673869fcca119a0ad8bd25aa38a5503
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/test/Dialect/Linalg/specialize-generic-ops-fail.mlir
Log Message:
-----------
[mlir][nfc] Add a negative test for --linalg-specialize-generic-ops (#127600)
Following on from #126737, adds a negative test that:
* prior to #126737, would incorrectly generated empty output,
* with the fix in-tree, simply outputs the input IR (i.e. the
specialization "fails").
I've also made minor editorial changes.
Commit: 3b6cc94e7410b818658693885d4f5857c2fdbc6b
https://github.com/llvm/llvm-project/commit/3b6cc94e7410b818658693885d4f5857c2fdbc6b
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[SystemZ][z/OS] Mark text files as text in ClangScanDeps (#127514)
This patch continues the work that was started here
https://reviews.llvm.org/D99426 to correctly open text files in text
mode.
Commit: 0d666598a06420d1c59f3b02ef5022ec9af39b0d
https://github.com/llvm/llvm-project/commit/0d666598a06420d1c59f3b02ef5022ec9af39b0d
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
Log Message:
-----------
[BasicAA] Add test for #126670 (NFC)
Commit: 27fe2c95ee067ee013b947040538224187b3adb7
https://github.com/llvm/llvm-project/commit/27fe2c95ee067ee013b947040538224187b3adb7
Author: Danial Klimkin <dklimkin at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
Log Message:
-----------
[bazel]Move HAVE_GETAUXVAL from config.h to config.bzl (#127637)
This fixes build errors on mac OS.
Commit: 4cc7d60fe3e060e33cb01f054e2d26870d6256b7
https://github.com/llvm/llvm-project/commit/4cc7d60fe3e060e33cb01f054e2d26870d6256b7
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Target/Cpp/CppEmitter.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
A mlir/test/Target/Cpp/file.mlir
Log Message:
-----------
[MLIR] emitc: Add emitc.file op (#123298)
A `emitc.file` represents a file that can be emitted
into a single C++ file.
This allows to manage multiple source files within the same MLIR module,
but emit them into separate files.
This feature is opt-in.
By default, `mlir-translate` emits all ops outside of `emitc.file`
and ignores all `emitc.file` ops and their bodies.
When specifying the `-file-id=id` flag,
`mlir-translate` emits all ops outside of `emitc.file` and
the ops within the `emitc.file` with matching `id`.
Example:
```mlir
emitc.file "main" {
func @func_one() {
return
}
}
emitc.file "test" {
func @func_two() {
return
}
}
```
`mlir-translate -file-id=main` will emit `func_one` and
`mlir-translate -file-id=test` will emit `func_two`.
Commit: 31abb20162a7d035841c9506b1cd18d3ae8df10c
https://github.com/llvm/llvm-project/commit/31abb20162a7d035841c9506b1cd18d3ae8df10c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Move bases and virtual bases in moveRecord (#127627)
The fixme comment turned out to be true.
Commit: 10fc06a3215ac11220cc8e13d65ef0aa4c4089c9
https://github.com/llvm/llvm-project/commit/10fc06a3215ac11220cc8e13d65ef0aa4c4089c9
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-partial-undef.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining.ll
Log Message:
-----------
[X86] canonicalizeShuffleWithOp - add handling for X86ISD::VPERMV nodes (#127625)
Handle different src/mask operand ordering of X86ISD::VPERMV nodes
Commit: df12bad075b77953fc3af6fc3db3b7dd25a81977
https://github.com/llvm/llvm-project/commit/df12bad075b77953fc3af6fc3db3b7dd25a81977
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_upsample.cl
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
Log Message:
-----------
[libclc] Use CLC conversion builtins in CLC functions (#127628)
This commit is a broad update across libclc to use the CLC conversion
builtins in CLC functions, even those with a '__clc' prefix in the
generic folder. This better prepares them for an official move to the
CLC library in time.
The CLC conversion builtins have an additional benefit in that they
support scalars, unlike the __builtin_convertvector builtin which we
were using previously. This allows us to simplify some shared
definitions.
There is one change to the IR, in the scalar upsample(char, uchar)
builtin. It now sign-extends the first argument to i16, where before it
zero-extended it. This appears to be correct, and matches the vector
behaviour.
Commit: 378c6fbe330e6de2feac8a8e3bc0c93ec6aca80d
https://github.com/llvm/llvm-project/commit/378c6fbe330e6de2feac8a8e3bc0c93ec6aca80d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libclc/clc/lib/generic/integer/clc_upsample.cl
Log Message:
-----------
[libclc][NFC] Rename macro; undef at end of file
Commit: 9516f44f6b67965f245cb0e533aa88090f990f71
https://github.com/llvm/llvm-project/commit/9516f44f6b67965f245cb0e533aa88090f990f71
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV] Add policy operand to masked vector compare pseudos. Remove ForceTailAgnostic. NFC (#127575)
Add a policy operand to set the tail agnostic policy instead of using
ForceTailAgnostic. The masked to unmasked transforms had to be updated
to drop the policy operand when converting to unmasked.
Commit: 38376dee92224c6657ef6d88413bfc77f4441268
https://github.com/llvm/llvm-project/commit/38376dee92224c6657ef6d88413bfc77f4441268
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[VPlan] Build initial VPlan 0 using HCFGBuilder for inner loops. (NFC) (#124432)
Use HCFGBuilder to build an initial VPlan 0, which wraps all input
instructions in VPInstructions and update tryToBuildVPlanWithVPRecipes
to replace the VPInstructions with widened recipes.
At the moment, widened recipes are created based on the underlying
instruction of the VPInstruction. Masks are also still created based on
the input IR basic blocks and the loop CFG is flattened in the main loop
processing the VPInstructions.
This patch also incldues support for Switch instructions in HCFGBuilder
using just a VPInstruction with Instruction::Switch opcode.
There are multiple follow-ups planned:
* Perform predication on the VPlan directly,
* Unify code constructing VPlan 0 to be shared by both inner and outer
loop code paths.
* Construct VPlan 0 once, clone subsequent ones for VFs
PR: https://github.com/llvm/llvm-project/pull/124432
Commit: f5cf04c548ed848b9d79436803809db36101ab02
https://github.com/llvm/llvm-project/commit/f5cf04c548ed848b9d79436803809db36101ab02
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove unused variable after 38376dee92224c66.
Commit: 3305d9f08d4a947f77143bdb817016dd909cd634
https://github.com/llvm/llvm-project/commit/3305d9f08d4a947f77143bdb817016dd909cd634
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 4cc7d60fe3e060e33cb01f054e2d26870d6256b7
Commit: e1a393e39275ca0fea4bb19fa08c88bae3178cf8
https://github.com/llvm/llvm-project/commit/e1a393e39275ca0fea4bb19fa08c88bae3178cf8
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
Define Telemetry plugin for LLDB. (#126588)
Details:
Make LLDB's TelemetryManager a "plugin" so that vendor can supply
appropriate implementation.
The rest of LLDB code will simply call `TelemetryManager::getInstance`
---------
Co-authored-by: Pavel Labath <pavel at labath.sk>
Commit: 8806311bb7c2b5a4a40698f544f775d62538d7df
https://github.com/llvm/llvm-project/commit/8806311bb7c2b5a4a40698f544f775d62538d7df
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/include/mlir/Dialect/Math/Transforms/Approximation.h
M mlir/include/mlir/Dialect/Math/Transforms/Passes.h
M mlir/lib/Conversion/MathToLibm/MathToLibm.cpp
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/lib/Dialect/Math/Transforms/PolynomialApproximation.cpp
M mlir/test/Dialect/Math/polynomial-approximation.mlir
M mlir/test/mlir-runner/math-polynomial-approx.mlir
M mlir/utils/vim/syntax/mlir.vim
Log Message:
-----------
[MLIR][Math] Add erfc to math dialect (#126439)
This patch adds the erfc op to the math dialect. It also does lowering
of the math.erfc op to libm calls. There is also a f32 polynomial
approximation for the function based on
https://stackoverflow.com/questions/35966695/vectorizable-implementation-of-complementary-error-function-erfcf
This is in turn based on
M. M. Shepherd and J. G. Laframboise, "Chebyshev Approximation of
(1+2x)exp(x^2)erfc x in 0 <= x < INF", Mathematics of Computation, Vol.
36, No. 153, January 1981, pp. 249-253.
The code has a ULP error less than 3, which was tested, and MLIR test
values were verified against the C implementation.
Commit: 37bde7ae5baa85889c9fcc647bdac149c646116e
https://github.com/llvm/llvm-project/commit/37bde7ae5baa85889c9fcc647bdac149c646116e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
Log Message:
-----------
[SLP]Fix hanging on small trees with phis only with adjusted cost threshold
Need to check if the tree is too small before attempting to vectorize the tree to prevent hanging on small trees with phis only.
Commit: f7a5f067885b7f6cc4a000c8392adf6b777a9108
https://github.com/llvm/llvm-project/commit/f7a5f067885b7f6cc4a000c8392adf6b777a9108
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] FLAT_load using D16 pseudo instruction (#114500)
Implement new pseudos with the suffix _t16 for FLAT_LOAD which have
VGPR_16 as the load dst. Lower the pseudos to the existing real
instructions with VGPR_32 src or dst (which makes them consistent with
the hardware encoding). This patch reduces VGPR usage by making hi
halves of VGPRs available for other values.
There are more 8/16 bits ld/st instructions to be supported in the
up-coming patches
Commit: e61deef8fe0e94be7a309dc53436f70dc69491cf
https://github.com/llvm/llvm-project/commit/e61deef8fe0e94be7a309dc53436f70dc69491cf
Author: André Brand <andre.brand at mailbox.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/TextNodeDumper.cpp
M clang/test/AST/ast-dump-decl.cpp
Log Message:
-----------
[Clang] Add 'instantiated_from' for enums in TextNodeDumper (#124409)
This commit adds "instantiated_from" to the AST dump for EnumDecl,
improving consistency with CXXRecordDecl and FunctionDecl, which also
include this information. To achieve this, TextNodeDumper::VisitEnumDecl
is updated with analogous lines found in
TextNodeDumper::VisitFunctionDecl and
TextNodeDumper::VisitCXXRecordDecl.
Commit: 7a781527682ebe90616b05fb2311b1d0d6fc997e
https://github.com/llvm/llvm-project/commit/7a781527682ebe90616b05fb2311b1d0d6fc997e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
error: comparison of integers of different signs: 'const int' and
'const unsigned long' [-Werror,-Wsign-compare]
Commit: 0e960f12dccc26b6d0d49a2359089e0846c44b74
https://github.com/llvm/llvm-project/commit/0e960f12dccc26b6d0d49a2359089e0846c44b74
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add OMP Declare Mapper MLIR Op definition (#117045)
This patch adds the OMP.DeclareMapperOp to MLIR.
The HLFIR/FIR lowering for Declare Mapper is available here #117046.
Commit: a6f2a1ecaaa83ea211c8fbb12edbccda39859d74
https://github.com/llvm/llvm-project/commit/a6f2a1ecaaa83ea211c8fbb12edbccda39859d74
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll
Log Message:
-----------
[SCEV] Generate test checks (NFC)
Commit: 55dba06540d17cb9abf2fca094a3805b4eef3be3
https://github.com/llvm/llvm-project/commit/55dba06540d17cb9abf2fca094a3805b4eef3be3
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
Addressed additional review comments from PR/119716. (#126757)
Commit: 2cb5241c7724cbf4fa02b25547e098bfc635aba9
https://github.com/llvm/llvm-project/commit/2cb5241c7724cbf4fa02b25547e098bfc635aba9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
Revert "[AMDGPU][True16][CodeGen] FLAT_load using D16 pseudo instruction (#114500)"
This reverts commit f7a5f067885b7f6cc4a000c8392adf6b777a9108.
Fails to build with:
llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:126:37: error: no member named 'OPERAND_LAST' in 'llvm::AMDGPU::OpName'
126 | uint16_t OpName = AMDGPU::OpName::OPERAND_LAST;
Commit: 0e1ffa397ef35fe55f7bd768d42f94241d1a2caa
https://github.com/llvm/llvm-project/commit/0e1ffa397ef35fe55f7bd768d42f94241d1a2caa
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/AArch64/unreachable-blocks-with-phis.ll
Log Message:
-----------
[SLP]Fix a crash when comparing phis from unreachable blocks
Need to check if the block is reachable before comparing phis from it to
avoid compiler crash when requesting node.
Fixes report in https://github.com/llvm/llvm-project/pull/110529#issuecomment-2664723338
Commit: 0cc532b79e36d46669ebba01180e8fc1a9595d7b
https://github.com/llvm/llvm-project/commit/0cc532b79e36d46669ebba01180e8fc1a9595d7b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/unittests/TargetParser/RISCVTargetParserTest.cpp
Log Message:
-----------
[RISCV] Move the RISCVII namespaced enums into RISCVVType namespace in RISCVTargetParser.h. NFC (#127585)
The VLMUL and policy enums originally lived in RISCVBaseInfo.h in the
backend which is where everything else in the RISCVII namespace is
defined.
RISCVTargetParser.h is used by much more of the compiler and it
doesn't really make sense to have 2 different namespaces exposed.
These enums are both associated with VTYPE so using the RISCVVType
namespace seems like a good home for them.
Commit: 270284dbc225cf836bad320bf4adcbb725f553b1
https://github.com/llvm/llvm-project/commit/270284dbc225cf836bad320bf4adcbb725f553b1
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/MachO/export-options.s
Log Message:
-----------
[lld][MachO] Test with exported_symbol and exported_symbols_list together (#127243)
Commit: 9905728e2fb4ebe9b7518dfd73a0574eea0a2083
https://github.com/llvm/llvm-project/commit/9905728e2fb4ebe9b7518dfd73a0574eea0a2083
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/include/flang/Lower/AbstractConverter.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for OpenMP Declare Mapper directive (#117046)
This patch adds HLFIR/FIR lowering support for OpenMP Declare Mapper
directive.
Depends on #117045.
Commit: 7a5d1e994600eb01716e7b7f784e26672ba8d623
https://github.com/llvm/llvm-project/commit/7a5d1e994600eb01716e7b7f784e26672ba8d623
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#127573)
Commit: e0ed5e8db98ebcf58a94cc730c6927cb85db41b5
https://github.com/llvm/llvm-project/commit/e0ed5e8db98ebcf58a94cc730c6927cb85db41b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127574)
Commit: 4405451a22b98fe10a0d7d844dc8223bae468470
https://github.com/llvm/llvm-project/commit/4405451a22b98fe10a0d7d844dc8223bae468470
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated map lookups (NFC) (#127576)
Commit: 4cfeebd9b4823025ed6bd992cf9310725e487aea
https://github.com/llvm/llvm-project/commit/4cfeebd9b4823025ed6bd992cf9310725e487aea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#127577)
Commit: 06829f4f8fc0ab5ed6fc8fd9b0918bc13eb9fea0
https://github.com/llvm/llvm-project/commit/06829f4f8fc0ab5ed6fc8fd9b0918bc13eb9fea0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#127578)
Commit: 9a4bf985f8e920704c4da12f2db0caeebc25a0a3
https://github.com/llvm/llvm-project/commit/9a4bf985f8e920704c4da12f2db0caeebc25a0a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#127579)
Commit: 6682753ceb5ae2e5b3bd1f0cdd31fc3d61ee4f97
https://github.com/llvm/llvm-project/commit/6682753ceb5ae2e5b3bd1f0cdd31fc3d61ee4f97
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/Target/LLVMIR/Import/alias.ll
Log Message:
-----------
[MLIR][LLVM] Refactor globals insertion point in import (#127490)
Unifies imports to use a single insertion point, `globalInsertionOp`,
for global values.
Refactors insertion point setup into `setGlobalInsertionPoint`, which
sets insertion point after `globalInsertionOp` or defaults to the start
of the module if it is not set.
Commit: bfcec1999c7ec30c53ccfcda372a4e9e27a43268
https://github.com/llvm/llvm-project/commit/bfcec1999c7ec30c53ccfcda372a4e9e27a43268
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/bfloat.ll
Log Message:
-----------
[X86] Add test coverage for bfloat <-> half conversion
Inspired by #90738 (although that is a clang codegen issue)
Commit: 74016728e34ff4fcc6f0e0c412415cf70c2584e5
https://github.com/llvm/llvm-project/commit/74016728e34ff4fcc6f0e0c412415cf70c2584e5
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Transforms/DeadStoreElimination/OverwriteStoreBegin.ll
Log Message:
-----------
[DSE] Update dereferenceable attributes when adjusting memintrinsic ptr (#125073)
Consider IR like this
call void @llvm.memset.p0.i64(ptr dereferenceable(28) %p, i8 0, i64 28,
i1 false)
store i32 1, ptr %p
In the past it has been optimized like this:
%p2 = getelementptr inbounds i8, ptr %p, i64 4
call void @llvm.memset.p0.i64(ptr dereferenceable(28) %p2, i8 0, i64 24,
i1 false)
store i32 1, ptr %p
As the input IR doesn't guarantee that it is OK to deref 28 bytes
starting at the adjusted pointer %p2 the transformation has been a bit
flawed.
With this patch we make sure to drop any
dereferenceable/dereferenceable_or_null attributes when doing such
transforms. An alternative would have been to adjust the amount of
dereferenceable bytes, but since a memset with a constant length already
implies dereferenceability by itself it is simpler to just drop the
attributes.
The new filtering of attributes is done using a helper that only keep
attributes that we explicitly handle. For the adjusted mem instrinsic
pointers that currently involve "NonNull", "NoUndef" and "Alignment"
(when the alignment is known to be fulfilled also after offsetting the
pointer).
Fixes #115976
Commit: 1fd06001a9e4f3da4c70f71e1d8df28198f67529
https://github.com/llvm/llvm-project/commit/1fd06001a9e4f3da4c70f71e1d8df28198f67529
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[NFC][TableGen] Cleanup iterators in CodeGenSchedule.h (#127401)
- Use range for loops for processor models and schedule classes.
- Cleanup duplicated or unused iterators in CodeGenSchedule.h
Commit: 7b89c41e41ce1a8832130ce9bfa24b216bfe327b
https://github.com/llvm/llvm-project/commit/7b89c41e41ce1a8832130ce9bfa24b216bfe327b
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M offload/libomptarget/OpenMP/Mapping.cpp
Log Message:
-----------
[offload] Remove redundant checks in MappingInfoTy::lookupMapping (#127638)
Also add some clarifying comments.
Commit: ca0c84dbfd22ef060abe62ce34a51a6e6c2ceedb
https://github.com/llvm/llvm-project/commit/ca0c84dbfd22ef060abe62ce34a51a6e6c2ceedb
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/Expr.h
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/Expr.cpp
Log Message:
-----------
[NFC] [clang] make isFlexibleArrayMemberLike Ctx const (#126656)
it is not used mutably
Commit: 64675ccc36e4b2adc10594f5681735e533247cad
https://github.com/llvm/llvm-project/commit/64675ccc36e4b2adc10594f5681735e533247cad
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
Log Message:
-----------
[NVPTX] Use MCRegister. NFC
Commit: 74cb1f9f51e5dcc6d0689994b6e0fa9c19d687c9
https://github.com/llvm/llvm-project/commit/74cb1f9f51e5dcc6d0689994b6e0fa9c19d687c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Use MCRegister. NFC
Commit: ee17955dfe454f78bef41e47ef7ce255fa2563e9
https://github.com/llvm/llvm-project/commit/ee17955dfe454f78bef41e47ef7ce255fa2563e9
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[MLIR][OpenMP] Add OMP Mapper field to MapInfoOp (#120994)
This patch adds the mapper field to the omp.map.info op.
Depends on #117046.
Commit: 886b2edfbeea9f35a0495e2a531429ec9cce5e57
https://github.com/llvm/llvm-project/commit/886b2edfbeea9f35a0495e2a531429ec9cce5e57
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
R flang/test/Lower/OpenMP/Todo/map-mapper.f90
M flang/test/Lower/OpenMP/declare-mapper.f90
A flang/test/Lower/OpenMP/map-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add Lowering support for OpenMP custom mappers in map clause (#121001)
Add Lowering support for OpenMP mapper field in mapInfoOp.
NOTE: This patch only supports explicit mapper lowering. I'll add a
separate PR soon which handles implicit default mapper recognition.
Depends on #120994.
Commit: d6ab12c7cc7058776ad46fe0767080b1e7710cc2
https://github.com/llvm/llvm-project/commit/d6ab12c7cc7058776ad46fe0767080b1e7710cc2
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
Log Message:
-----------
[MLIR][OpenMP] Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper (#121005)
Add conversion support from FIR to LLVM Dialect for OMP DeclareMapper.
Depends on #121001
Commit: 785a5b4676e7aa77904babb9f66e862b5fc39295
https://github.com/llvm/llvm-project/commit/785a5b4676e7aa77904babb9f66e862b5fc39295
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
A offload/test/offloading/fortran/target-custom-mapper.f90
Log Message:
-----------
[MLIR][OpenMP] Add LLVM translation support for OpenMP UserDefinedMappers (#124746)
This patch adds OpenMPToLLVMIRTranslation support for the OpenMP Declare
Mapper directive.
Since both MLIR and Clang now support custom mappers, I've changed the
respective function params to no longer be optional as well.
Depends on #121005
Commit: f66d97fe51a007b81aaa73a336dd56afebb19cc0
https://github.com/llvm/llvm-project/commit/f66d97fe51a007b81aaa73a336dd56afebb19cc0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/lib/Analysis/CallGraph.cpp
Log Message:
-----------
[Analysis] Remove unused functions in CallGraphNode (#127411)
The last uses of these functions were removed in:
commit 58bc98cd3abd72226cdbaa05bd92af9598d491db
Author: Arthur Eubanks <aeubanks at google.com>
Date: Fri Jul 12 10:02:50 2024 -0700
Commit: 5d4eb08379cc2574fc8641576c8e5cfc37fe2e6e
https://github.com/llvm/llvm-project/commit/5d4eb08379cc2574fc8641576c8e5cfc37fe2e6e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/docs/OptBisect.rst
M llvm/include/llvm/Analysis/CallGraphSCCPass.h
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
Log Message:
-----------
[Analysis] Remove skipSCC (#127412)
The last use was removed in:
commit fa6ea7a419f37befbed04368bcb8af4c718facbb
Author: Arthur Eubanks <aeubanks at google.com>
Date: Mon Mar 20 11:18:35 2023 -0700
Commit: 360630b567a46d4bf2cd64025a9e07a8b7cd2e97
https://github.com/llvm/llvm-project/commit/360630b567a46d4bf2cd64025a9e07a8b7cd2e97
Author: Zichen Lu <mikaovo2000 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/CompilationInterfaces.h
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
Log Message:
-----------
[mlir][GPUDialect] Add cmdOption suffix consumer in GpuModuleToBinary Pass (#127646)
Add cmdOption suffix consumer function in GpuModuleToBinary Pass, which
can tokenize and remove a specific suffix of cmdOption.
Commit: 49453bf18e1877a3bd4d1cef40bb52c209b9c1e3
https://github.com/llvm/llvm-project/commit/49453bf18e1877a3bd4d1cef40bb52c209b9c1e3
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Breakpoint/BreakpointList.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/Breakpoint/BreakpointLocationList.h
M lldb/include/lldb/Breakpoint/WatchpointList.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/QueueList.h
M lldb/include/lldb/Target/TargetList.h
M lldb/include/lldb/Target/ThreadCollection.h
M lldb/include/lldb/Utility/Iterable.h
Log Message:
-----------
[lldb][NFC] remove AdaptedConstIterator and AdaptedIterable (#127507)
AdaptedConstIterator currently doesn't have iterator traits, so I can't
use STL algorithms with containers like WatchpointList.
This patch replaces AdaptedConstIterator and AdaptedIterable with
llvm::iterator_adaped_base and llvm::iterator_range respectively.
Commit: 055872acc28afdd8d29acdbec24f4bd415481d33
https://github.com/llvm/llvm-project/commit/055872acc28afdd8d29acdbec24f4bd415481d33
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir] Integrate OpAsmTypeInterface with AsmPrinter (#124700)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This is a follow up PR of #121187, by integrating OpAsmTypeInterface
with AsmPrinter. There are a few conditions when OpAsmTypeInterface
comes into play
* There is no OpAsmOpInterface
* Or OpAsmOpInterface::getAsmResultName/getBlockArgumentName does not
invoke `setName` (i.e. the default impl)
* All results have OpAsmTypeInterface (otherwise we can not handle
result grouping behavior)
Cc @River707 @jpienaar @ftynse for review.
Commit: 7c104b63c7aae66cf91fa65b04011c49641b456d
https://github.com/llvm/llvm-project/commit/7c104b63c7aae66cf91fa65b04011c49641b456d
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/CMakeLists.txt
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
Log Message:
-----------
[mlir] Introduce OpAsmAttrInterface for pretty-print (#124721)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR adds
* Definition of `OpAsmAttrInterface`
* Integration of `OpAsmAttrInterface` with `AsmPrinter`
In
https://github.com/llvm/llvm-project/pull/121187#discussion_r1931472250
I mentioned splitting them into two PRs, but I realized that a PR with
only definition of `OpAsmAttrInterface` is hard to test as it requires a
custom Dialect with `OpAsmDialectInterface` to hook with `AsmPrinter`,
so I just put them together to have a e2e test.
Cc @River707 @jpienaar @ftynse for review.
Commit: b22fc43551bd6862401e4684e545f445df4bc2be
https://github.com/llvm/llvm-project/commit/b22fc43551bd6862401e4684e545f445df4bc2be
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/docs/index.rst
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
[libc++] Updates the compilers used post LLVM-20 branching. (#126564)
Once LLVM 20 is released the clang-18 will no longer be supported.
Commit: 1f6165e1844a69a726b92cf8821a645b0fff5303
https://github.com/llvm/llvm-project/commit/1f6165e1844a69a726b92cf8821a645b0fff5303
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86InstrBuilder.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
Log Message:
-----------
X86: Fix convertToThreeAddress losing subregister indexes (#124098)
This avoids dozens of regressions in a future patch. These
primarily manifested as assertions where we had copies of 64-bit
registers to 32-bit registers.
This is testable in principle with hand written MIR, but that's
a bit too much x86 for me.
Commit: f796747a17941681c8f806cab4e10570b97b5089
https://github.com/llvm/llvm-project/commit/f796747a17941681c8f806cab4e10570b97b5089
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/src/experimental/tzdb.cpp
Log Message:
-----------
[libc++][TZDB] Improves system time zone detection. (#127339)
On some (Linux) systems /etc/localtime is not a symlink to the time
zone, but contains a copy of the binary time zone file. In these case
there usually is a file named /etc/timezone which contains the text for
the current time zone name.
Instead of throwing when /etc/localtime does not exist or is not a
symlink use this fallback.
Fixes: #105634
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: aa16ca3422d6ed4847bffb469cc5a1db14dca0b3
https://github.com/llvm/llvm-project/commit/aa16ca3422d6ed4847bffb469cc5a1db14dca0b3
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OpAsmInterface.td
M mlir/lib/IR/AsmPrinter.cpp
M mlir/test/IR/op-asm-interface.mlir
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[mlir] Add getAlias for OpAsmTypeInterface (#126364)
See
https://discourse.llvm.org/t/rfc-introduce-opasm-type-attr-interface-for-pretty-print-in-asmprinter/83792
for detailed introduction.
This PR should be rebased once #124721 is merged.
This PR adds
* Definition of `getAlias` for `OpAsmTypeInterface`
* Integration of `OpAsmTypeInterface` with `AsmPrinter` alias handling
part
This is partly in response to
https://github.com/llvm/llvm-project/pull/124721/files#r1940399862
Cc @River707 for review.
Commit: d9803af3eb6c3ffe767f65ea853e9a1bc62de256
https://github.com/llvm/llvm-project/commit/d9803af3eb6c3ffe767f65ea853e9a1bc62de256
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port 7c104b63c7aae66cf91fa65b04011c49641b456d
Commit: 4efab09252b5a62265efec6226f66da40975c8d0
https://github.com/llvm/llvm-project/commit/4efab09252b5a62265efec6226f66da40975c8d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
Log Message:
-----------
[PowerPC] Used named subreg indices instead of hardcoded numbers. NFC (#127671)
Commit: 8e16e5ca23d70b6d21346abfbe292aa7e91dcb2e
https://github.com/llvm/llvm-project/commit/8e16e5ca23d70b6d21346abfbe292aa7e91dcb2e
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/AST/HLSL/TypdefArrayParam.hlsl
Log Message:
-----------
[HLSL] Bug fix crash using Array Parameters when De-sugaring is the same as canonicalizing (#127670)
Fixes this crash: https://hlsl.godbolt.org/z/9aP74s4bP
Which happens because the de-sugared type is the same as the
canonicalized type.
Check if the de-sugared type is canonical before getting the
ArrayParameterType of the canonical type.
Add AST test to ensure crash doesn't happen.
Commit: 426148b26959b6ef3db8e05c82f708cf60301701
https://github.com/llvm/llvm-project/commit/426148b26959b6ef3db8e05c82f708cf60301701
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/DependencyGraphTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Implement DAG maintainance on Instruction removal (#127361)
This patch implements dependency maintenance upon receiveing the
notification that an instruction gets deleted.
Commit: 5ecce45ea2980aff35d1283d4dd3feb8f74de16c
https://github.com/llvm/llvm-project/commit/5ecce45ea2980aff35d1283d4dd3feb8f74de16c
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/default_pass_pipeline.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
M llvm/test/Transforms/SandboxVectorizer/user_pass_pipeline.ll
M llvm/unittests/SandboxIR/RegionTest.cpp
Log Message:
-----------
[SandboxVec] Move seed collection into its own separate pass (#127132)
This patch moves the seed collection logic from the BottomUpVec pass
into a new Sandbox IR Function pass. The new "seed-collection" pass
collects the seeds, builds a region and runs the region pass pipeline.
Commit: e31a1c828d365ef94414be965a2a330a3b69250d
https://github.com/llvm/llvm-project/commit/e31a1c828d365ef94414be965a2a330a3b69250d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
Log Message:
-----------
[CodeGen] Remove getSubReg from TargetRegisterInfo. NFC (#127680)
Users can use the version inherited from MCRegisterInfo.
This version was added by e7694f34ab6a1 to return a Register. It was
later changed to return MCRegister by bab72dd5d5122 making it identical
MCRegisterInfo.
Commit: 56e0bf2958ffdcd74192cc7d8188d62bdbe068d6
https://github.com/llvm/llvm-project/commit/56e0bf2958ffdcd74192cc7d8188d62bdbe068d6
Author: Dmitry Babokin <babokin at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/cmake/modules/MLIRDetectPythonEnv.cmake
Log Message:
-----------
Fix for issue #126162: warn for inconsistent Python search options (#126329)
Fixes #126162
I check locally that it works without warning for:
- neither options are defined
- both defined to the same value
And I checked that it warns if:
- only one is defined
- they defined to different values
Commit: 936fe9bb5ca66e13a609d1be0dfc9e5d7dd497b1
https://github.com/llvm/llvm-project/commit/936fe9bb5ca66e13a609d1be0dfc9e5d7dd497b1
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-function.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-value.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-no-root-element-list.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-root-element-not-mdnode.ll
Log Message:
-----------
[HLSL] Add more tests to root signature metadata extraction (#127283)
This PR adds a few more tests to validate some error scenarios of root
signature metadata representation.
Closes: https://github.com/llvm/llvm-project/issues/127280
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: ed147459502722ad2052db5d4650435387b204ab
https://github.com/llvm/llvm-project/commit/ed147459502722ad2052db5d4650435387b204ab
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Add test for regression in #127398. (NFC)
Commit: 083f80ff6b6666a8211867c0a026f872e742cfe6
https://github.com/llvm/llvm-project/commit/083f80ff6b6666a8211867c0a026f872e742cfe6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Remove implementation from LinalgInterfaces target.
Move LinalgInterfaces.cpp from LinalgInterfaces to LinalgDialect target.
This allows TensorDialect to use header-only RelayoutOpInterface without introducing a hidden dependency on LinalgDialect (producing an `no-allow-shlib-undefined` error if a target depends on TensorDialect but not LinalgDialect).
Also reverts https://github.com/llvm/llvm-project/commit/d64f177a2f4ae91cf520111dffed73f3c6b555eb because it's no longer needed.
Commit: 277512239a166e5376c705a9543773b142454522
https://github.com/llvm/llvm-project/commit/277512239a166e5376c705a9543773b142454522
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
Log Message:
-----------
[libc++][NFC] Clarify libc++'s stance about implementing the Networking TS
Commit: 7f275e09a788412414e23e32dd3767ec92595cad
https://github.com/llvm/llvm-project/commit/7f275e09a788412414e23e32dd3767ec92595cad
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A lld/test/ELF/lto/arm-rtlibcall.ll
Log Message:
-----------
[ELF][LTO] Add baseline test for invalid relocations against runtime calls
This can happen when using a LTO build of compiler-rt for ARM and the
program uses 64-bit division.
The 64-bit division function in compiler-rt (__aeabi_ldivmod) is written
in assembly and calls the C function __divmoddi4, which works fine in
non-LTO links. However, when building with LTO the call inside
__aeabi_ldivmod is replaced with a jump to address zero, which then
crashes the program.
Building with -pie generates an error instead of a jump to address zero,
and surprisingly just declaring the __aeabi_ldivmod function (but not
calling it) in the input IR also avoids this issue.
Reported as https://github.com/llvm/llvm-project/issues/127284
Co-authored-by: Fangrui Song <i at maskray.me>
Reviewed By: MaskRay
Pull Request: https://github.com/llvm/llvm-project/pull/127286
Commit: 3a00c428d903c5857eae83cb5e9dab73614c5ddb
https://github.com/llvm/llvm-project/commit/3a00c428d903c5857eae83cb5e9dab73614c5ddb
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
Log Message:
-----------
[libc++] Add Hagenberg issues and papers to the Status pages (#127510)
Corresponding Github issues will be created shortly.
Commit: f7d03707d1f59cddab98d49fe55d8946477f87c8
https://github.com/llvm/llvm-project/commit/f7d03707d1f59cddab98d49fe55d8946477f87c8
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
M llvm/test/Transforms/FunctionAttrs/make-buffer-rsrc.ll
M llvm/test/Transforms/LICM/AMDGPU/buffer-rsrc-ptrs.ll
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[AMDGPU] Generalize amdgcn.make.buffer.rsrc to fat pointers (#126828)
Attempting to pass a `ptr addrspace(7)` to functions that take `ptr`
arguments produces undesirable `addrspacecast(addrspacecast(p8 x to p7)
to p0) => addrspacecast(p8 x to p0)` folds. This results in illegal GEP
operations on buffer resources, which can't be GEP'd. (However, note
that, while unimplemneted, addressspacecast from ptr addrspace(7) to ptr
is legal - it's just an effective address computation)
To resolve this problem, and thus prevent illegal
`getelementptr T, ptr addrspace(8) %x, ...` s from being produces, this
commit extends amdgcn.make.buffer.rsrc to also be variadic in its result
type, auto-upgrading old manglings.
The logic for handling a make.buffer.rsrc in instruction selection
remains untouched and expects the output type to be a ptr addrspace(8),
as does the Clang lowering for its builtin (the pointer-to-pointer
version might want a different name in clang). LowerBufferFatPointers
has been updated to lower
amdgcn.make.buffer.rsrc.p7.p* to amdgcn.make.buffer.rsrc.p8.p* .
This'll also make exposing buffer fat pointers in Clang easier, since
you don't have to cast between a `__amdgcn_rsrc_t` and a pointer.
Commit: 0049adfe122502444ca9cac6d059570e91e9b923
https://github.com/llvm/llvm-project/commit/0049adfe122502444ca9cac6d059570e91e9b923
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
M mlir/test/Target/Cpp/verbatim.mlir
Log Message:
-----------
[MLIR] emitc: Add fmtArgs to verbatim (#123294)
Allows to print code snippets that refer to arguments or local
variables. E.g. `emitc.verbatim "#pragma abc var={}" args %arg0 :
!emitc.ptr<i32>` is printed as `#pragma abc var=v1` when the translator
had decided to print `%arg0` as `v1`.
As a follow-up PR, we will use the same infra to extend opaque type,
which provides a way to generate template types depending on the
spelling of other types.
Commit: 1f5edb17b23f5ac0576f83a6c122ce38bd5ec18e
https://github.com/llvm/llvm-project/commit/1f5edb17b23f5ac0576f83a6c122ce38bd5ec18e
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
Log Message:
-----------
[lldb][Mach-O] Read dyld_all_image_infos addr from `main bin spec` LC_NOTE (#127156)
Mach-O corefiles have LC_NOTE metadata, one LC_NOTE that lldb recognizes
is `main bin spec` which can specify that this is a kernel corefile,
userland corefile, or firmware/standalone corefile. With a userland
corefile, the LC_NOTE would specify the virtual address of the dyld
binary's Mach-O header. lldb would create a Module from that in-memory
binary, find the `dyld_all_image_infos` object in dyld's DATA segment,
and use that object to find all of the binaries present in the corefile.
ProcessMachCore takes the metadata from this LC_NOTE and passes the
address to the DynamicLoader plugin via its `GetImageInfoAddress()`
method, so the DynamicLoader can find all of the binaries and load them
in the Target at their correct virtual addresses.
We have a corefile creator who would prefer to specify the address of
`dyld_all_image_infos` directly, instead of specifying the address of
dyld and parsing that to find the object. DynamicLoaderMacOSX, the
DynamicLoader plugin being used here, will accept either a dyld virtual
address or a `dyld_all_image_infos` virtual address from
ProcessMachCore, and do the correct thing with either value.
lldb's process save-core mach-o corefile reader will continue to specify
the virtual address of the dyld binary.
rdar://144322688
Commit: 2c05d026831f09d8c61eb752c8a0fbc1494fae6d
https://github.com/llvm/llvm-project/commit/2c05d026831f09d8c61eb752c8a0fbc1494fae6d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/EmitC/IR/EmitC.cpp:994:20: error: unused function
'parseVariadicTypeFmtArgs' [-Werror,-Wunused-function]
mlir/lib/Dialect/EmitC/IR/EmitC.cpp:1010:13: error: unused function
'printVariadicTypeFmtArgs' [-Werror,-Wunused-function]
Commit: 2847e1501e42bce813db10397230b5f33fc96b99
https://github.com/llvm/llvm-project/commit/2847e1501e42bce813db10397230b5f33fc96b99
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
M llvm/test/Analysis/ProfileSummary/basic.ll
Log Message:
-----------
[PGO] Fix incorrect count threshold calculation when 0% cutoff (#117359)
DefaultCutoffsData does not have an entry for the 0th percentile. As a
result, when the getEntryForPercentile method is called with a
percentile argument of 0, it returns a ProfileSummaryEntry for the 1st
percentile instead. This behavior affects the threshold calculations,
such as getHotCountThreshold, causing them to incorrectly identify some
sample profile counts as hot when they should not be.
This patch addresses the issue by handling the 0th percentile case in
the getEntryForPercentile method. This ensures that when the
-profile-summary-cutoff-hot (or -cold) option is set to 0, no sample
counts are treated as hot (or all sample counts are treated as cold).
Commit: 01f2f81f2b9a592e64a7efe9b1ee154d0979ee0a
https://github.com/llvm/llvm-project/commit/01f2f81f2b9a592e64a7efe9b1ee154d0979ee0a
Author: Eugene Epshteyn <59377284+eugeneepshteyn at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
Log Message:
-----------
[flang-rt] Fixed uninitialized class member variable (#127681)
valgrind complained that `OpenStatementState::pathLength_` was used
before it was initialized, when a file was opened with
`status='scratch'`. The code seems to expect that `pathLengh_` should be
initialized to 0, so added default initialization to the declaration.
Commit: 78703c176fb725012d4569dc38a1c5711536badc
https://github.com/llvm/llvm-project/commit/78703c176fb725012d4569dc38a1c5711536badc
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/include/bolt/Core/BUILD.gn
Log Message:
-----------
[gn] port e235fcb582ee more (bolt TargetConfig.def)
Commit: 8983d7a521ae9be47d9440e10d4398a24742d292
https://github.com/llvm/llvm-project/commit/8983d7a521ae9be47d9440e10d4398a24742d292
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 5ecce45ea298
Commit: 8529bd7b964cc9fafe8fece84f7bd12dacb09560
https://github.com/llvm/llvm-project/commit/8529bd7b964cc9fafe8fece84f7bd12dacb09560
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
Log Message:
-----------
[AMDGPU] Respect MBB alignment in the getFunctionCodeSize() (#127142)
Commit: db5bc8e9d07729ce4994cc908275722a093e5c0c
https://github.com/llvm/llvm-project/commit/db5bc8e9d07729ce4994cc908275722a093e5c0c
Author: nerix <nerixdev at outlook.de>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaStmt.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
Log Message:
-----------
[Clang] Warn about `[[noreturn]]` on coroutines (#127623)
Declaring a coroutine `[[noreturn]]` doesn't make sense, because it will
always return its handle. Clang previously crashed when trying to warn
about this (diagnostic ID was 0).
Fixes #127327.
Commit: 0f6c18e8c65b273af7e7af7ef38f78b4b66c481b
https://github.com/llvm/llvm-project/commit/0f6c18e8c65b273af7e7af7ef38f78b4b66c481b
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice.ll
M llvm/test/Transforms/SandboxVectorizer/bottomup_seed_slice_pow2.ll
M llvm/test/Transforms/SandboxVectorizer/cross_bbs.ll
M llvm/test/Transforms/SandboxVectorizer/pack.ll
M llvm/test/Transforms/SandboxVectorizer/repeated_instrs.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/test/Transforms/SandboxVectorizer/special_opcodes.ll
Log Message:
-----------
[SandboxVec] Replace hard-coded context save() with transaction-save pass (#127690)
This patch implements a small region pass that saves the context's
state. The patch is now used in the default pipeline to save the context
state instead of the hard-coded call to Context::save().
The concept behind this is that the passes themselves should not have to
do the actual saving/restoring of the IR state, because that would make
it challenging to reorder them in the pipeline. Having separate
save/restore passes makes the transformation passes more composable as
parts of arbitrary pipelines.
Commit: beaca53947a2d95e2798a783f86198337a849d12
https://github.com/llvm/llvm-project/commit/beaca53947a2d95e2798a783f86198337a849d12
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0f6c18e8c65b
Commit: 0afe2bd21b06bed4d48eb88a99d13a768426359c
https://github.com/llvm/llvm-project/commit/0afe2bd21b06bed4d48eb88a99d13a768426359c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test trunc to i1 in foldSelectICmpAnd. (NFC)
Commit: 9bf582fc090f28c2423fdf472635c39145a13bc9
https://github.com/llvm/llvm-project/commit/9bf582fc090f28c2423fdf472635c39145a13bc9
Author: Timothy Herchen <timothy.herchen at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
Log Message:
-----------
[clang][docs] Fix typos concerning wasm __funcref (#124365)
The docs conflate `__funcref` with an actual type in a couple places.
Commit: 7c24041895bc46dc19634e285a8907c787f8a3f9
https://github.com/llvm/llvm-project/commit/7c24041895bc46dc19634e285a8907c787f8a3f9
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] reopen "FLAT_load using D16 pseudo instruction" (#127673)
Previous patch is merged
https://github.com/llvm/llvm-project/pull/114500 and it hit a buildbot
failure and thus reverted
It seems the AMDGPU::OpName::OPERAND_LAST is removed at the meantime
when previous patch is merged and that's causing the compile error.
Fixed and reopen it here
Commit: 3430bc31a77381ddb5048ae9d33470254f746ceb
https://github.com/llvm/llvm-project/commit/3430bc31a77381ddb5048ae9d33470254f746ceb
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-resize.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Make TOSA RESIZE's scale, offset, border as Input (#124956)
Move the `scale`, `offset`, and `border` parameters of the RESIZE
operator in the MLIR TOSA dialect from attributes to inputs and update
lit tests appropriately.
Add the verifier of the `tosa::ResizeOp` operation.
---------
Co-authored-by: Tai Ly <tai.ly at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 0cc7381543e363da1f609ea4a1bbb57f573b0d20
https://github.com/llvm/llvm-project/commit/0cc7381543e363da1f609ea4a1bbb57f573b0d20
Author: vporpo <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Don't insert scheduled instrs into the ready list (#127688)
In a particular scenario (see test) we used to insert scheduled
instructions into the ready list. This patch fixes this by fixing the
trimSchedule() function.
Commit: 02c9dae8149722448ac955a3dad774a1a82d2df0
https://github.com/llvm/llvm-project/commit/02c9dae8149722448ac955a3dad774a1a82d2df0
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/unittests/Target/DirectX/CMakeLists.txt
A llvm/unittests/Target/DirectX/UniqueResourceFromUseTests.cpp
Log Message:
-----------
[HLSL] Add support to lookup a ResourceBindingInfo from its use (#126556)
Adds `findByUse` which takes a `llvm::Value` from a use and resolves it
(as best as possible) back to the creation of that resource.
It may return multiple ResourceBindingInfo if the use comes from
branched control flow.
Fixes #125746
Commit: 738f3a1493995875f1d8d557946ec8c3c557f5ab
https://github.com/llvm/llvm-project/commit/738f3a1493995875f1d8d557946ec8c3c557f5ab
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Target/DirectX/BUILD.gn
Log Message:
-----------
[gn build] Port 02c9dae81497
Commit: e10ac5fc71578a043eab6a2a53f0171c9230db97
https://github.com/llvm/llvm-project/commit/e10ac5fc71578a043eab6a2a53f0171c9230db97
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][NFC] Fix unused variable warning in test
Commit: 61cfa53896f3cf6d3356caa747311792053d5524
https://github.com/llvm/llvm-project/commit/61cfa53896f3cf6d3356caa747311792053d5524
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
Log Message:
-----------
[compiler-rt][asan] Re-enable forkpty test on AArch64 (NFC) (#127667)
Disabled in 86474c7a1addf59d511050552b697b8b2af61838, no longer failing
on AArch64 (for me at least).
Fixes: https://github.com/llvm/llvm-project/issues/24774
Commit: 2207e3e32549306bf563c6987f790cabe8d4ea78
https://github.com/llvm/llvm-project/commit/2207e3e32549306bf563c6987f790cabe8d4ea78
Author: A. Jiang <de34 at live.cn>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/include/version
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Set feature-test macro `__cpp_lib_atomic_float` (#127559)
The corresponding feature was implemented in LLVM 18 (by #67799), but
this FTM wasn't added before.
Commit: b2659ca44b2e26b558fce66689792709411c7d38
https://github.com/llvm/llvm-project/commit/b2659ca44b2e26b558fce66689792709411c7d38
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] Propagate flags in `foldSelectICmpAndBinOp` (#127437)
It is always safe to add poison-generating flags for `BinOp Y,
Identity`.
Proof: https://alive2.llvm.org/ce/z/8BLEpq
and https://alive2.llvm.org/ce/z/584Bb4
Then we can propagate flags from one of the arms:
```
select Cond, Y, (BinOp flags Y, Z) ->
select Cond, (BinOp flags Y, Identity), (BinOp flags Y, Z) ->
BinOp flags Y, (select Cond, Identity, Z)
```
This patch is proposed to avoid information loss caused by
https://github.com/llvm/llvm-project/pull/127390.
Commit: da47a80d0398d4b5c680ab31a15f48293c731091
https://github.com/llvm/llvm-project/commit/da47a80d0398d4b5c680ab31a15f48293c731091
Author: Ken Matsui <26405363+ken-matsui at users.noreply.github.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/test/Analysis/ProfileSummary/basic.ll
Log Message:
-----------
[PGO][test] Specify exact match for check labels (#117376)
Some check labels in the basic.ll test are simply f[1-3], which matches
all cases where the function entry is hot, cold, or uncategorized. Since
the actual test results for each label have mixed cases, the current
labels can be considered ambiguous.
This patch specifies exact matches for each label to ensure more precise
validation and to prevent potential regressions in the future.
Commit: b100c5074bb761f1a2ca39c4e274aa2f7e724439
https://github.com/llvm/llvm-project/commit/b100c5074bb761f1a2ca39c4e274aa2f7e724439
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/wasm/data-segments.ll
Log Message:
-----------
[lld][WebAssembly] Fix warnings in test. NFC (#127714)
Commit: f6d74af4d9cabb9a940656887c82aaba3ad1f922
https://github.com/llvm/llvm-project/commit/f6d74af4d9cabb9a940656887c82aaba3ad1f922
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Basic/Targets/X86.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/Preprocessor/riscv-cf-protection-return.c
Log Message:
-----------
[clang][X86] Only define __CET__ macro for X86 targets (#127616)
The `-fcf-protection` flag is now also used to enable CFI features for
the RISC-V target, so it's not suitable to define `__CET__` solely based
on the flag anymore. This patch moves the definition of the `__CET__`
macro into X86 target hook, so only X86 targets with the
`-fcf-protection` flag would enable the `__CET__` macro.
See https://github.com/llvm/llvm-project/pull/109784 and
https://github.com/llvm/llvm-project/pull/112477 for the adoption
of `-fcf-protection` flag for RISC-V targets.
Commit: 715edd70fdbda213668b55405c27c63292516fba
https://github.com/llvm/llvm-project/commit/715edd70fdbda213668b55405c27c63292516fba
Author: Chris B <chris.bieneman at me.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaInit.cpp
A clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
Log Message:
-----------
[HLSL] Allow arrays to copy-initialize (#127557)
This change allows array variables to copy-initialize from other arrays.
It also corrects a small error in HLSL C-Style casting that did not
error on casting to arrays if elementwise and splat conversions fail.
Fixes #127551
Commit: 6662fe393cab2c4e550002c276813a89d9ab4443
https://github.com/llvm/llvm-project/commit/6662fe393cab2c4e550002c276813a89d9ab4443
Author: Mikołaj Piróg <mikolaj.maciej.pirog at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86CallingConv.td
A llvm/test/CodeGen/X86/bfloat-calling-conv.ll
Log Message:
-----------
[X86] Add missing vNbf16 handling in X86CallingConv.td file (#127102)
Lack of these entries caused clang to crash on the following code:
```c
__m256bh fun(__m256bh arg) {
return arg;
}
__m256bh run() {
__m256bh arg= {0};
fun(arg);
}
```
It caused the FastISel to fail since it handled the call lowering basing
on the X86CallingConv table.
Curiously, if FastISel fails somewhere down the line and
selectionDAGISel fallbacks, the crash does not occur. Following code
_does not_ crash:
```c
__m256bh fun(__m256bh arg) {
return arg;
}
__m256bh run() {
__m256bh arg= {0};
return fun(arg);
}
```
This is puzzling to me. Obviously, if FastISel fails then compiler
fallbacks to something else to lower these calls -- but since the
X86callingConv table _doesn't_ have entries for vNbf16 how does this
other thing manage not to crash? It has to use some other mechanism, one
which doesn't use the table. This rises following questions:
- how is this lowering accomplished without, presumably, using the
CallingConv entries?
- why is the table not used? I mean this points to some logic
duplication (fastISel way vs. the other bug-free way)
- How to properly test this? There is a test for vNbf16 values, but it
also must not be using the FastISel path? This duplication of logic
makes it hard to test this, since we don't have direct control whether
the FastISel path or the other one is used.
Nonetheless, this PR fixes the crash, though I didn't create a test for
it, since I am unsure yet how it should look like. I would like to learn
how the working non-FastISel mechanism works; I tried looking for it,
but didn't yet manage to find anything
Commit: aed9f11965d44e86fa5a53c7a6c1dfc7d8cbe6b8
https://github.com/llvm/llvm-project/commit/aed9f11965d44e86fa5a53c7a6c1dfc7d8cbe6b8
Author: Chaitanya <Krishna.Sankisa at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
Log Message:
-----------
[AMDGPU] Handle lowering addrspace casts from LDS to FLAT address in amdgpu-sw-lower-lds. (#121214)
"infer-address-spaces" pass replaces all refinable generic pointers with
equivalent specific pointers.
At -O0 optimisation level, infer-address-spaces pass doesn't run in the
pipeline.
"amdgpu-sw-lower-lds" pass instruments memory operations on addrspace(3)
ptrs. Since, extra addrspacecasts are present from lds to flat
addrspaces at -O0 and the actual store/load memory instructions are now
on flat addrspace, these addrspacecast need to be handled in the
amdgpu-sw-lower-lds pass itself. This patch lowers the lds ptr first to
the corresponding ptr in the global memory from the asan_malloc. Then
replaces the original cast with addrspacecast from global ptr to flat
ptr.
Commit: 22d65d898961e96f0a8340e090ffa34558279eab
https://github.com/llvm/llvm-project/commit/22d65d898961e96f0a8340e090ffa34558279eab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
Log Message:
-----------
AMDGPU: Teach isOperandLegal about SALU literal restrictions (#127626)
isOperandLegal mostly implemented the VALU operand rules, and
largely ignored SALU restrictions. This theoretically avoids
folding literals into SALU insts which already have a literal
operand. This issue is currently avoided due to a bug in
SIFoldOperands; this change will allow using raw operand
legality rules.
This breaks the formation of s_fmaak_f32 in SIFoldOperands,
but it probably should not have been forming there in the first
place. TwoAddressInsts or RA should generally handle that,
and this only worked by accident.
Commit: 27e6561d108e8a3c17432b14bb5e8675c22a787b
https://github.com/llvm/llvm-project/commit/27e6561d108e8a3c17432b14bb5e8675c22a787b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
Log Message:
-----------
[Sparc] Use MCRegister. NFC
Commit: 8187caf8e3691b47ca5c9849df4cebd2f46a8fea
https://github.com/llvm/llvm-project/commit/8187caf8e3691b47ca5c9849df4cebd2f46a8fea
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
Log Message:
-----------
[NFC][AMDGPU] Pre-commit a test case of checking register coalescer on `v_pk_mov_b32` (#127715)
This PR serves as a preliminary step, adding a test case for register coalescer on v_pk_mov_b32. It is intended to demonstrate the code changes introduced in an upcoming PR.
Commit: 6c39ee717f03a0fe28f563d525fa5aff09804ba8
https://github.com/llvm/llvm-project/commit/6c39ee717f03a0fe28f563d525fa5aff09804ba8
Author: tianleliu <tianle.l.liu at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/test/Driver/cl-link.c
Log Message:
-----------
[Driver][MSVC] Pass profile file to lld-link via -lto-sample-profile option (#127442)
In SPGO lto mode, linker needs -lto-sample-profile option to set sample
profile file.
Linux adds this option by transferring fprofile-sample-use to
-plugin-opt=sample-profile=, which is alias of lto-sample-profile. (in
clang\lib\Driver\ToolChains\CommonArgs.cpp: tools::addLTOOptions()).
But clang on Windows misses the transferring. So add it now.
Commit: 8b284dc31070b9d1d99c593146da6248a5ca545d
https://github.com/llvm/llvm-project/commit/8b284dc31070b9d1d99c593146da6248a5ca545d
Author: Hongren Zheng <i at zenithal.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Interfaces/FunctionInterfaces.cpp
Log Message:
-----------
[mlir] Fix FunctionOpInterface impl for external func (#124693)
For function declarations (i.e. func op has no entry block), the
FunctionOpInterface method `insertArgument` and `eraseArgument` will
cause segfault. This PR guards against manipulation of empty entry block
by checking whether func op is external.
An example can be seen in https://github.com/google/heir/pull/1324
The segfault trace
```
#1 0x0000560f1289d9db PrintStackTraceSignalHandler(void*) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:874:1
#2 0x0000560f1289b116 llvm::sys::RunSignalHandlers() /proc/self/cwd/external/llvm-project/llvm/lib/Support/Signals.cpp:105:5
#3 0x0000560f1289e145 SignalHandler(int) /proc/self/cwd/external/llvm-project/llvm/lib/Support/Unix/Signals.inc:415:1
#4 0x00007f829a3d9520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x0000560f1257f8bc void __gnu_cxx::new_allocator<mlir::BlockArgument>::construct<mlir::BlockArgument, mlir::BlockArgument>(mlir::BlockArgument*, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/ext/new_allocator.h:162:23
#6 0x0000560f1257f84d void std::allocator_traits<std::allocator<mlir::BlockArgument> >::construct<mlir::BlockArgument, mlir::BlockArgument>(std::allocator<mlir::BlockArgument>&, mlir::BlockArgument*, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/alloc_traits.h:520:2
#7 0x0000560f12580498 void std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> >::_M_insert_aux<mlir::BlockArgument>(__gnu_cxx::__normal_iterator<mlir::BlockArgument*, std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> > >, mlir::BlockArgument&&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:405:7
#8 0x0000560f1257cf7e std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> >::insert(__gnu_cxx::__normal_iterator<mlir::BlockArgument const*, std::vector<mlir::BlockArgument, std::allocator<mlir::BlockArgument> > >, mlir::BlockArgument const&) /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/vector.tcc:154:6
#9 0x0000560f1257b349 mlir::Block::insertArgument(unsigned int, mlir::Type, mlir::Location) /proc/self/cwd/external/llvm-project/mlir/lib/IR/Block.cpp:178:13
#10 0x0000560f123d2a1c mlir::function_interface_impl::insertFunctionArguments(mlir::FunctionOpInterface, llvm::ArrayRef<unsigned int>, mlir::TypeRange, llvm::ArrayRef<mlir::DictionaryAttr>, llvm::ArrayRef<mlir::Location>, unsigned int, mlir::Type) /proc/self/cwd/external/llvm-project/mlir/lib/Interfaces/FunctionInterfaces.cpp:232:11
#11 0x0000560f0be6b727 mlir::detail::FunctionOpInterfaceTrait<mlir::func::FuncOp>::insertArguments(llvm::ArrayRef<unsigned int>, mlir::TypeRange, llvm::ArrayRef<mlir::DictionaryAttr>, llvm::ArrayRef<mlir::Location>) /proc/self/cwd/bazel-out/k8-dbg/bin/external/llvm-project/mlir/include/mlir/Interfaces/FunctionInterfaces.h.inc:809:7
#12 0x0000560f0be6b536 mlir::detail::FunctionOpInterfaceTrait<mlir::func::FuncOp>::insertArgument(unsigned int, mlir::Type, mlir::DictionaryAttr, mlir::Location) /proc/self/cwd/bazel-out/k8-dbg/bin/external/llvm-project/mlir/include/mlir/Interfaces/FunctionInterfaces.h.inc:796:7
```
Commit: 960b80c9f89eef9203ccd46c449008958eb3d5d9
https://github.com/llvm/llvm-project/commit/960b80c9f89eef9203ccd46c449008958eb3d5d9
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M lld/test/ELF/input-section-flags.s
Log Message:
-----------
[ELF] Improve INPUT_SECTION_FLAGS test
Commit: a44284c02f39f68a754471a7e00b61ebf448d271
https://github.com/llvm/llvm-project/commit/a44284c02f39f68a754471a7e00b61ebf448d271
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
Log Message:
-----------
[AMDGPU] Add `isAsCheapAsAMove` for `v_pk_mov_b32` (#127632)
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: fb394451ca8de4536ba9a8aca2144248bc3fdea8
https://github.com/llvm/llvm-project/commit/fb394451ca8de4536ba9a8aca2144248bc3fdea8
Author: LiqinWeng <liqin.weng at spacemit.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Add vfsqrt/vfrsqrt7 instruction to isSupportInstr (#127462)
Commit: 1c02c8f6fcbea1750e0c50c8a22af29b19588d72
https://github.com/llvm/llvm-project/commit/1c02c8f6fcbea1750e0c50c8a22af29b19588d72
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[clang] fix use after free in clang/tools/c-index-test/c-index-test.c (#127063)
recent change e76739eeb952940b2979c70ba44a28fecf592695 has exposed
use after free in GetCursorSource() function that returned pointer to
a disposed CXString
Commit: 6b67aac31377992465c419b5a296f9a7ba8e7984
https://github.com/llvm/llvm-project/commit/6b67aac31377992465c419b5a296f9a7ba8e7984
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Bindings/Python/NanobindAdaptors.h
Log Message:
-----------
[mlir:python] Improve `mlir_(attribute|type|value)_subclass` for `nanobind`s `stubgen` (#127584)
This PR makes several improvements to the stubs that are created by
`mlir_(attribute|type|value)_subclass`.
First, the PR sets the `__module__` attribute of the classes generated
by the nanobind adaptors for attributes, types, and values (via
`mlir_(attribute|type|value)_subclass`). By default, the `__module__`
property is set to `importlib._bootstrap`, which isn't where we want the
new class to live. The new logic sets the property to the name of the
module provided as `scope` instead. This also makes nanobind's `stubgen`
generate stubs for those classes properly, which ignores classes whose
`__module__` does not correspond to the module it is generating stubs
for. This resolves #127518.
Second, the PR overwrites the function signatures generated by `stubgen`
to a format that uses the desired type names (e.g., `mlir.ir.Attribute`
instead of `MlirAttribute`).
Finally, the PR piggy-backs some minor doc and style improvements to
`PythonAdaptors.h`.
---------
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 8f41d28d89ee287d0f5a6518116ab316be2657b8
https://github.com/llvm/llvm-project/commit/8f41d28d89ee287d0f5a6518116ab316be2657b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M clang/tools/c-index-test/c-index-test.c
Log Message:
-----------
[c-index-test] Fix warnings
This patch fixes:
clang/tools/c-index-test/c-index-test.c:1240:15: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
clang/tools/c-index-test/c-index-test.c:1367:14: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
clang/tools/c-index-test/c-index-test.c:1468:14: error: mixing
declarations and code is a C99 extension
[-Werror,-Wdeclaration-after-statement]
Commit: c4f8da94a143b954de975091b3ec563bb01b0837
https://github.com/llvm/llvm-project/commit/c4f8da94a143b954de975091b3ec563bb01b0837
Author: Matthias Gehre <matthias.gehre at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[MLIR][emitc]: Remove unused functions (NFC)
Commit: 9072ba71cac6d518b4164615c609e358d49c4ed2
https://github.com/llvm/llvm-project/commit/9072ba71cac6d518b4164615c609e358d49c4ed2
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
Log Message:
-----------
[libc] Add strftime_l (#127708)
This is a (no-op) locale version of strftime.
Commit: 850062cf498a7aa408e0ff071c4c52ad5c135355
https://github.com/llvm/llvm-project/commit/850062cf498a7aa408e0ff071c4c52ad5c135355
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
Log Message:
-----------
[AA] Consider extractvalue and extractelement as escape sources (#127640)
CaptureTracking considers insertions into aggregates and vectors as
captures. As such, extractions from aggregates and vectors are escape
sources. A non-escaping identified local cannot alias with the result of
an extractvalue/extractelement.
Fixes https://github.com/llvm/llvm-project/issues/126670.
Commit: a2b4d4e756ff2710e15a6378e337fb5888e5ac36
https://github.com/llvm/llvm-project/commit/a2b4d4e756ff2710e15a6378e337fb5888e5ac36
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
R libc/src/time/strftime_l.cpp
R libc/src/time/strftime_l.h
Log Message:
-----------
Revert "[libc] Add strftime_l" (#127766)
Reverts llvm/llvm-project#127708
Commit: b9a1e58b2c63c9c0ef775d97d6728b64083a2239
https://github.com/llvm/llvm-project/commit/b9a1e58b2c63c9c0ef775d97d6728b64083a2239
Author: Vladislav Belov <vladislav.belov at syntacore.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/vcpop-compute-known-bits.ll
A llvm/test/CodeGen/RISCV/rvv/vcpop-shl-zext-opt.ll
Log Message:
-----------
[RISCVISel] Compute leading zeros for RISCVISD::VCPOP_VL node (#127705)
This patch adds handling of the RISCVISD::VCPOP_VL node in
RISCVTargetLowering::computeKnownBitsForTargetNode. It eliminates
redundant zero-extension instructions.
Commit: 99aea2176ba2327264501befbbd8dc6da4d64f94
https://github.com/llvm/llvm-project/commit/99aea2176ba2327264501befbbd8dc6da4d64f94
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
Log Message:
-----------
[Flang][OpenMP] Skip threadprivate HostAssoc symbols for default privatization (#127754)
Issue: Compilation abnormally terminates in parallel default(private)
Documentation reference:
A threadprivate variable must not appear as the base variable of a list
item in any clause except for the copyin and copyprivate clauses
Explanation:
>From the reference, the threadprivate symbols cannot be used in the DSA
clauses, which in turn means, the symbol can be skipped for default
privatization
Fixes #123535
Commit: a2f9ae1421a31e987a4d0c7352137d371709f41d
https://github.com/llvm/llvm-project/commit/a2f9ae1421a31e987a4d0c7352137d371709f41d
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
M libc/docs/gpu/using.rst
M libclc/CMakeLists.txt
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/test/lit.cfg
Log Message:
-----------
[AMDGPU] Replace gfx940 and gfx941 with gfx942 in offload and libclc (#125826)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
For SWDEV-512631 and SWDEV-512633
Commit: 55fb793dc9ea8cb81169e54133d0603bc9c02840
https://github.com/llvm/llvm-project/commit/55fb793dc9ea8cb81169e54133d0603bc9c02840
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
Log Message:
-----------
[AMDGPU] Add missing gfx architectures to AddFlangOffloadRuntime.cmake (#125827)
Commit: d4cb75ef8b67864678182e7f21227f4365893578
https://github.com/llvm/llvm-project/commit/d4cb75ef8b67864678182e7f21227f4365893578
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-analysis.mlir
Log Message:
-----------
[mlir][bufferization] Module bufferization: Delete obsolete code (#127455)
Delete `equivalenceAnalysis`, which has been incorporated into the
`getAliasingValues` API. Also add an additional test case to ensure that
equivalence is properly propagated across function boundaries.
Commit: 8900e412aec04b202b9f071d110f96546989beef
https://github.com/llvm/llvm-project/commit/8900e412aec04b202b9f071d110f96546989beef
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 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/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats.mlir
M mlir/test/Conversion/AMDGPUToROCDL/mfma.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-float-saturation.mlir
M mlir/test/Conversion/ArithToAMDGPU/8-bit-floats.mlir
M mlir/unittests/Dialect/AMDGPU/AMDGPUUtilsTest.cpp
Log Message:
-----------
[AMDGPU][MLIR] Replace gfx940 and gfx941 with gfx942 in MLIR (#125836)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
For SWDEV-512631
Commit: f3f4afe43f4e0f2a07bfb53ba70507e663c9996c
https://github.com/llvm/llvm-project/commit/f3f4afe43f4e0f2a07bfb53ba70507e663c9996c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
Log Message:
-----------
[X86] matchUnaryShuffle - add support for matching 512-bit extension patterns. (#127643)
Handles both BWI and non-BWI cases (skips PMOV*XBW without BWI).
The vector-interleaved-store-i8-stride-8.ll VPTERNLOG diffs are due to
better value tracking now recognizing the zero-extension patterns where
before it was any-extension
Commit: 029c8e783d17d55541b308ee6db5429d54cb5153
https://github.com/llvm/llvm-project/commit/029c8e783d17d55541b308ee6db5429d54cb5153
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
R clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/hip-macros.hip
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
R clang/test/SemaOpenCL/builtins-amdgcn-error-gfx940-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
Log Message:
-----------
[AMDGPU][clang] Replace gfx940 and gfx941 with gfx942 in clang (#126762)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
This PR removes all occurrences of gfx940/gfx941 from clang that can be
removed without changes in the llvm directory. The
target-invalid-cpu-note/amdgcn.c test is not included here since it
tests a list of targets that is defined in
llvm/lib/TargetParser/TargetParser.cpp.
For SWDEV-512631
Commit: 4af8c5382e12a74a3c79c573e029d681719a323b
https://github.com/llvm/llvm-project/commit/4af8c5382e12a74a3c79c573e029d681719a323b
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/test/Bitcode/constexpr-to-instr-metadata-2.ll
M llvm/test/Bitcode/constexpr-to-instr-metadata.ll
Log Message:
-----------
[BitcodeReader] Use `poison` instead of `undef` to represent unsupported constexprs in metadata (#127665)
Metadata that references unsupported constant expressions can be
represented with `poison` metadata instead of `undef` metadata.
Commit: cc539138acf742f53ef455147182a8de11980a02
https://github.com/llvm/llvm-project/commit/cc539138acf742f53ef455147182a8de11980a02
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
A lld/test/wasm/lto/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-truncsfhf2.ll
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/Mips/fp16-promote.ll
M llvm/test/CodeGen/Mips/ldexp.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/pr49092.ll
M llvm/test/CodeGen/PowerPC/vector-llrint.ll
M llvm/test/CodeGen/PowerPC/vector-lrint.ll
M llvm/test/CodeGen/SPARC/fp16-promote.ll
M llvm/test/CodeGen/VE/Scalar/fp_extload_truncstore.ll
M llvm/test/CodeGen/X86/cvt16.ll
M llvm/test/CodeGen/X86/fmf-flags.ll
M llvm/test/CodeGen/X86/fp-i129.ll
M llvm/test/CodeGen/X86/fp128-cast-strict.ll
M llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
M llvm/test/CodeGen/X86/fptoui-sat-scalar.ll
M llvm/test/CodeGen/X86/frem.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/ldexp.ll
M llvm/test/CodeGen/X86/llvm.frexp.ll
M llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp
Log Message:
-----------
[CodeGen] Use __extendhfsf2 and __truncsfhf2 by default (#126880)
The standard libcalls for half to float and float to half conversion are
__extendhfsf2 and __truncsfhf2. However, LLVM currently uses
__gnu_h2f_ieee and __gnu_f2h_ieee instead. As far as I can tell, these
libcalls are an ARM-ism and only provided by libgcc on that platform.
compiler-rt always provides both libcalls.
Use the standard libcalls by default, and only use the __gnu libcalls on
ARM.
Commit: 8615f9aaffd4337a33ea979f010c4d6410ba6125
https://github.com/llvm/llvm-project/commit/8615f9aaffd4337a33ea979f010c4d6410ba6125
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Replace gfx940 and gfx941 with gfx942 in llvm (#126763)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
This PR removes all non-documentation occurrences of gfx940/gfx941 from
the llvm directory, and the remaining occurrences in clang.
Documentation changes will follow.
For SWDEV-512631
Commit: 17602893409a0d396d37162a3b42254689e02e09
https://github.com/llvm/llvm-project/commit/17602893409a0d396d37162a3b42254689e02e09
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/cxx20.cpp
Log Message:
-----------
[clang][bytecode] Fix three-way unordered non-pointer comparisions (#127759)
This _can_ happen with non-pointers, but we shouldn't diagnose it in
that case.
Commit: 2260d592578082abd0e1f57bab7d4d9b18b687d1
https://github.com/llvm/llvm-project/commit/2260d592578082abd0e1f57bab7d4d9b18b687d1
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
Log Message:
-----------
[AMDGPU] Remove FeatureForceStoreSC0SC1 (#126878)
This was only used for gfx940 and gfx941, which have since been removed.
For SWDEV-512631
Commit: db597084c5dbbf896d121b74ba80a7a76250fc78
https://github.com/llvm/llvm-project/commit/db597084c5dbbf896d121b74ba80a7a76250fc78
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/docs/AMDGPUOperandSyntax.rst
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][docs] Replace gfx940 and gfx941 with gfx942 in llvm/docs (#126887)
gfx940 and gfx941 are no longer supported. This is one of a series of
PRs to remove them from the code base.
This PR removes all documentation occurrences of gfx940/gfx941 except
for the gfx940 ISA description, which will be the subject of a separate
PR.
For SWDEV-512631
Commit: 0607f94280820d38d4f120952a6a09891a046853
https://github.com/llvm/llvm-project/commit/0607f94280820d38d4f120952a6a09891a046853
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
Log Message:
-----------
[X86] getFauxShuffleMask - add support for vXi64/vXf64 concat_vectors decoding (#127630)
Similar to insert_subvector - limit this to vXi64 vector cases to make the most of cross lane shuffles (for now).
Commit: c442b39770baa397a98ecfb79719cc09081e4a81
https://github.com/llvm/llvm-project/commit/c442b39770baa397a98ecfb79719cc09081e4a81
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/docs/AMDGPU/AMDGPUAsmGFX940.rst
Log Message:
-----------
[AMDGPU][docs][NFC] Replace gfx940 with gfx942 in the gfx940 ISA doc (#126906)
gfx940 and gfx941 are no longer supported. This is the last one of a
series of PRs to remove them from the code base.
The ISA documentation still contains a lot of links and file names with
the "gfx940" identifier. Changing them to "gfx942" is probably not worth
the cost of breaking all URLs to these pages that users might have saved
in the past.
For SWDEV-512631
Commit: 160da73b8583b2f94cba81b220710684a9590da3
https://github.com/llvm/llvm-project/commit/160da73b8583b2f94cba81b220710684a9590da3
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/lib/Lower/Support/Utils.cpp
M flang/test/Lower/OpenMP/atomic-update.f90
Log Message:
-----------
[Flang] Check if two ArrayConstructor's are Equal (#121181)
This also includes comparing the two ImpliedDo
Details
- For ArrayConstructor, check if x and y have the same
elements and type
- For ImpliedDo, check if x and y have the same lower,
upper, stride and values
Fixes: https://github.com/llvm/llvm-project/issues/104526
Commit: 7781e1040dc5b4a920628ee086e239cf46f74e49
https://github.com/llvm/llvm-project/commit/7781e1040dc5b4a920628ee086e239cf46f74e49
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
[clang] Lower non-builtin sincos[f|l] calls to llvm.sincos.* when -fno-math-errno is set (#121763)
This will allow vectorizing these calls (after a few more patches). This
should not change the codegen for targets that enable the use of AA
during the codegen (in `TargetSubtargetInfo::useAA()`). This includes
targets such as AArch64. This notably does not include x86 but can be
worked around by passing `-mllvm -combiner-global-alias-analysis=true`
to clang.
Follow up to #114086.
Commit: 1509b46ea5617402634270a01e840356ef935436
https://github.com/llvm/llvm-project/commit/1509b46ea5617402634270a01e840356ef935436
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/clc/lib/generic/math/clc_nextafter.cl
Log Message:
-----------
[libclc] Improve nextafter behaviour around zero (#127469)
This commit improves the behaviour of (__clc_)nextafter around zero.
Specifically, the nextafter value of very small negative numbers in the
positive direction is now negative zero. Previously we'd return positive
zero.
This behaviour is not required as far as OpenCL is concerned: at least,
the CTS isn't testing for it. However, this change does bring our
implementation into bit-equivalence with (libstdc++'s implementation of)
std::nextafter, tested on all possible values of 32-bit float towards
both positive and negative INFINITY.
Furthermore, since the implementation of libclc's floating-point 'rtp'
and 'rtz' conversions use __clc_nextafter, the previous behaviour was
resulting in CTS validation issues. For example, when converting float
-0x1.000002p-25 to half, rounding towards zero or positive infinity,
nextafter was returning +0.0, whereas the correct conversion requires us
to return -0.0.
We could work around this issue in the conversion functions, but since
the change to nextafter is small enough and the behaviour around zero
matches libstdc++, the fix feels at home there.
This commit also converts several variables to unsigned types to avoid
undefined behaviour surrounding signed underflow on the subtractions.
It also converts some variables to be kept in floating-point types, using
fabs to get the absolute value rather than by bit-hacking.
Commit: 3c938d0d534221c44bd2477e7f95c7b5bbb6fc7a
https://github.com/llvm/llvm-project/commit/3c938d0d534221c44bd2477e7f95c7b5bbb6fc7a
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
Log Message:
-----------
[MLIR][Affine] Fix affine.parallel op verifier (#127611)
Fix affine.parallel op verifier for missing check on zero result lower
or upper bound maps. lb/ub maps should have at least one result.
Fixes: https://github.com/llvm/llvm-project/issues/120186
Commit: 0de2ccab7be85aeeefcd5757d29126246c373731
https://github.com/llvm/llvm-project/commit/0de2ccab7be85aeeefcd5757d29126246c373731
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction.f90
A flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/declare-reduction.f90
Log Message:
-----------
[flang][OpenMP]Improve support for DECLARE REDUCTION (#127088)
Part of the DECLARE REDUCTION was already supported by the parser, but
the semantics to add the reduction identifier wasn't implemented.
The semantics would not accept the name given by the reduction, so a few
lines added to support that.
Some tests were in place but not quite working, so fixed those up too.
Adding new tests for unparsing and parse-tree, as well as checking the
symbolic name being generated.
Lowering of DECLARE REDUCTION is not supported in this patch, and a test
that it hits the relevant TODO is in this patch (most of this was
already existing, but not actually testing the TODO message).
Commit: 404f94ac7d8c368fba8ad1f97512c26efd5ec965
https://github.com/llvm/llvm-project/commit/404f94ac7d8c368fba8ad1f97512c26efd5ec965
Author: Elvina Yakubova <eyakubova at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/test/CodeGen/AArch64/cpus.ll
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64] Add optional extensions enabled on Grace (#127620)
Enable optional ISA extensions on Grace when mcpu=grace
is used: sve2-sm4, sve2-aes, sve2-sha3.
Grace is no longer an alias, but a separate CPU definition.
Commit: fadbc33b01d6815bf05d802d1323322262b54d42
https://github.com/llvm/llvm-project/commit/fadbc33b01d6815bf05d802d1323322262b54d42
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Symbol/LineTable.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Add LineTable::{upper,lower}_bound (#127519)
The motivation is #123622 and the fact that is hard to fine the last
line entry in a given range. `FindLineEntryByAddress(range_end-1)` is
the best we have, but it's not ideal because it has a magic -1 and that
it relies on there existing a line entry at that address (generally, it
should be there, but if for some case it isn't, we might end up ignoring
the entries that are there (or -- like my incorrect fix in #123622 did
-- iterating through the entire line table).
What we really want is to get the last entry that exists in the given
range. Or, equivalently (and more STL-like) the first entry after that
range. This is what these functions do. I've used the STL names since
they do pretty much exactly what the standard functions do (the main
head-scratcher comes from the fact that our entries represent ranges
rather than single values).
The functions can also be used to simplify the maze of `if` statements
in `FindLineEntryByAddress`, but I'm keeping that as a separate patch.
For now, I'm just adding some unit testing for that function to gain
more confidence that the patch does not change the function behavior.
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: c0a763d3ef26148af06911eda059eec303adfa39
https://github.com/llvm/llvm-project/commit/c0a763d3ef26148af06911eda059eec303adfa39
Author: Daniel <daniel.augusto191 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
M mlir/tools/mlir-runner/mlir-runner.cpp
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpDocGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[NFC][MLIR] Make file-local cl::opt global variables static (#126714)
This is per style-guide: make file-scope symbol static whenever possible.
Fix #125983.
Commit: 0f472e93d504fc03a4fcdbd898ab9c7973eeca78
https://github.com/llvm/llvm-project/commit/0f472e93d504fc03a4fcdbd898ab9c7973eeca78
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
Log Message:
-----------
AMDGPU: Avoid double attribute lookup for register count attributes (#127782)
Commit: 73d067977b1061689c88621cfc65e024b6d6a08d
https://github.com/llvm/llvm-project/commit/73d067977b1061689c88621cfc65e024b6d6a08d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Clean up directory search procedure (#127783)
During a recent change, the build system accidentally dropped the
(theoretical) support for the CLC builtins library to build
target-specific builtins from the 'amdgpu' directory, due to a change in
variable names. This functionality wasn't being used but was spotted
during another code review.
This commit takes the opportunity to clean up and better document the
code that manages the list of directories to search for builtin
implementations.
While fixing this, some references to now-removed SOURCES files were
discovered which have been cleaned up.
Commit: 3ce2e4df5d45ec90ac544c32fa63042be2151d04
https://github.com/llvm/llvm-project/commit/3ce2e4df5d45ec90ac544c32fa63042be2151d04
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
A llvm/test/CodeGen/NVPTX/tcgen05-cp.ll
A llvm/test/CodeGen/NVPTX/tcgen05-shift.ll
Log Message:
-----------
[NVPTX] Add tcgen05.cp/shift intrinsics (#127669)
This patch adds intrinsics for tcgen05.cp and
tcgen05.shift instructions.
lit tests are added and verified with a
ptxas-12.8 executable.
Docs are updated in the NVPTXUsage.rst file.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: c6a907ac46869e3552f3a62eef08ba5548676d85
https://github.com/llvm/llvm-project/commit/c6a907ac46869e3552f3a62eef08ba5548676d85
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/DLTI/DLTI.cpp
Log Message:
-----------
[mlir][dlti] Fix query keys preallocation (#127786)
Fixes upfront space allocation after #126716
Commit: 2c8b1248513624e89b510397224f0f405116f3d3
https://github.com/llvm/llvm-project/commit/2c8b1248513624e89b510397224f0f405116f3d3
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/include/__configuration/platform.h
Log Message:
-----------
[libc++] Guard include of <features.h> with __has_include (#127691)
Some configurations define __AMDGPU__ or __NVPTX__ on platforms that
don't provide <features.h>, such as CUDA on Mac.
Commit: 43e83b9405ec4eaa23919d24f0aaaefdd989b534
https://github.com/llvm/llvm-project/commit/43e83b9405ec4eaa23919d24f0aaaefdd989b534
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix allocating primitive arrays of unknown bound (#127788)
Commit: 7f69a399df384c86428d0c97e3afbc8146324226
https://github.com/llvm/llvm-project/commit/7f69a399df384c86428d0c97e3afbc8146324226
Author: A. Jiang <de34 at live.cn>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/include/__variant/monostate.h
M libcxx/include/variant
A libcxx/test/std/utilities/variant/variant.hash/hash.depr.verify.cpp
Log Message:
-----------
[libc++] Deprecate and remove member types of `hash` in `<variant>` (#127758)
These member types were deprecated in C++17 by P0174R2 and removed in
C++20 by P0619R4, but the changes in `<variant>` seem missing.
Drive-by: Replace one `_NOEXCEPT` with `noexcept` as the `hash`
specialization is C++17-and-later only.
Commit: 1ac0db44fdb4de5fa7ec637c297bd0fc824057e2
https://github.com/llvm/llvm-project/commit/1ac0db44fdb4de5fa7ec637c297bd0fc824057e2
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[NFC] using isUndef() instead of getOpcode() == ISD::UNDEF (#127713)
[NFC] using isUndef() instead of getOpcode() == ISD::UNDEF
Commit: 01d0793a69ad4c5c54815138ebe945b5cdce2aca
https://github.com/llvm/llvm-project/commit/01d0793a69ad4c5c54815138ebe945b5cdce2aca
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
Log Message:
-----------
[LAA] Make Ptr argument optional in isNoWrap. (#127410)
Update isNoWrap to make the IR Ptr argument optional. This allows using
isNoWrap when dealing with things like pointer-selects, where a select
is translated to multiple pointer SCEV expressions, but there is no IR
value that can be used. We don't try to retrieve pointer values for the
pointer SCEVs and using info from the IR would not be safe. For example,
we cannot use inbounds, because the pointer may never be accessed.
PR: https://github.com/llvm/llvm-project/pull/127410
Commit: 760ec2c38e0cd01c016c403301e8dc081e0fc85c
https://github.com/llvm/llvm-project/commit/760ec2c38e0cd01c016c403301e8dc081e0fc85c
Author: Md Asghar Ahmad Shahid <md.asghar.ahmad.shahid at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/Dialect/Linalg/named-ops.mlir
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[MLIR][Linalg] Introduce Python API for linalg.batch_matmul Ops. (#127614)
As linalg.batch_matmul has been moved into tablegen from OpDSL, its
derived python wrapper no longer exist.This patch adds the required
python wrapper.
Also refactors the BatchmatmulOp printer to make it consistent with its
parser.
Commit: aa9e519b24235424df177c4e4c2806d6de9936b3
https://github.com/llvm/llvm-project/commit/aa9e519b24235424df177c4e4c2806d6de9936b3
Author: David Tenty <daltenty at ibm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/test/CodeGen/PowerPC/adde_return_type.ll
M llvm/test/CodeGen/PowerPC/addegluecrash.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-split.ll
M llvm/test/CodeGen/PowerPC/aix-tls-gd-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-ldst-longlong.ll
M llvm/test/CodeGen/PowerPC/aix-tls-le-xcoff-reloc-large32.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/PowerPC/cvt_i64_to_fp.ll
M llvm/test/CodeGen/PowerPC/inc-of-add.ll
M llvm/test/CodeGen/PowerPC/pr35688.ll
M llvm/test/CodeGen/PowerPC/pr36292.ll
M llvm/test/CodeGen/PowerPC/pr40922.ll
M llvm/test/CodeGen/PowerPC/pr45448.ll
M llvm/test/CodeGen/PowerPC/sat-add.ll
M llvm/test/CodeGen/PowerPC/select.ll
M llvm/test/CodeGen/PowerPC/uaddo-32.ll
M llvm/test/CodeGen/PowerPC/uaddo-64.ll
M llvm/test/CodeGen/PowerPC/umulo-128-legalisation-lowering.ll
M llvm/test/CodeGen/PowerPC/urem-seteq-illegal-types.ll
Log Message:
-----------
Revert "[PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (#116984)"
This reverts commit 7763119c6eb0976e4836f81c9876c49a36d46d73 (leaving the modifications from 03cb46d248b08)..
Commit: d804c838933b1f35ae56343afac669ffe3bbd957
https://github.com/llvm/llvm-project/commit/d804c838933b1f35ae56343afac669ffe3bbd957
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
[clang] Lower modf builtin using `llvm.modf` intrinsic (#126750)
This updates the existing `modf[f|l]` builtin to be lowered via the
`llvm.modf.*` intrinsic (rather than directly to a library call).
Commit: 2b340c10a611d929fee25e6222909c8915e3d6b6
https://github.com/llvm/llvm-project/commit/2b340c10a611d929fee25e6222909c8915e3d6b6
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang-rt/lib/runtime/io-api-minimal.cpp
Log Message:
-----------
flang: Fix build with latest libc++ (#127362)
I think this first stopped working with
954836634abb446f18719b14120c386a929a42d1. This patch fixes the following
error:
/home/runner/work/llvm-project/llvm-project/flang/runtime/io-api-minimal.cpp:153:11:
error: '__libcpp_verbose_abort' is missing exception specification
'noexcept'
153 | void std::__libcpp_verbose_abort(char const *format, ...) {
| ^
| noexcept
/mnt/build/bin/../include/c++/v1/__verbose_abort:30:28: note: previous
declaration is here
30 | __printf__, 1, 2) void __libcpp_verbose_abort(const char* __format,
...) _LIBCPP_VERBOSE_ABORT_NOEXCEPT;
| ^
1 error generated.
Commit: d6c6bde9dbcf332b5092ebcee8c7fe6fbb5aa2ae
https://github.com/llvm/llvm-project/commit/d6c6bde9dbcf332b5092ebcee8c7fe6fbb5aa2ae
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/docs/Directives.md
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Integration/unroll_and_jam.f90
A flang/test/Lower/unroll_and_jam.f90
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang] Implement !DIR$ UNROLL_AND_JAM [N] (#125046)
This patch implements support for the UNROLL_AND_JAM directive to enable
or disable unrolling and jamming on a `DO LOOP`.
It must be placed immediately before a `DO LOOP` and applies only to the
loop that follows. N is an integer that specifying the unrolling factor.
This is done by adding an attribute to the branch into the loop in LLVM
to indicate that the loop should unrolled and jammed.
Commit: 0b63dfb06698ea1a78ba09506f83a1d427a868b1
https://github.com/llvm/llvm-project/commit/0b63dfb06698ea1a78ba09506f83a1d427a868b1
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToSPIRV/ArithToSPIRV.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSPIRV/ControlFlowToSPIRVPass.cpp
M mlir/lib/Conversion/FuncToSPIRV/FuncToSPIRVPass.cpp
M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRVPass.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPUPass.cpp
M mlir/lib/Conversion/TensorToSPIRV/TensorToSPIRVPass.cpp
M mlir/lib/Conversion/TosaToArith/TosaToArithPass.cpp
Log Message:
-----------
[MLIR][NFC] Use base alias for constructor inheritance (#127756)
During my previous cleanup (#127403), I did not notice that we defined a
type alias for the base class. This type alias allows us to use the
shorter form Base::Base, and this PR switches to that.
Commit: fb5a87e1a6febb2a81fd85f800e78c2e6dff5715
https://github.com/llvm/llvm-project/commit/fb5a87e1a6febb2a81fd85f800e78c2e6dff5715
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/generic/lib/math/ep_log.cl
Log Message:
-----------
[libclc][NFC] Reformat ep_log.cl
Commit: 26a83994176fcdca6e77be4f221a15f561681621
https://github.com/llvm/llvm-project/commit/26a83994176fcdca6e77be4f221a15f561681621
Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
Log Message:
-----------
[clang][Sema] Fix initialization of `NonTypeTemplateParmDecl`... (#121768)
...when there are invalid constraints.
When attaching a `TypeConstraint`, in case of error, the trailing
pointer that is supposed to point to the constraint is left
uninitialized.
Sometimes the uninitialized value will be a `nullptr`, but at other
times it will not. If we traverse the AST (for instance, dumping it, or
when writing the BMI), we may get a crash depending on the value that
was left. The serialization may also contain a bogus value.
In this commit, we always initialize the `PlaceholderTypeConstraint`
with `nullptr`, to avoid accessing this uninitialized memory.
This does not affect only modules, but it causes a segfault more
consistently when they are involved.
The test case was reduced from `mp-units`.
---------
Co-authored-by: Erich Keane <ekeane at nvidia.com>
Commit: 4624087328961b2ad50935799e3b5eee49e90c23
https://github.com/llvm/llvm-project/commit/4624087328961b2ad50935799e3b5eee49e90c23
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/tools/llvm-dwarfdump/X86/statistics-dwo.test
M llvm/test/tools/llvm-dwarfdump/X86/statistics-v3.test
M llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-multi-cu.ll
M llvm/test/tools/llvm-dwarfdump/X86/stats-inlining-single-cu.ll
M llvm/test/tools/llvm-dwarfdump/X86/stats-mulitple-cu-out-of-line.ll
M llvm/test/tools/llvm-dwarfdump/X86/stats-multiple-cu-same-name.ll
M llvm/tools/llvm-dwarfdump/Statistics.cpp
Log Message:
-----------
[llvm-dwarfdump] Print number of out-of-line functions described by DWARF (#127233)
Some of the functions in `#functions` may have several inlined
instances, but also an out-of-line definition.
Therefore, for complex enough DWARF input, `#functions` - `#inlined
functions` would not give us the number of out-of-line function
definitions.
`llvm-dwarfdump`, however, already keeps track of those; print it as
part of the statistics, as this number is useful in certain scenarios.
Commit: 826af1757c99e98c5816fc3ffdb1cece78107991
https://github.com/llvm/llvm-project/commit/826af1757c99e98c5816fc3ffdb1cece78107991
Author: c8ef <c8ef at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/include/__llvm-libc-common.h
M libc/include/llvm-libc-macros/endian-macros.h
Log Message:
-----------
[libc] add `LLVM_LIBC_CAST` macro. (#127319)
related: #127238
This patch adds a macro called `LLVM_LIBC_CAST`, similar to
`__BIONIC_CAST`, for type conversion in `endian.h`.
Commit: 80ccf01c337f09146a2c502fe624f07c4b04b848
https://github.com/llvm/llvm-project/commit/80ccf01c337f09146a2c502fe624f07c4b04b848
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
Log Message:
-----------
[Clang] Do not try to transform invalid bindings (#125658)
In the presence of an invalid structured binding decomposition, some
binding packs may be invalid and trying to transform them would produce
a recovery expression that does not contains a pack, leading to
assertions in places where we would expect a pack at that stage.
Fixes #125165
Commit: 888c09986ce0b1a02ba904b167a3650b1d7eee2d
https://github.com/llvm/llvm-project/commit/888c09986ce0b1a02ba904b167a3650b1d7eee2d
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[Clang] Add release note for #127623 (#127815)
While reviewing #127623, I missed that it didn’t have a release note.
Commit: 3e61c1ab7f5d9666db88069d49c8916c40fae5ea
https://github.com/llvm/llvm-project/commit/3e61c1ab7f5d9666db88069d49c8916c40fae5ea
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/include/string
Log Message:
-----------
[libc++] Avoid code duplication in strings operator+ overloads (#126048)
Commit: 2f2295cfae971a9564a3ba25b5c2338cfb36f154
https://github.com/llvm/llvm-project/commit/2f2295cfae971a9564a3ba25b5c2338cfb36f154
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Analysis/AssumeBundleQueries.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127743)
Commit: c23256ecbd29103c800d24f83649057ae84acb09
https://github.com/llvm/llvm-project/commit/c23256ecbd29103c800d24f83649057ae84acb09
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated hash lookups (NFC) (#127744)
Commit: af922cf9f7e7f126f2efaf9660ceea8e5eba21b5
https://github.com/llvm/llvm-project/commit/af922cf9f7e7f126f2efaf9660ceea8e5eba21b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/WinEHPrepare.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#127745)
Commit: 1bb72f0d7dd623e1c75dbe9e6a7f6b41f5284474
https://github.com/llvm/llvm-project/commit/1bb72f0d7dd623e1c75dbe9e6a7f6b41f5284474
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Object/GOFFObjectFile.cpp
Log Message:
-----------
[Object] Avoid repeated hash lookups (NFC) (#127746)
Commit: bb75a96900ad52b01e51fc42c3533a6febf97e27
https://github.com/llvm/llvm-project/commit/bb75a96900ad52b01e51fc42c3533a6febf97e27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/DebugCounter.h
Log Message:
-----------
[Support] Avoid repeated hash lookups (NFC) (#127747)
Commit: fc5849de6abba74dd0bb9a062b207ba4fcd7a37d
https://github.com/llvm/llvm-project/commit/fc5849de6abba74dd0bb9a062b207ba4fcd7a37d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86PadShortFunction.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#127748)
Commit: 9743b99cd1d1775f9f367e5f1c6d40ba09ec523b
https://github.com/llvm/llvm-project/commit/9743b99cd1d1775f9f367e5f1c6d40ba09ec523b
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/modf.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
Log Message:
-----------
[libclc] Explicitly qualify private address spaces (#127823)
Doing so provides stability when compiling the builtins in a mode in
which unqualified pointers may be interpreted as being in the generic
address space, such as in OpenCL 3.0.
We eventually want to provide 'generic' overloads of the builtins in
libclc so this prepares the ground a little better.
It could be argued that having the internal CLC helper functions be
unqualified is more flexible, in case it's better for a target to have
the pointers in the generic address space. This commits to the private
address space for more stability across different OpenCL environments.
Commit: 65998ab2cb5069871799cd6d0977954f14cbb93e
https://github.com/llvm/llvm-project/commit/65998ab2cb5069871799cd6d0977954f14cbb93e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Target/ThreadPlanTracer.h
M lldb/source/API/SBDebugger.cpp
M lldb/source/Commands/CommandObjectGUI.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
Log Message:
-----------
[lldb] Make GetOutputStreamSP and GetErrorStreamSP protected (#127682)
This makes GetOutputStreamSP and GetErrorStreamSP protected members of
Debugger. Users who want to print to the debugger's stream should use
GetAsyncOutputStreamSP and GetAsyncErrorStreamSP instead and the few
remaining stragglers have been migrated.
Commit: e2ba1b6ffde4ec607342b1b746d1b57f0f04390a
https://github.com/llvm/llvm-project/commit/e2ba1b6ffde4ec607342b1b746d1b57f0f04390a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGenCXX/RelativeVTablesABI/dynamic-cast.cpp
M clang/test/CodeGenCXX/RelativeVTablesABI/type-info.cpp
M clang/test/CodeGenOpenCL/amdgcn-buffer-rsrc-type.cl
M clang/test/CodeGenOpenCL/as_type.cl
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/IR/InstrTypes.h
M llvm/include/llvm/Support/ModRef.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/IR/Instructions.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/FunctionAttrs/2009-01-02-LocalStores.ll
M llvm/test/Transforms/FunctionAttrs/arg_returned.ll
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/noundef.ll
M llvm/test/Transforms/FunctionAttrs/readattrs.ll
M llvm/test/Transforms/FunctionAttrs/stats.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/block_scaling_decompr_8bit.ll
M llvm/test/Transforms/PhaseOrdering/bitcast-store-branch.ll
M llvm/test/Transforms/PhaseOrdering/dce-after-argument-promotion-loads.ll
M llvm/test/Transforms/PhaseOrdering/enable-loop-header-duplication-oz.ll
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
Log Message:
-----------
Revert "Reapply [CaptureTracking][FunctionAttrs] Add support for CaptureInfo (#125880)"
This reverts commit 0fab404ee874bc5b0c442d1841c7d2005c3f8729.
Seems to break LTO builds of clang on Windows, see comments on
https://github.com/llvm/llvm-project/pull/125880
Commit: 70e693c77f0044643f3a301a0b7bc334a6e558c9
https://github.com/llvm/llvm-project/commit/70e693c77f0044643f3a301a0b7bc334a6e558c9
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/StreamAsynchronousIO.h
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/StreamAsynchronousIO.cpp
Log Message:
-----------
[lldb] Gardening in StreamAsynchronousIO (NFC) (#127717)
A handful of minor improvements to StreamAsynchronousIO:
- Document the class.
- Use a named enum value to distinguishing between stdout and stderr.
- Add missing period to comment.
- Clear the string instead of assigning to it.
- Eliminate color argument.
Commit: ab3d793982acb946afc2028ca41304913879c6c9
https://github.com/llvm/llvm-project/commit/ab3d793982acb946afc2028ca41304913879c6c9
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__bit_reference
A libcxx/test/benchmarks/algorithms/move.bench.cpp
A libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
Log Message:
-----------
[libc++] Optimize ranges::move{,_backward} for vector<bool>::iterator (#121109)
As a follow-up to #121013 (which optimized `ranges::copy`) and #121026
(which optimized `ranges::copy_backward`), this PR enhances the
performance of `std::ranges::{move, move_backward}` for
`vector<bool>::iterator`, addressing a subtask outlined in issue #64038.
The optimizations bring performance improvements analogous to those
achieved for the `{copy, copy_backward}` algorithms: up to 2000x for
aligned moves and 60x for unaligned moves. Moreover, comprehensive
tests covering up to 4 storage words (256 bytes) with odd and even bit
sizes are provided, which validate the proposed optimizations in this
patch.
Commit: 210036a22eefa2e33d1a76a62d4ec6f5bc66a92b
https://github.com/llvm/llvm-project/commit/210036a22eefa2e33d1a76a62d4ec6f5bc66a92b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] true16 codegen pattern for fma (#127240)
Previous PR https://github.com/llvm/llvm-project/pull/122950 get
reverted since it hit the buildbot failure. Another patch get merged
when this PR is under review, and thus causing one test not up to date.
repen this PR and fixed the issue.
Commit: e7bf54d62771219145171c66584578972edf0e30
https://github.com/llvm/llvm-project/commit/e7bf54d62771219145171c66584578972edf0e30
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
Log Message:
-----------
[flang] AliasAnalysis: Handle fir.load on hlfir.designate (#127107)
For example, determine that the address in `obj%p` below cannot alias
the address of `v`:
```
module m
type :: ty
real, pointer :: p
end type ty
end module m
subroutine test()
use m
real, target :: t
real :: v
type(ty) :: obj
obj%p => t
v = obj%p
end subroutine test
```
Commit: fda0e63e7331debacf9f36a64dad76339ad86482
https://github.com/llvm/llvm-project/commit/fda0e63e7331debacf9f36a64dad76339ad86482
Author: Jakub Ficek <jakub.ficek at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/const-fpfeatures.c
M clang/test/CodeGen/pragma-fenv_access.c
Log Message:
-----------
[clang] handle fp options in __builtin_convertvector (#125522)
This patch allows using fpfeatures pragmas with __builtin_convertvector:
- added TrailingObjects with FPOptionsOverride and methods for handling
it to ConvertVectorExpr
- added support for codegen, node dumping, and serialization of
fpfeatures contained in ConvertVectorExpr
Commit: ddf24086f119cacf2a0fc489773f8af302f4a489
https://github.com/llvm/llvm-project/commit/ddf24086f119cacf2a0fc489773f8af302f4a489
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
Log Message:
-----------
[AMDGPU] Remove unused variables. NFC
Commit: 75ea7aed93ec8afa43634a41c2e94380ba0d671e
https://github.com/llvm/llvm-project/commit/75ea7aed93ec8afa43634a41c2e94380ba0d671e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
A clang/test/CIR/emit-actions.cpp
Log Message:
-----------
[CIR] Add additional frontend actions (#127249)
Add frontend actions to support emitting assembly, bitcode, and object
files when compiling with ClangIR. This change also correctly sets and
propagates the target triple in the MLIR and LLVM modules, which was a
necessary prerequisite for emitting assembly and object files.
Commit: 8fc03e4ff1b33816364dda6986032cbbe99a9462
https://github.com/llvm/llvm-project/commit/8fc03e4ff1b33816364dda6986032cbbe99a9462
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] avoid extra instructions in foldSelectICmpAnd (#127398)
Disable fold when it will result in more instructions.
Commit: 0ffe270d0e1dadc3e16f8fa79882fc3b31d28559
https://github.com/llvm/llvm-project/commit/0ffe270d0e1dadc3e16f8fa79882fc3b31d28559
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lld/test/ELF/aarch64-feature-gcs.s
M lld/test/ELF/allow-shlib-undefined-weak.s
M lld/test/ELF/allow-shlib-undefined.s
M lld/test/ELF/arm-cmse-diagnostics.s
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/duplicated-synthetic-sym.s
M lld/test/ELF/linkerscript/discard-section.s
M lld/test/ELF/linkerscript/input-relative.s
M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
M lld/test/ELF/lto/archive-mixed.test
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel.ll
M lld/test/ELF/non-abs-reloc.s
M lld/test/ELF/print-archive-stats.s
M lld/test/ELF/remap-inputs.test
M lld/test/ELF/reproduce-deplibs.s
M lld/test/ELF/reproduce-lto.s
M lld/test/ELF/riscv-attributes.s
M lld/test/ELF/unknown-section.test
M lld/test/ELF/why-extract.s
Log Message:
-----------
[ELF,test] Remove unneeded -o /dev/null
When the script has executed `cd %t`, it is fine to to use the output
file `a.out`.
(We don't want to rely on lit's default PWD to support lit compatible
runners. Therefore -o /dev/null is used when PWD has not been changed
to a %t derived path.)
Commit: 8ecd78832437d45c269a361d9360abf0de92984f
https://github.com/llvm/llvm-project/commit/8ecd78832437d45c269a361d9360abf0de92984f
Author: Akash Banerjee <Akash.Banerjee at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
Log Message:
-----------
Remove header file spuriously added by 9905728e2fb4ebe9b7518dfd73a0574eea0a2083.
Commit: aa847ced0721bcfc411b8827e54f1681edb9cc8c
https://github.com/llvm/llvm-project/commit/aa847ced0721bcfc411b8827e54f1681edb9cc8c
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-with-bitwise-ops.ll
Log Message:
-----------
[InstCombine] handle trunc to i1 in foldSelectICmpAndBinOp (#127390)
for `trunc nuw` saves a instruction and otherwise only other
instructions without the select, same behavior as for bit test before.
proof: https://alive2.llvm.org/ce/z/a6QmyV
Commit: e1d1bb93d208c5772c385549c7efaa3d83459d2e
https://github.com/llvm/llvm-project/commit/e1d1bb93d208c5772c385549c7efaa3d83459d2e
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lld/test/ELF/aarch64-relocs.s
Log Message:
-----------
[ELF,test] Clean up aarch64-relocs.s
Commit: 3e8db13ced157995d681ee067a121061afcdf808
https://github.com/llvm/llvm-project/commit/3e8db13ced157995d681ee067a121061afcdf808
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/X86/crash_7zip.ll
Log Message:
-----------
[SLP][NFC]Replace undefs by zeroinitializer
Commit: ad87d5f23d921bd4a8d9677f7db563c649a1f5c3
https://github.com/llvm/llvm-project/commit/ad87d5f23d921bd4a8d9677f7db563c649a1f5c3
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
Log Message:
-----------
[libc++][test] Refactor tests for std::{copy, move, fill} algorithms (#120909)
This refactor includes the following changes:
- Refactor similar tests using `types::for_each` to remove redundant code;
- Explicitly include the missing header `type_algorithms.h` in some test files;
- Some tests scattered in different test functions with ad-hoc names
(e.g., `test5()`, `test6()`) but belong to the same kind are now grouped
into one function (`test_struct_array()`).
Commit: 5450954a06425c6e50261d9c64778706a36f2cc6
https://github.com/llvm/llvm-project/commit/5450954a06425c6e50261d9c64778706a36f2cc6
Author: Gábor Horváth <xazax.hun at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
Include test folder in the Clang Static Analyzer team mentions (#127810)
See
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689
Commit: a96444af440a309592fe1043885a51ac0a5fb125
https://github.com/llvm/llvm-project/commit/a96444af440a309592fe1043885a51ac0a5fb125
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/test/Transforms/LoopVectorize/loop-form.ll
Log Message:
-----------
[VPlan] Remove dead exit block handling code in HCFGBuilder.
The mapping of IR ExitBB to a VPBB isn't used. It also sets an incorrect
VPBB for the ExitBB; the regions successor is the middle block, no the
exit block.
It also unnecessarily triggers an assertion after 38376dee922.
Commit: d1889cf935db1c04da6d477a2476d95bae529160
https://github.com/llvm/llvm-project/commit/d1889cf935db1c04da6d477a2476d95bae529160
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShuffleChain - provide list of combined shuffle nodes, replace HasVariableMask bool arg. NFC. (#127826)
Minor NFC refactor before making better variable mask combining decisions - isTargetShuffleVariableMask doesn't discriminate between fast (AND, PSHUFB etc.) and slow (VPERMV3 etc.) variable shuffles, so an opaque HasVariableMask is only of limited use.
Commit: ccd3defd8f7da2e825f167e488827efa0df6b62c
https://github.com/llvm/llvm-project/commit/ccd3defd8f7da2e825f167e488827efa0df6b62c
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/index/SymbolCollector.cpp
Log Message:
-----------
[clangd] Avoid round-trip from SourceLocation to clangd::Range and back in SymbolCollector::handleMacros() (#127757)
Commit: 1d829f6a0bc9fefc489d44449c6ae4c8e509a7a3
https://github.com/llvm/llvm-project/commit/1d829f6a0bc9fefc489d44449c6ae4c8e509a7a3
Author: Georgios Pinitas <georgios.pinitas at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-decompose-depthwise.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Align check variables naming to use capitals (#127830)
Move in using capital letters for variable capture in LIT
Signed-off-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: 9ebb618d03cb29c37e3178428dcf52e1ac4f1cc2
https://github.com/llvm/llvm-project/commit/9ebb618d03cb29c37e3178428dcf52e1ac4f1cc2
Author: foxtran <39676482+foxtran at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/SemaStmt.cpp
Log Message:
-----------
[Clang] [Sema] Combine fallout warnings to just one warning (#127546)
This merges several falloff and noreturn-related warnings and
removes unused diagnostic arguments.
Changes:
- `warn_maybe_falloff_nonvoid_function` and
`warn_falloff_nonvoid_function`, `warn_maybe_falloff_nonvoid_coroutine`
and `warn_falloff_nonvoid_coroutine`,
`warn_maybe_falloff_nonvoid_lambda` and `warn_falloff_nonvoid_lambda`
were combined into `warn_falloff_nonvoid`,
- `err_maybe_falloff_nonvoid_block` and `err_falloff_nonvoid_block` were
combined into `err_falloff_nonvoid`
- `err_noreturn_block_has_return_expr` and
`err_noreturn_lambda_has_return_expr` were merged into
`err_noreturn_has_return_expr` with the same semantics as
`warn_falloff_nonvoid` or `err_falloff_nonvoid`.
- Removed some diagnostic args that weren’t being used by the diagnostics.
Commit: 2bf473bd546e65f8fc2f0d5006b8c8ef07259e24
https://github.com/llvm/llvm-project/commit/2bf473bd546e65f8fc2f0d5006b8c8ef07259e24
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
Log Message:
-----------
[GlobalOpt] Don't query TTI on a llvm.memcpy declaration. (#127760)
Querying TTI creates a Subtarget object, but an llvm.memcpy declaration
doesn't have target-cpu and target-feature attributes like functions
with definitions. This can cause a warning to be printed on RISC-V
because the target-abi in the Module requires floating point, but the
subtarget features don't enable floating point. So far we've only seen
this in LTO when an -mcpu is not supplied for the TargetMachine.
To fix this, get TTI for the calling function instead.
Fixes the issue reported here
https://github.com/llvm/llvm-project/issues/69780#issuecomment-2665273161
Commit: a6f48ed01292d0007e19a2605cba1acd4ecd123a
https://github.com/llvm/llvm-project/commit/a6f48ed01292d0007e19a2605cba1acd4ecd123a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/MC/MCRegister.h
Log Message:
-----------
[MC] Remove MCRegister::isStackSlot. (#127755)
Stack slots should only be stored in Register. The only caller was
Register::isStackSlot so just inline it there.
Commit: d57479cfbe9a6b4dccedfd1221c04973ad90ec97
https://github.com/llvm/llvm-project/commit/d57479cfbe9a6b4dccedfd1221c04973ad90ec97
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaMakeBroadcastable.cpp
Log Message:
-----------
[mlir][tosa] Update SelectOp's input names to match TOSA specification (#127833)
Updated:
- pred to input1
- on_true to input2
- on_false to input3
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 1841bcd5d16310c052c424dec3bcf2b703badd40
https://github.com/llvm/llvm-project/commit/1841bcd5d16310c052c424dec3bcf2b703badd40
Author: David Goldman <dallasftball at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
Log Message:
-----------
[clangd] Update XRefs to support overridden ObjC methods (#127109)
- Support finding implementors of a protocol and discovering subclasses for ObjC interfaces via the implementations call
- Support jumping to the overridden method when you trigger goto definition on an override
- Properly find references to overridden methods
Commit: 8337d01e3058e7f47675f5b2b908b4e7821895d7
https://github.com/llvm/llvm-project/commit/8337d01e3058e7f47675f5b2b908b4e7821895d7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt
Log Message:
-----------
[MLIR] Fix doc build (NFC)
Commit: 36eaf0daf5d6dd665d7c7a9ec38ea22f27709fed
https://github.com/llvm/llvm-project/commit/36eaf0daf5d6dd665d7c7a9ec38ea22f27709fed
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
Log Message:
-----------
AMDGPU: Don't canonicalize fminnum/fmaxnum if targets support IEEE fminimum(maximum)_num (#127711)
For targets that support IEEE fminimum_num/fmaximum_num, the
corresponding *_min_num_fXY/*_max_num_fXY instructions themselves
already did the canonicalization for the inputs. As a result, we do not
need to explicitly canonicalize the inputs for fminnum/fmaxnum.
Commit: 85e23fe9c71f97280c804a139c3d014092b30c7f
https://github.com/llvm/llvm-project/commit/85e23fe9c71f97280c804a139c3d014092b30c7f
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/module.modulemap
Log Message:
-----------
[Modules] Add `clang/Lex/HLSLRootSignatureTokenKinds.def` to clang's `modulemap` (#127839)
b41b86a907f653f79bab10d4c80b3a41d146c71b added a new textual header
`clang/Lex/HLSLRootSignatureTokenKinds.def` but did not add it to
`clang`'s module map. This causes build failure when building llvm with
`-DLLVM_ENABLE_MODULES=ON`. This PR adds the new textual header to the
module map and fixes the build break.
Fixing rdar://145148093.
Commit: 1c762c288ff4ff613cf26833ef55100fd0da0a34
https://github.com/llvm/llvm-project/commit/1c762c288ff4ff613cf26833ef55100fd0da0a34
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/CodeGenHLSL/builtins/and.hlsl
A clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
Log Message:
-----------
[HLSL] Implement the 'and' HLSL function (#127098)
Addresses #125604
- Implements `and` as an HLSL builtin function
- The `and` HLSL builtin function gets lowered to the the LLVM `and`
instruction
Commit: 5caefe261fb20a70497772c24bf4e9af0ff52aef
https://github.com/llvm/llvm-project/commit/5caefe261fb20a70497772c24bf4e9af0ff52aef
Author: Letu Ren <fantasquex at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 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 support for asin acos atan intrinsics op (#127317)
This is similar to https://github.com/llvm/llvm-project/pull/125748
Commit: c3ebbfd7368ec3e4737427eef602296a868a4ecd
https://github.com/llvm/llvm-project/commit/c3ebbfd7368ec3e4737427eef602296a868a4ecd
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
A llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
A llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
[RISCV] Add a pass to remove ADDI by reassociating to fold into load/store address. (#127151)
SelectionDAG will not reassociate adds to the end of a chain if
there are multiple users of later additions. This prevents isel
from folding the immediate into a load/store address.
One easy way to see this is accessing an array in a struct with
two different indices. An ADDI will be used to get to the start
of the array then 2 different SHXADD instructions will be used to
add the scaled indices. Finally the SHXADD will be used by different
load instructions. We can remove the ADDI by folding the offset into
each load.
This patch adds a new pass that analyzes how an ADDI constant
propagates through address arithmetic. If the arithmetic is only
used by a load/store and the offset is small enough, we can adjust
the load/store offset and remove the ADDI.
This pass is placed before MachineCSE to allow cleanups if some
instructions become common after removing offsets from their inputs.
This pass gives ~3% improvement on dynamic instruction count on
541.leela_r and 544.nab_r from SPEC2017 for the train data set. There's
a ~1% improvement on 557.xz_r.
Commit: b1f882f86a5ba87ac77ed0f31e06e77a34f8303b
https://github.com/llvm/llvm-project/commit/b1f882f86a5ba87ac77ed0f31e06e77a34f8303b
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused clock function types and globals (#127684)
Commit: 851177c2e35e17d5bca68521a473f0dad1ad29ec
https://github.com/llvm/llvm-project/commit/851177c2e35e17d5bca68521a473f0dad1ad29ec
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused __kmp_dispatch_lock global (#127686)
Commit: dca73063653ca7d35afb3226ae66623495086204
https://github.com/llvm/llvm-project/commit/dca73063653ca7d35afb3226ae66623495086204
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/lit.site.cfg.in
Log Message:
-----------
[clang][perf-training] Support excluding LLVM build from PGO training (#126876)
Using LLVM build itself for PGO training is convenient and a great
starting point but it also has several issues:
* LLVM build implicitly depends on tools other than CMake and C/C++
compiler and if those tools aren't available in PATH, the build will
fail.
* LLVM build also requires standard headers and libraries which may not
always be available in the default location requiring an explicit
sysroot.
* Building a single configuration (-DCMAKE_BUILD_TYPE=Release) only
exercises the -O3 pipeline and can pesimize other configurations.
* Building for the host target doesn't exercise all other targets.
* Since LLVMSupport is a static library, this doesn't exercise the
linker (beyond what the CMake itself does).
Rather than using LLVM build, ideally we would provide a more minimal,
purpose built corpus. While we're working on building such a corpus,
provide a CMake option that lets vendors disable the use LLVM build for
PGO training.
Commit: 4a411eb4ee673e2687d38fda16d6db6b907f37d2
https://github.com/llvm/llvm-project/commit/4a411eb4ee673e2687d38fda16d6db6b907f37d2
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR] Fix rewrite of ops with vector operands to LLVM on GPU (#127844)
There was a discrepancy between the type-converter and rewrite-pattern
parts of conversion to LLVM used in various GPU targets, at least ROCDL
and NVVM:
- The TypeConverter part was handling vectors of arbitrary rank,
converting them to nests of `!llvm.array< ... >` with a vector at the
inner-most dimension:
https://github.com/llvm/llvm-project/blob/8337d01e3058e7f47675f5b2b908b4e7821895d7/mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp#L629-L655
- The rewrite pattern part was not handling `llvm.array`:
https://github.com/llvm/llvm-project/blob/8337d01e3058e7f47675f5b2b908b4e7821895d7/mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp#L594-L596
That led to conversion failures when lowering `math` dialect ops on
rank-2 vectors, as in the testcase being added in this PR.
This PR fixes this by reusing a shared utility already used in other
conversions to LLVM:
https://github.com/llvm/llvm-project/blob/8337d01e3058e7f47675f5b2b908b4e7821895d7/mlir/lib/Conversion/LLVMCommon/VectorPattern.cpp#L80-L104
---------
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 1987f93d03cec41f2599752cb63c9d130b901de3
https://github.com/llvm/llvm-project/commit/1987f93d03cec41f2599752cb63c9d130b901de3
Author: vporpo <vporpodas at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/lib/SandboxIR/BasicBlock.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] OpaqueValue (#127699)
This patch implements a new subclass of the Value class used for Sandbox
IR Values that we don't support, like metadata or inline asm. The goal
is to never have null sandboxir::Value objects, because this is not the
expected behavior.
Commit: 37d0f20593a65c552d717561efb64c8cf29c1d3c
https://github.com/llvm/llvm-project/commit/37d0f20593a65c552d717561efb64c8cf29c1d3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
R llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
R llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
Revert "[RISCV] Add a pass to remove ADDI by reassociating to fold into load/store address. (#127151)"
This reverts commit c3ebbfd7368ec3e4737427eef602296a868a4ecd.
Seeing some test failures on the build bot.
Commit: c9ff8399647cd15cdb9f8853b45854920de17162
https://github.com/llvm/llvm-project/commit/c9ff8399647cd15cdb9f8853b45854920de17162
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
M mlir/test/Dialect/Linalg/fusion-push-reshape.mlir
Log Message:
-----------
[mlir][Linalg] Fix linalg.generic iteration domain collapse for dynamic dims (#118208)
This pr fixes how iteration domain of linalg.generic is collapsed when
fusing with tensor.expand_shape. Previously, the output_shape for
tensor.expand shape was infered, which doesn't always work except some
special cases.
This patch makes the logic explicitly set the bounds of the new
collapsed iteration domain, because we already know them.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: 26e375046dbde27957548d5e9a9885c3eff29019
https://github.com/llvm/llvm-project/commit/26e375046dbde27957548d5e9a9885c3eff29019
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/RISCV.h
A llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
A llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/split-offsets.ll
M llvm/test/CodeGen/RISCV/xtheadmemidx.ll
Log Message:
-----------
Recommit "[RISCV] Add a pass to remove ADDI by reassociating to fold into load/store address. (#127151)"
Tests have been re-generated with recent scheduler changes.
Original message:
SelectionDAG will not reassociate adds to the end of a chain if
there are multiple users of later additions. This prevents isel
from folding the immediate into a load/store address.
One easy way to see this is accessing an array in a struct with
two different indices. An ADDI will be used to get to the start
of the array then 2 different SHXADD instructions will be used to
add the scaled indices. Finally the SHXADD will be used by different
load instructions. We can remove the ADDI by folding the offset into
each load.
This patch adds a new pass that analyzes how an ADDI constant
propagates through address arithmetic. If the arithmetic is only
used by a load/store and the offset is small enough, we can adjust
the load/store offset and remove the ADDI.
This pass is placed before MachineCSE to allow cleanups if some
instructions become common after removing offsets from their inputs.
This pass gives ~3% improvement on dynamic instruction count on
541.leela_r and 544.nab_r from SPEC2017 for the train data set. There's
a ~1% improvement on 557.xz_r.
Commit: 84eacd302e54a8a1b2b56684efb422911707c6af
https://github.com/llvm/llvm-project/commit/84eacd302e54a8a1b2b56684efb422911707c6af
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/RISCV/BUILD.gn
Log Message:
-----------
[gn build] Port 26e375046dbd
Commit: c833746c6c062677a040d18d837c7fad71939171
https://github.com/llvm/llvm-project/commit/c833746c6c062677a040d18d837c7fad71939171
Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Make iter order deterministic in removePartiallyOverlappedStores. NFC (#127678)
In removePartiallyOverlappedStores we iterate over
InstOverlapIntervalsTy which is a DenseMap. Change that map into using
MapVector to ensure that we apply the transforms in a deterministic
order. I've only seen that the order matters if starting to use names
for the instructions created when doing the transforms. But such things
are a bit annoying when debugging etc.
Commit: 1761066fc641be529ca45b3cfcf4788b8a7a688d
https://github.com/llvm/llvm-project/commit/1761066fc641be529ca45b3cfcf4788b8a7a688d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
Log Message:
-----------
[GlobalOpt] Remove Function* argument from tryWidenGlobalArrayAndDests. NFC (#127848)
This is only used to get the Module and the LLVMContext. We can get both
of those from the GlobalVariable*.
Commit: 1a6ed4d06e3c5b05e5ed9873888165c671292b06
https://github.com/llvm/llvm-project/commit/1a6ed4d06e3c5b05e5ed9873888165c671292b06
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][Vector] Deprecate vector.extractelement/vector.insertelement (#113829)
See
https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops/71116/6
for more information.
Commit: 92b07520bcba1134f60d368c3f0d9216ebbe76e5
https://github.com/llvm/llvm-project/commit/92b07520bcba1134f60d368c3f0d9216ebbe76e5
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Support cloning through recursive cycles (#127429)
In order to facilitate cloning of recursive cycles, we first identify
backedges using a standard DFS search from the root callers, then
initially defer recursively invoking the cloning function via those
edges. This is because the cloning opportunity along the backedge may
not be exposed until the current node is cloned for other non-backedge
callers that are cold after the earlier recursive cloning, resulting
in a cold predecessor of the backedge. So we recursively invoke the
cloning function for the backedges during the cloning of the current
node for its caller edges (which were sorted to enable handling cold
callers first).
There was no significant time or memory overhead measured for several
large applications.
Commit: 3836559e65b002579e2c6697969557ffbbb8cc7d
https://github.com/llvm/llvm-project/commit/3836559e65b002579e2c6697969557ffbbb8cc7d
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/select-icmp-and.ll
Log Message:
-----------
[InstCombine] Test for regession with trunc in foldSelectICmpAnd
Commit: c0c42c8b3213520700f15587ab8aa4477a286ff9
https://github.com/llvm/llvm-project/commit/c0c42c8b3213520700f15587ab8aa4477a286ff9
Author: vporpo <vporpodas at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/SandboxIR/Context.cpp
Log Message:
-----------
[SandboxIR][NFC] Change order of ifs in Context::getOrCreateValueInternal() (#127891)
Move the most common if statement to the top and the least common ones
to the bottom. This should save CPU cycles during compilation.
This patch also prefixes the llvm variables with the LLVM prefix to make
the naming convention in this function more uniform. For example `C` to
`LLVMC`.
Commit: 5f8b2568219d5e516928aed67f13b59de8ccee17
https://github.com/llvm/llvm-project/commit/5f8b2568219d5e516928aed67f13b59de8ccee17
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
A clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
A clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
Log Message:
-----------
Check the type of Objective-C++ instance variables in WebKit member variable checkers. (#127570)
Like a C++ member variable, every Objective-C++ instance variable must
be a RefPtr, Ref CheckedPtr, or CheckedRef to an object, not a raw
pointer or reference.
Commit: 8363b0a6bab041b54316962e3e8948098148baeb
https://github.com/llvm/llvm-project/commit/8363b0a6bab041b54316962e3e8948098148baeb
Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.cpp
Log Message:
-----------
[clang-tidy] add AllowedTypes option to misc-const-correctness (#122951)
Add option `AllowedTypes` which allow users to specify types they want
to exclude from const-correctness check.
Small real-world example:
```cpp
#include <mutex>
int main() {
std::mutex m;
std::lock_guard<std::mutex> l(m); // we want to ignore it since std::lock_guard is already immutable.
}
```
Closes issue https://github.com/llvm/llvm-project/issues/122592
Commit: 0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe
https://github.com/llvm/llvm-project/commit/0fe0968c936b5e3ea83ed75ad8f8bb56e517eebe
Author: David Tellenbach <dtellenbach at apple.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/CodeGen/AArch64/cmpbr-branch-relaxation.mir
A llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir
A llvm/test/CodeGen/AArch64/cmpbr-reg-imm-at-bounds.ll
A llvm/test/CodeGen/AArch64/cmpbr-reg-imm.ll
A llvm/test/CodeGen/AArch64/cmpbr-reg-reg.ll
Log Message:
-----------
[AArch64][FEAT_CMPBR] Codegen for Armv9.6-a compare-and-branch (#116465)
This patch adds codegen for all Arm9.6-a compare-and-branch
instructions, that operate on full w or x registers. The instruction
variants operating on half-words (cbh) and bytes (cbb) are added in a
subsequent patch.
Since CB doesn't use standard 4-bit Arm condition codes but a reduced
set of conditions, encoded in 3 bits, some conditions are expressed by
modifying operands, namely incrementing or decrementing immediate
operands and swapping register operands. To invert a CB instruction it's
therefore not enough to just modify the condition code which doesn't
play particularly well with how the backend is currently organized. We
therefore introduce a number of pseudos which operate on the standard
4-bit condition codes and lower them late during codegen.
Commit: ef49760fa94d1d75cf42b0666b2ee29f9b13d5a2
https://github.com/llvm/llvm-project/commit/ef49760fa94d1d75cf42b0666b2ee29f9b13d5a2
Author: Zaky Hermawan <44158147+ZakyHermawan at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/unistd.yaml
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getsid.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getsid.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getsid_test.cpp
Log Message:
-----------
[libc][POSIX][unistd] implement getsid (#127341)
Fixes https://github.com/llvm/llvm-project/issues/126603
---------
Signed-off-by: ZakyHermawan <zaky.hermawan9615 at gmail.com>
Commit: 6342095bce61f18baf7c305716be3239a274fb6d
https://github.com/llvm/llvm-project/commit/6342095bce61f18baf7c305716be3239a274fb6d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Fix a warning
This patch fixes:
llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp:3409:8:
error: unused variable 'I' [-Werror,-Wunused-variable]
Commit: 0127f169dc8e0b5b6c2a24f74cd42d9d277916f6
https://github.com/llvm/llvm-project/commit/0127f169dc8e0b5b6c2a24f74cd42d9d277916f6
Author: Sebastian Jodłowski <jodelek at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/Cuda.h
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
Log Message:
-----------
[CUDA] Add support for sm101 and sm120 target architectures (#127187)
Add support for sm101 and sm120 target architectures. It requires CUDA
12.8.
---------
Co-authored-by: Sebastian Jodlowski <sjodlowski at nuro.ai>
Commit: 6cc7ca084a5bbb7ccf606cab12065604453dde59
https://github.com/llvm/llvm-project/commit/6cc7ca084a5bbb7ccf606cab12065604453dde59
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/nvptxintrin.h
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
Log Message:
-----------
[Clang] Fix cross-lane scan when given divergent lanes (#127703)
Summary:
The scan operation implemented here only works if there are contiguous
ones in the executation mask that can be used to propagate the result.
There are two solutions to this, one is to enter 'whole-wave-mode' and
forcibly turn them back on, or to do this serially. This implementation
does the latter because it's more portable, but checks to see if the
parallel fast-path is applicable.
Needs to be backported for correct behavior and because it fixes a
failing libc test.
Commit: 5622f2232b3564e86e207401f6c196ba9ea01fb7
https://github.com/llvm/llvm-project/commit/5622f2232b3564e86e207401f6c196ba9ea01fb7
Author: youngd007 <davidayoung at meta.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness-json-output.s
A llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-cu-lists-json-output.s
Log Message:
-----------
Add back deleted test for llvm-dwarfdump JSON output (#127685)
Looks like https://github.com/llvm/llvm-project/pull/124936 was reverted
(for modifying JSON output), but the test for JSON output with errors
was deleted in https://github.com/llvm/llvm-project/pull/126587 (to
attempt to fix failing build)
This will add back a test and a new one for llvm-dwarfdump to validate
the JSON for errors. One case where the sub-categories will eventually
appear and another where not.
test plan:
ninja check-llvm-tools-llvm-dwarfdump
Commit: b0e24d17f294ce421ebf7174d8c74cdae374d7e7
https://github.com/llvm/llvm-project/commit/b0e24d17f294ce421ebf7174d8c74cdae374d7e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/vleff.ll
Log Message:
-----------
[RISCV] Use opaque pointers in some tests. NFC (#127906)
Commit: f62f13d5db212b4bebe6fc143fb9827703e88dfd
https://github.com/llvm/llvm-project/commit/f62f13d5db212b4bebe6fc143fb9827703e88dfd
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/API/SBCommandReturnObject.h
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/include/lldb/ValueObject/ValueObjectList.h
M lldb/source/API/SBCommandReturnObject.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/ValueObject/ValueObjectList.cpp
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/target_var/TestTargetVar.py
Log Message:
-----------
[lldb] Store the return SBValueList in the CommandReturnObject (#127566)
There are a lot of lldb commands whose result is really one or more
ValueObjects that we then print with the ValueObjectPrinter. Now that we
have the ability to access the SBCommandReturnObject through a callback
(#125006), we can store the resultant ValueObjects in the return object,
allowing an IDE to access the SBValues and do its own rich formatting.
rdar://143965453
Commit: 9107ad41bb4a0a00db2a5fcc435a2907fa67c7bc
https://github.com/llvm/llvm-project/commit/9107ad41bb4a0a00db2a5fcc435a2907fa67c7bc
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
Log Message:
-----------
Apply clang-format to bitset_test_cases.h to make PR#120807 cleaner
Applying this formatting per reviewer comment on PR #120807: https://github.com/llvm/llvm-project/pull/120807/files#r1961834956
Commit: 86f0e6dc1177fe45ec6b0ed0707053b28c227321
https://github.com/llvm/llvm-project/commit/86f0e6dc1177fe45ec6b0ed0707053b28c227321
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/main.py
A libc/utils/hdrgen/tests/expected_output/test_small.json
M libc/utils/hdrgen/tests/test_integration.py
Log Message:
-----------
[libc] Add --json mode for hdrgen (#127847)
This adds a feature to hdrgen to emit JSON summaries of header
files for build system integration. For now the summaries have
only the basic information about each header that is relevant for
build and testing purposes: the standards and includes lists.
Commit: 131a3cfab46ff8eb03ae102a39ea35b7f5e11d1b
https://github.com/llvm/llvm-project/commit/131a3cfab46ff8eb03ae102a39ea35b7f5e11d1b
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/test/CIR/emit-actions.cpp
Log Message:
-----------
[CIR] updates test for 75ea7aed (#127917)
Commit: 19bad2ac4a4b809b5442023ac85fb0b7cf26dd7c
https://github.com/llvm/llvm-project/commit/19bad2ac4a4b809b5442023ac85fb0b7cf26dd7c
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
Log Message:
-----------
[BOLT][NFC] Fix an incorrect address used in a BOLT-INFO message (#127902)
Commit: 75bd46e01ff5c4f34e7b7fd8382f7f1028d81440
https://github.com/llvm/llvm-project/commit/75bd46e01ff5c4f34e7b7fd8382f7f1028d81440
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/GlobalsModRef.h
M llvm/lib/Analysis/GlobalsModRef.cpp
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
Log Message:
-----------
[globals-aa] Improved isNonEscapingGlobalNoAlias. (#127707)
A non-escaping global should never alias with non-pointer values
and `ptr null`. This should improve disambiguation of global
pointers with relation to Flang runtime calls (given that
`nosync nocallback` attributes are properly set).
It also seems to be an obvious improvement with little overhead.
Commit: 007f601f15059520b64c09a32b7bb9d99b845d7e
https://github.com/llvm/llvm-project/commit/007f601f15059520b64c09a32b7bb9d99b845d7e
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[Clang][Docs] Document -Xarch_ better (#127890)
Summary:
This argument is esoteric and previously didn't even work consistently
across the targets. Now that's fixed we should document it better.
---------
Co-authored-by: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Commit: 5d4998bc02cebd77e70f0fa712ab8e1eb8f643f0
https://github.com/llvm/llvm-project/commit/5d4998bc02cebd77e70f0fa712ab8e1eb8f643f0
Author: Jinsong Ji <jinsong.ji at intel.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/global_none_meta.ll
A llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/global_none_meta.ll.expected
A llvm/test/tools/UpdateTestChecks/update_test_checks/global_none_meta.test
M llvm/utils/UpdateTestChecks/common.py
M llvm/utils/update_cc_test_checks.py
M llvm/utils/update_test_checks.py
Log Message:
-----------
UpdateTestChecks: Don't check meta details in func definition w/--global none (#124205)
When --check-globals none, we skipped all the globals in check lines.
However, we are still checking the meta info in function defintion.
The generated checks are still sensitive to metadata changes.
This is to scrub the meta info and match them with {{.*}} instead.
Commit: f5b311e47de044160aeb25221095898c35c4847f
https://github.com/llvm/llvm-project/commit/f5b311e47de044160aeb25221095898c35c4847f
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Statically link clang with stage1 runtimes (#127268)
This change will cause clang and the other tools to statically link
against the runtimes built in stage1. This will make the built binaries
more portable by eliminating dependencies on system libraries like
libgcc and libstdc++.
Commit: ab7664c02cfe6791d20a887ae0bc0653223e3fbf
https://github.com/llvm/llvm-project/commit/ab7664c02cfe6791d20a887ae0bc0653223e3fbf
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/IntegerRangeAnalysis.h
M mlir/lib/Analysis/DataFlow/IntegerRangeAnalysis.cpp
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
Log Message:
-----------
[mlir][integer-range-analysis] expose helpers in header and fix ConstantIntRange print (#127888)
Commit: bf9b72e134bff7eb6861e07752d70cb33348b540
https://github.com/llvm/llvm-project/commit/bf9b72e134bff7eb6861e07752d70cb33348b540
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
A clang/test/CodeGenCUDA/increment-index-for-thunks.cu
Log Message:
-----------
[NFC][Clang] Precommit test for VTable codegen (#124983)
Associated PR: https://github.com/llvm/llvm-project/pull/124989
Commit: a16fa3a965eac8966d5a6faba0bf373af1300f21
https://github.com/llvm/llvm-project/commit/a16fa3a965eac8966d5a6faba0bf373af1300f21
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/tools/libclang/CXString.cpp
Log Message:
-----------
Reland "[libclang] Always Dup in createRef(StringRef)" (#127078)
Reverts #127076 to reland #125020.
Use-after-free should be fixed here #127063
Commit: f178e51747b47a181cd6be8dc4ad8943ea5728b3
https://github.com/llvm/llvm-project/commit/f178e51747b47a181cd6be8dc4ad8943ea5728b3
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
A llvm/test/CodeGen/PowerPC/llvm.modf.ll
Log Message:
-----------
[SDAG] Add missing ppc_fp128 ExpandFloatRes legalization for modf (#127895)
Should fix: https://lab.llvm.org/buildbot/#/builders/72/builds/8380
(`test_modf_ppcf128` is the test case that needed the additional
legalization)
Commit: 3e5ae5777d92b6f8c647c3f6969fbca0f0f769ff
https://github.com/llvm/llvm-project/commit/3e5ae5777d92b6f8c647c3f6969fbca0f0f769ff
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
Log Message:
-----------
workflows/release-binaries: Disable Flang on x86_64 macOS (#127216)
The flang build was taking 2-3 hours and causing the entire job to
timeout, so we need to disable it.
Commit: 37c341df283fa028c6e3849d4c024456e4d197c5
https://github.com/llvm/llvm-project/commit/37c341df283fa028c6e3849d4c024456e4d197c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/clamp-fmed3-const-combine.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fmed3-min-max-const-combine.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/clamp.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/flat-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/fmin3.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/global-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/minmax.ll
Log Message:
-----------
Revert "AMDGPU: Don't canonicalize fminnum/fmaxnum if targets support IEEE fminimum(maximum)_num (#127711)"
This reverts commit 36eaf0daf5d6dd665d7c7a9ec38ea22f27709fed.
This is not a sound approach to dealing with this instruction change.
The new behavior is a different opcode pair, not a modifier on the
existing opcode.
Commit: 1fd280d0f2a31a41e74374c7757a8a4d01e116b5
https://github.com/llvm/llvm-project/commit/1fd280d0f2a31a41e74374c7757a8a4d01e116b5
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/test/Dialect/Affine/affine-data-copy.mlir
Log Message:
-----------
[MLIR][Affine] Add missing check in affine data copy nest generation (#127809)
Handle case where no lower or upper bound could be found for a
dimension. Invalid IR was being generated silently for a test case.
Fixes: https://github.com/llvm/llvm-project/issues/127808
Commit: f8bdbed5b3f12c5e1c38a29cd71df286a9e2725c
https://github.com/llvm/llvm-project/commit/f8bdbed5b3f12c5e1c38a29cd71df286a9e2725c
Author: David Olsen <dolsen at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/TypeEvaluationKind.h
A clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
R clang/test/CIR/hello.c
Log Message:
-----------
[CIR] Upstream simple function bodies (#127674)
Enable ClangIR generation for very simple functions. The functions have
to return `void` or an integral type, contain only compound statements
or `return` statements, and `return` statement expressions can only be
integral literals of the correct type. The functions can have
parameters, but those are currently ignored because there is no way to
access them.
This change intentionally focuses on breadth (introducing scopes,
statements, and expressions) rather than depth, because it enables
people to work on upstreaming in parallel without interference.
The new ClangIR ops in this change are `ReturnOp`, `YieldOp`, `ScopeOp`,
and `TrapOp`. These operations are complete (except for the
`ParentOneOf` property) and shouldn't require further upstreaming
changes. Significant additions were made to `FuncOp`, adding a type and
a region, but that operation is still far from complete.
The classes `ScalarExprEmitter` and `CIRGenFunction`, along with the
`emit*` functions in `CIRGenFunction` that generate ClangIR for
statements, are new in this change. All of these are very incomplete and
will be filled out in later upstreaming patches.
Existing test `hello.c` is removed and replaced by the new test
`func-simple.cpp`. This tests all forms of functions that are currently
supported.
Commit: c58011dc65719c4207c2e641a6e32af1c60cdbe8
https://github.com/llvm/llvm-project/commit/c58011dc65719c4207c2e641a6e32af1c60cdbe8
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Peek through copies in checkUsers (#127656)
Currently if a user of an instruction isn't a vector pseudo we bail. For
simple non-subreg virtual COPYs, we can peek through their uses by using
a worklist.
This is extracted from a loop in TSVC2 (s273) that contains a fcmp +
select, which produces a copy that doesn't seem to be coalesced away.
Commit: 557628dbe6a935b1ad5e1bcfd51ac3a65e35d874
https://github.com/llvm/llvm-project/commit/557628dbe6a935b1ad5e1bcfd51ac3a65e35d874
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
R llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NewPM] Port RegAllocPriorityAdvisor analysis to NPM (#118462)
Similar to #117309.
The advisor and logger are accessed through the provider, which is
served by the new PM. Legacy PM forwards calls to the provider.
New PM is a machine function analysis that lazily initializes the
provider.
Commit: 58279d1ee1b567e8ca793d6d1eb6e0f1d5e7279e
https://github.com/llvm/llvm-project/commit/58279d1ee1b567e8ca793d6d1eb6e0f1d5e7279e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Host/Editline.h
M lldb/include/lldb/Host/File.h
M lldb/include/lldb/Host/StreamFile.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/IOHandler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/unittests/Editline/EditlineTest.cpp
Log Message:
-----------
[lldb] Synchronize the debuggers output & error streams
This patch improves the synchronization of the debugger's output and error
streams using two new abstractions: `LockableStreamFile` and
`LockedStreamFile`.
- `LockableStreamFile` is a wrapper around a `StreamFile` and a mutex. Client
cannot use the `StreamFile` without calling `Lock`, which returns a
`LockedStreamFile`.
- `LockedStreamFile` is an RAII object that locks the stream for the duration
of its existence. As long as you hold on to the returned object you are
permitted to write to the stream. The destruction of the object
automatically flush the output stream.
Commit: df96b56b9fad29ff0a8654730952d02e7ef6cc50
https://github.com/llvm/llvm-project/commit/df96b56b9fad29ff0a8654730952d02e7ef6cc50
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
M llvm/test/CodeGen/RISCV/rvv/vfadd-vp.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/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmul-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
Log Message:
-----------
[RISCV] Move VMV0 elimination past machine SSA opts (#126850)
This is the follow up to #125026 that keeps mask operands in virtual
register form for as long as possible throughout the backend.
The diffs in this patch are from MachineCSE/MachineSink/RISCVVLOptimizer
kicking in.
The invariant that the mask COPY never has a subreg no longer holds
after MachineCSE (it coalesces some copies), so it needed to be relaxed.
Commit: 95000fdb9e98a88b923fa7aa4bdeffbc618a323c
https://github.com/llvm/llvm-project/commit/95000fdb9e98a88b923fa7aa4bdeffbc618a323c
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGVTables.cpp
M clang/test/CodeGenCUDA/increment-index-for-thunks.cu
Log Message:
-----------
[CUDA] Increment VTable index for device thunks (#124989)
Currently, the clang frontend incorrectly emits the callee instead of
the thunk for the callee in the VTable. This is the case because the
thunk index is not incremented when their callees cannot be emitted.
This patch fixes the bug.
Commit: 62e4436bb80b82c836fb747b391696700f089e6b
https://github.com/llvm/llvm-project/commit/62e4436bb80b82c836fb747b391696700f089e6b
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
Log Message:
-----------
[NVPTX] Use appropriate operands in ReplaceImageHandles (NFC) (#127898)
Prior to this change NVPTXReplaceImageHandles replaced operands with
indices and populated a table matching these indices to strings to be
used in AsmPrinter. We can clean this up by simply inserting the correct
external symbol or global address operands during
NVPTXReplaceImageHandles, largely removing the need for the table.
Commit: 57bac14f4bcc8b43edc3e27be3d93609f7f4037b
https://github.com/llvm/llvm-project/commit/57bac14f4bcc8b43edc3e27be3d93609f7f4037b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
Log Message:
-----------
[lldb] Fix header include order in ScriptInterpreterPython.cpp
Should fix the following compile error on Windows:
C:\Python312\include\pyconfig.h(225): error C2371: 'pid_t': redefinition; different basic types
C:\buildbot\as-builder-10\lldb-x-aarch64\llvm-project\lldb\include\lldb/Host/windows/PosixApi.h(80): note: see declaration of 'pid_t'
Commit: 92ddbbd89fa2a904119267d3565bed8e95f4f8e2
https://github.com/llvm/llvm-project/commit/92ddbbd89fa2a904119267d3565bed8e95f4f8e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/RDFRegisters.cpp
Log Message:
-----------
[CodeGen] Remove static member functions Register::stackSlot2Index/isStackSlot. NFC
Migrate the few users to the nonstatic member functions.
Commit: 77a8338fa65b959794c4ab9b2afd1d08deed49fe
https://github.com/llvm/llvm-project/commit/77a8338fa65b959794c4ab9b2afd1d08deed49fe
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
Log Message:
-----------
[ARC] Update code after removal of Register::isStackSlot. NFC
Commit: 8b58cb853a3805e2c58177c2646d6320c8750c98
https://github.com/llvm/llvm-project/commit/8b58cb853a3805e2c58177c2646d6320c8750c98
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
[SelectionDAG][NFC] Refactor duplicate code into SDNode::bitcastToAPInt() (#127503)
Commit: a6eb7d6acc268bd9507bf1c6e2c433174d8fd0c2
https://github.com/llvm/llvm-project/commit/a6eb7d6acc268bd9507bf1c6e2c433174d8fd0c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
Log Message:
-----------
[ARC] Remove unneeded isStackSlot
Commit: 2130b9cea4c3274375be53c981d23b1838897e38
https://github.com/llvm/llvm-project/commit/2130b9cea4c3274375be53c981d23b1838897e38
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
Log Message:
-----------
[Coroutines] Avoid repeated hash lookups (NFC) (#127956)
Commit: 77183a46a5fd4e0b92ea91096c6d58bea7a7f43b
https://github.com/llvm/llvm-project/commit/77183a46a5fd4e0b92ea91096c6d58bea7a7f43b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
Log Message:
-----------
[CodeGen] Remove static member function Register::virtReg2Index. NFC (#127962)
Use the nonstatic member instead.
I'm pretty sure the code in SPRIV is a layering violation. MC layer
files are using a CodeGen header.
Commit: 7d03c8e256a78b67a645b78e3ca93287bee0cd37
https://github.com/llvm/llvm-project/commit/7d03c8e256a78b67a645b78e3ca93287bee0cd37
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Dialect/SCF/IR/SCF.cpp
M mlir/test/Dialect/SCF/invalid.mlir
Log Message:
-----------
[mlir][Parser] Fix use-after-free when parsing invalid reference to nested definition (#127778)
This commit fixes a use-after-free crash when parsing the following
invalid IR:
```mlir
scf.for ... iter_args(%var = %foo) -> tensor<?xf32> {
%foo = "test.inner"() : () -> (tensor<?xf32>)
scf.yield %arg0 : tensor<?xf32>
}
```
The `scf.for` parser was implemented as follows:
1. Resolve operands (including `%foo`).
2. Parse the region.
During operand resolution, a forward reference
(`unrealized_conversion_cast`) is added by the parser because `%foo` has
not been defined yet. During region parsing, the definition of `%foo` is
found and the forward reference is replaced with the actual definition.
(And the forward reference is deleted.) However, the operand of the
`scf.for` op is not updated because the `scf.for` op has not been
created yet; all we have is an `OperationState` object.
All parsers should be written in such a way that they first parse the
region and then resolve the operands. That way, no forward reference is
inserted in the first place. Before parsing the region, it may be
necessary to set the argument types if they are defined as part of the
assembly format of the op (as is the case with `scf.for`). Note: Ops in
generic format are parsed in the same way.
To make the parsing infrastructure more robust, this commit also delays
the erase of forward references until the end of the lifetime of the
parser. Instead of a use-after-free crash, users will then see more
descriptive error messages such as:
```
error: operation's operand is unlinked
```
Note: The proper way to fix the parser is to first parse the region,
then resolve the operands. The change to `Parser.cpp` is merely to help
users finding the root cause of the problem.
Commit: 2d6330f83a64a414f83d647bba7f23928f66aa5c
https://github.com/llvm/llvm-project/commit/2d6330f83a64a414f83d647bba7f23928f66aa5c
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Fix indent for deref assume bundle note added in 65640c1d4c.
Fixes odd whitespace rendering.
Commit: 507e413a2d85fb25f70caa9ef843f7c7cffb94c6
https://github.com/llvm/llvm-project/commit/507e413a2d85fb25f70caa9ef843f7c7cffb94c6
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libunwind/src/CMakeLists.txt
M libunwind/src/Registers.hpp
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
R libunwind/src/cet_unwind.h
A libunwind/src/shadow_stack_unwind.h
Log Message:
-----------
[libunwind][NFC] Remove the CET keyword in shadow stack-related stuffs (#126663)
libunwind currently supports shadow stack based on the Intel CET and
AArch64 GCS technology, but throughout related codes, the Intel-specific
keyword, "CET", is used to refer to the generic concept of control-flow
integrity/shadow stack. This patch replaces such wordings with
architecture-neutral term "shadow stack" (abbr. "shstk") to allow future
implementation to avoid using the Intel-specific "CET" term.
Commit: 44dc5729b07890cbedae6b1bdb6fcef038021ebc
https://github.com/llvm/llvm-project/commit/44dc5729b07890cbedae6b1bdb6fcef038021ebc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/libunwind/src/BUILD.gn
Log Message:
-----------
[gn build] Port 507e413a2d85
Commit: 611a648327e9f6dad174e5c4427b27b8b7830fc0
https://github.com/llvm/llvm-project/commit/611a648327e9f6dad174e5c4427b27b8b7830fc0
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
Log Message:
-----------
[AMDGPU] Add llvm.amdgcn.dead intrinsic (#123190)
Shaders that use the llvm.amdgcn.init.whole.wave intrinsic need to
explicitly preserve the inactive lanes of VGPRs of interest by adding
them as dummy arguments. The code usually looks something like this:
```
define amdgcn_cs_chain void f(active vgpr args..., i32 %inactive.vgpr1, ..., i32 %inactive.vgprN) {
entry:
%c = call i1 @llvm.amdgcn.init.whole.wave()
br i1 %c, label %shader, label %tail
shader:
[...]
tail:
%inactive.vgpr.arg1 = phi i32 [ %inactive.vgpr1, %entry], [poison, %shader]
[...]
; %inactive.vgpr* then get passed into a llvm.amdgcn.cs.chain call
```
Unfortunately, this kind of phi node will get optimized away and the
backend won't be able to figure out that it's ok to use the active lanes
of `%inactive.vgpr*` inside `shader`.
This patch fixes the issue by introducing a llvm.amdgcn.dead intrinsic,
whose result can be used as a PHI operand instead of the poison. This
will be selected to an IMPLICIT_DEF, which the backend can work with.
At the moment, the llvm.amdgcn.dead intrinsic works only on i32 values.
Support for other types can be added later if needed.
Commit: 3df03db689f1072d04a815a8893c395010988c53
https://github.com/llvm/llvm-project/commit/3df03db689f1072d04a815a8893c395010988c53
Author: Narayan <32898329+vortex73 at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/lib/CGData/CodeGenData.cpp
Log Message:
-----------
[CodeGen] Refactor `warn()` to use StringRef (NFCI) (#127537)
closes #100064
Commit: 079115e6eac0412214104b593849ee805d8921ce
https://github.com/llvm/llvm-project/commit/079115e6eac0412214104b593849ee805d8921ce
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_modf.h
A libclc/clc/include/clc/math/unary_decl_with_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_ptr.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_modf.cl
A libclc/clc/lib/generic/math/clc_modf.inc
M libclc/generic/include/clc/math/modf.h
R libclc/generic/include/clc/math/modf.inc
M libclc/generic/lib/math/modf.cl
R libclc/generic/lib/math/modf.inc
Log Message:
-----------
[libclc] Move modf to the CLC library (#127828)
The "generic" unary_(def|decl)_with_ptr files are intended to be re-used
by the sincos and fract builtins in the future as they share an
identical type signature.
Commit: 684ad25dfc487476132b429dc92fca934460a8e3
https://github.com/llvm/llvm-project/commit/684ad25dfc487476132b429dc92fca934460a8e3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_frexp.h
A libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
M libclc/clc/include/clc/relational/clc_select.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_frexp.cl
A libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/generic/lib/math/frexp.cl
R libclc/generic/lib/math/frexp.inc
Log Message:
-----------
[libclc] Move frexp to CLC library; optimize half vecs (#127836)
This commit moves the frexp builtin to the CLC library.
It simultaneously optimizes the code generated for half vectors, which
was previously scalarizing and casting up to float. With this commit it
still casts up to float, but keeps it in the vector form.
Commit: 0cd5a1f3090beee88d34d22c6733c6df473877db
https://github.com/llvm/llvm-project/commit/0cd5a1f3090beee88d34d22c6733c6df473877db
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/AST/APValue.cpp
M clang/lib/Sema/SemaInit.cpp
Log Message:
-----------
[NFC][clang] Cleanup in APValue and SemaInit (#127790)
APValue:
Additional assignment of AllowConstexprUnknown is not required since it
will be handled by copy constructor called above.
SemaInit:
Remove unnecessary null check. DestRecordDecl can't be null due to being
obtained using `cast` and assertion that DestRecordType is present.
Spotted by a static analysis tool.
Commit: 62d77fcb3cebe80b3cf88588b5f94778799e86f3
https://github.com/llvm/llvm-project/commit/62d77fcb3cebe80b3cf88588b5f94778799e86f3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-4.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v32.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v64.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - don't combine to VPERM2W/VPERM2B from just any single variable mask (#127914)
Despite them being more expensive than other variable mask shuffles, we
were combining shuffle chains to VPERM2W/VPERM2B if any shuffle in the
chain was a variable shuffle - including very cheap shuffles like PSHUFB
or AND mask patterns.
This patch adjusts the BWI VPERMV3 threshold - it still always permits
the merge if the chain (of 2 or more shuffles) contains any
X86ISD::VPERMV/VPERMV3 shuffles (including DQ variants), but otherwise
only reduces the depth threshold based off the number of other variable
shuffles we'd fold away.
Commit: 2c022e3617ec9bab3c9ab17464610843563ed9ed
https://github.com/llvm/llvm-project/commit/2c022e3617ec9bab3c9ab17464610843563ed9ed
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Symbol/LineTable.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Replace LineTable::upper_bound with GetLineEntryIndexRange (#127806)
After (too) much deliberation, I came to the conclusion that this isn't
the right abstraction, as it doesn't behave completely like the standard
upper_bound method. What I really wanted was to get the range of line
entries for a given address range -- so I implement just that.
lower_bound is still useful as a primitive for building other kinds of
lookups.
Commit: e264317b45163f5c3ba7fc5375dcdecd827fce95
https://github.com/llvm/llvm-project/commit/e264317b45163f5c3ba7fc5375dcdecd827fce95
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Utility/RangeMap.h
M lldb/test/Shell/Commands/command-disassemble.s
M lldb/unittests/Utility/RangeMapTest.cpp
Log Message:
-----------
[lldb] Fix RangeDataVector::CombineConsecutiveEntriesWithEqualData (#127059)
Function was merging equal data even if they weren't adjecant. This
caused a problem in command-disassemble.s test because the two ranges
describing the function would be merged and "swallow" the function
between them.
This PR copies/adapts the algorithm from
RangeVector::CombineConsecutiveEntries (which does not have the same
problem) and also adds a call to ComputeUpperBounds as moving entries
around invalidates the binary tree. (The lack of this call wasn't
noticed until now either because we were not calling methods which rely
on upper bounds (right now, it's only the ill-named FindEntryIndexes
method), or because we weren't merging anything.
Commit: 55fa2fa3480928d2ce6e06336842f673ac92f9d3
https://github.com/llvm/llvm-project/commit/55fa2fa3480928d2ce6e06336842f673ac92f9d3
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_bindless_images/bindless_images_generic.ll
Log Message:
-----------
[SPIR-V] Add SPV_INTEL_bindless_images extension (#127737)
Adds instructions to convert convert unsigned integer handles to images,
samplers and sampled images.
Spec:
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_bindless_images.asciidoc
---------
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: 44feae869570201e9920c26b151ce7ce24f0418d
https://github.com/llvm/llvm-project/commit/44feae869570201e9920c26b151ce7ce24f0418d
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Mark some methods + arguments as const. NFC
Commit: a60675d22723d682ba66c769ccb2b42e0b825a04
https://github.com/llvm/llvm-project/commit/a60675d22723d682ba66c769ccb2b42e0b825a04
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
R clang/test/Analysis/builtin_signbit.cpp
A clang/test/CodeGen/builtin_signbit.cpp
Log Message:
-----------
[CodeGen][NFC] Move test builtin_signbit.cpp to CodeGen (#127814)
Because it is one of the three "misplaced" test files that appeared
under `/clang/test/Analysis` but were unrelated to the clang static
analyzer. For background see the following discourse thread:
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689/2
I placed this file in `clang/test/CodeGen` because as far as I see it
tests the code generated from `__builtin_signbit` (and there are many
other `builtin_*` test files in that directory); but I'm not familiar
with that area, so I'm not certain that it's the best place.
Commit: 6e047a5ab42698165a4746ef681396fab1698327
https://github.com/llvm/llvm-project/commit/6e047a5ab42698165a4746ef681396fab1698327
Author: Hans Wennborg <hans at hanshq.net>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
Add Wasm, RISC-V, BPF, and NVPTX targets back to Windows release packaging (#127794)
In #106059 we reduced the targets to those supported by Windows (X86 and
ARM) to avoid running into size limitations of the NSIS compiler.
Since then, people complained about the lack of Wasm [1], RISC-V [2],
BPF [3], and NVPTX [4]. These do seem to fit in the installer (at least
for 20.1.0-rc2), so let's add them back.
[1]
https://discourse.llvm.org/t/llvm-19-x-release-third-party-binaries/80374/26
[2]
https://discourse.llvm.org/t/llvm-19-x-release-third-party-binaries/80374/53
[3] https://github.com/llvm/llvm-project/issues/127120
[4]
https://github.com/llvm/llvm-project/pull/127794#issuecomment-2668677203
Commit: e09fc394b7c4606099b3466bb076a19327b9e16b
https://github.com/llvm/llvm-project/commit/e09fc394b7c4606099b3466bb076a19327b9e16b
Author: David <davidgmbb at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
[llvm] Make target triple in TLII const reference (#127718)
Commit: dc326d0b01f63e49f4f11c0c332369bf109721df
https://github.com/llvm/llvm-project/commit/dc326d0b01f63e49f4f11c0c332369bf109721df
Author: Sjoerd Meijer <smeijer at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Clang][doc] -ffp-contract options and standard compliance (#127621)
We had an discussion about -ffp-contract, how it compared to GCC which defaults
to fast, and standard compliance. Looking at our docs, most information is
there, but this clarifies when this option is and isn't standard compliant.
Commit: d595fc91aeb35cb7fad8ad37fa84a70863b09f69
https://github.com/llvm/llvm-project/commit/d595fc91aeb35cb7fad8ad37fa84a70863b09f69
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/aix-builtin-mapping.c
M clang/test/CodeGen/builtin-attributes.c
M clang/test/CodeGen/math-builtins-long.c
M clang/test/CodeGen/math-libcalls.c
Log Message:
-----------
Revert "[clang] Lower modf builtin using `llvm.modf` intrinsic" (#127987)
Reverts llvm/llvm-project#126750
Revering while I investigate:
https://lab.llvm.org/buildbot/#/builders/72/builds/8406
Commit: 747588dc642b32210f918b6d5e3a31663167c382
https://github.com/llvm/llvm-project/commit/747588dc642b32210f918b6d5e3a31663167c382
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
M flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
M flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
Log Message:
-----------
[flang][Lower][OpenMP] Don't read moldarg for static sized array (#127838)
This should further reduce the number of spurious barriers
Commit: 97872409125bd9972ab7c74f1fe25539820f6631
https://github.com/llvm/llvm-project/commit/97872409125bd9972ab7c74f1fe25539820f6631
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/rvv/mask-exts-not.ll
Log Message:
-----------
[RISCV][test] Add tests for extending negated mask
Commit: 544a161c9a16283c3c1508bd5eec0f99d6614ac1
https://github.com/llvm/llvm-project/commit/544a161c9a16283c3c1508bd5eec0f99d6614ac1
Author: Dmitry Sidorov <dmitry.sidorov at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
Log Message:
-----------
[NFC][SPIR-V] Remove unused variable (#127985)
Fix warning after https://github.com/llvm/llvm-project/pull/127737
Signed-off-by: Sidorov, Dmitry <dmitry.sidorov at intel.com>
Commit: 367ecc63338da1ff98d63a41bafc9b54d5c3eb6d
https://github.com/llvm/llvm-project/commit/367ecc63338da1ff98d63a41bafc9b54d5c3eb6d
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/LineTable.h
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/unittests/Symbol/LineTableTest.cpp
Log Message:
-----------
[lldb] Renaissance LineTable sequences (#127800)
LineSeqeunce is basically a vector, except that users aren't supposed to
know that. This implements the same concept in a slightly simpler
fashion.
Commit: d7784a649e80d346ba57ccc39f5e2a3e2f7e0a51
https://github.com/llvm/llvm-project/commit/d7784a649e80d346ba57ccc39f5e2a3e2f7e0a51
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/threadprivate02.f90
Log Message:
-----------
[flang][OpenMP] Catch threadprivate common block vars that appear in equivalence (#127642)
Semantics were not checking for variables appearing in equivalence
statements when those were part of a threadprivate common block.
Fixes #122825
Commit: 0948fc85aa99a8fd193d2d66a517e31b8b639f20
https://github.com/llvm/llvm-project/commit/0948fc85aa99a8fd193d2d66a517e31b8b639f20
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/bool-increment-SFINAE.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
Log Message:
-----------
[clang] print correct context for diagnostics suppressed by deduction (#125453)
This patch makes it so the correct instantiation context is printed for
diagnostics suppessed by template argument deduction.
The context is saved along with the suppressed diagnostic, and when the
declaration they were attached to becomes used, we print the correct
context, instead of whatever context was at this point.
Commit: 66cf2a88a4cae8de25d7a36bce9dcc87a76010e2
https://github.com/llvm/llvm-project/commit/66cf2a88a4cae8de25d7a36bce9dcc87a76010e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/sext-vsetcc.ll
Log Message:
-----------
[X86] sext-vsetcc.ll - regenerate VPTERNLOG comments
Commit: 92a3192a963c75bdd60874e273403340acc9c8fc
https://github.com/llvm/llvm-project/commit/92a3192a963c75bdd60874e273403340acc9c8fc
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-v192.ll
Log Message:
-----------
[X86] vector-shuffle-v192.ll - regenerate VPTERNLOG comments
Commit: 505d35aad3aa3989727fa7b49b7e8ced38071770
https://github.com/llvm/llvm-project/commit/505d35aad3aa3989727fa7b49b7e8ced38071770
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] getFauxShuffleMask - relax one use limit for insert_subvector concat splat pattern (#127981)
If we're splatting a subvector using a insert_subvector(insert_subvector(undef,sub,0),sub,c) pattern then permit multiuse of the sub as long as the insert_subvector nodes are the only users.
Commit: 9855d761f36f08a7d23e52c62cf1932e386669fc
https://github.com/llvm/llvm-project/commit/9855d761f36f08a7d23e52c62cf1932e386669fc
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-20 (Thu, 20 Feb 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/SIOptimizeExecMaskingPreRA.cpp
A llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.h
M llvm/test/CodeGen/AMDGPU/collapse-endcf-broken.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIOptimizeExecMaskingPreRA to NPM (#125351)
Commit: 458b1e9d2c61945f62b5bdfda93914d6a46b6cc7
https://github.com/llvm/llvm-project/commit/458b1e9d2c61945f62b5bdfda93914d6a46b6cc7
Author: Bruno De Fraine <brunodf at synopsys.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CodeGen/tbaa-pointers.c
Log Message:
-----------
[TBAA] Refine pointer-tbaa for void pointers by pointer depth (#126047)
Commit 77d3f8a avoids distinct tags for any pointers where the ultimate
pointee type is `void`, to solve breakage in real-world code that uses
(indirections to) `void*` for polymorphism over different pointer types.
While this matches the TBAA implementation in GCC, this patch implements
a refinement that distinguishes void pointers by pointer depth, as
described in the "strict aliasing" documentation included in the
aforementioned commit:
> `void*` is permitted to alias any pointer type, `void**` is permitted
> to alias any pointer to pointer type, and so on.
For example, `void**` is no longer considered to alias `int*` in this
refinement, but it remains possible to use `void**` for polymorphism
over pointers to pointers.
Commit: 54f14d96bb275a129321f9377987efcb43d773fa
https://github.com/llvm/llvm-project/commit/54f14d96bb275a129321f9377987efcb43d773fa
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[FunctionAttrs] Add test for incorrect predicate in capture analysis (NFC)
Commit: 6361a8a1b763d6915636eb8cfaf64f2d8fe60a03
https://github.com/llvm/llvm-project/commit/6361a8a1b763d6915636eb8cfaf64f2d8fe60a03
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/test/Transforms/FunctionAttrs/nocapture.ll
Log Message:
-----------
[CaptureTracking] Check for equality predicate for null comparisons
The logic here is not valid for non-equality comparisons. E.g.
using slt will leak the sign bit, regardless of whether the
pointer is dereferenceable.
This fix is split out from https://github.com/llvm/llvm-project/pull/125880.
Commit: f4f7c71c55da442dc18e872d3c5db760a9ad43ba
https://github.com/llvm/llvm-project/commit/f4f7c71c55da442dc18e872d3c5db760a9ad43ba
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
Log Message:
-----------
[RISCV][VLOPT] Move mayReadPastVL check into getMinimumVLForUser. NFC (#127972)
checkUsers currently does two things, a) work out the minimum VL read by
every user and b) check that the operand info of the MI and users match.
getMinimumVLForUser handles most of a), with the exception of the check
for instructions that read past VL e.g. vrgather which is still in
checkUsers.
This moves it into getMinimumVLForUser to keep all that logic in one
place and simplifies an upcoming patch.
Commit: 70ed381b1693697dec3efcaed161d3626d16cff1
https://github.com/llvm/llvm-project/commit/70ed381b1693697dec3efcaed161d3626d16cff1
Author: David Green <david.green at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
Log Message:
-----------
[GlobalISel][AArch64] Fix fptoi.sat lowering. (#127901)
The SDAG version uses fminnum/fmaxnum, in converting it to fcmp+select
it appears the order of the operands was chosen badly. This switches the
conditions used to keep the constant on the RHS.
Commit: 58571c82ef93b32cd0ea757e23ec4ff83f8fc3c0
https://github.com/llvm/llvm-project/commit/58571c82ef93b32cd0ea757e23ec4ff83f8fc3c0
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
Log Message:
-----------
[lldb] Un-XFAIL TestDeadStrip.py on windows
I suspect it was fixed by #127059. aarch64 is the only windows bot we have now, so it's can't be certain it's fixed everywhere, but also I have no reason to believe otherwise.
Fixes #43774.
Commit: 0a8341fdb2f574019fb6cf99e207754e962dc81d
https://github.com/llvm/llvm-project/commit/0a8341fdb2f574019fb6cf99e207754e962dc81d
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/mask-exts-not.ll
Log Message:
-----------
[RISCV] Avoid VMNOT by swapping VMERGE operands for mask extensions (#126751)
Fold:
(select (not m), 1, 0) -> (select m, 0, 1)
(select (not m), -1, 0) -> (select m, 0, -1)
Commit: 0c809ea336143f6118339521cbebe9e182e7a5e5
https://github.com/llvm/llvm-project/commit/0c809ea336143f6118339521cbebe9e182e7a5e5
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/test/CodeGen/Mips/readcyclecounter.ll
Log Message:
-----------
[Mips] Reserve hardware register HWR2 (#127775)
Fix pr https://github.com/llvm/llvm-project/pull/127553.
x86_64 failed to run readcyclecounter.ll when enable expensive_check,
it would error "Using an undefined physical register".
Commit: 12f8ed58a039ff3a3365591203f76ae07a179215
https://github.com/llvm/llvm-project/commit/12f8ed58a039ff3a3365591203f76ae07a179215
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/test/Lexer/cxx-features.cpp
M clang/www/cxx_status.html
Log Message:
-----------
[Clang] Mark P1061 (Structured Bindings can introduce a Pack) as implemented (#127980)
Implemented in abc8812df02599fc413d9ed77b992f8236ed2af9
Commit: 8feb5bac3279f7c7fbbdd741a70d8debd519aa00
https://github.com/llvm/llvm-project/commit/8feb5bac3279f7c7fbbdd741a70d8debd519aa00
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
R libcxx/test/benchmarks/algorithms/copy.bench.cpp
R libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_if.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_n.bench.cpp
Log Message:
-----------
[libc++] Add benchmarks for copy algorithms (#127328)
This patch adds benchmarks for the copy family of algorithms (copy,
copy_n, copy_if, copy_backward).
Commit: f00b32e2d0ee666d32f1ddd0c687e269fab95b44
https://github.com/llvm/llvm-project/commit/f00b32e2d0ee666d32f1ddd0c687e269fab95b44
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
A libcxx/test/libcxx/xopen_source.gen.py
Log Message:
-----------
[libc++] Reduce the dependency of the locale base API on the base system from the headers (#117764)
Many parts of the locale base API are only required when building the
shared/static library, but not from the headers. Document those
functions and carve out a few of those that don't work when
_XOPEN_SOURCE is defined to something old.
Fixes #117630
Commit: a03f064b60f0ccfe9bf31046bc944087ed2fad6c
https://github.com/llvm/llvm-project/commit/a03f064b60f0ccfe9bf31046bc944087ed2fad6c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-replicaton-i1-mask.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] combineX86ShufflesRecursively - peek through one use bitcasts to find additional (free) extract_subvector nodes
Commit: 41cece8c86399dd1ffcb6b7a8b50c10083fe5a40
https://github.com/llvm/llvm-project/commit/41cece8c86399dd1ffcb6b7a8b50c10083fe5a40
Author: David Truby <david.truby at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 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
M flang/test/Driver/optimization-remark.f90
M flang/test/Integration/unroll-loops.f90
M flang/test/Lower/HLFIR/unroll-loops.fir
Log Message:
-----------
[flang] Add -f[no-]vectorize flags (#119718)
This patch adds the -fvectorize and -fno-vectorize flags to flang.
Note that this also changes the behaviour of `flang -fc1` to match that
of `clang -cc1`, which is that vectorization is only enabled in the
presence of the `-vectorize-loops` flag.
Additionally, this patch changes the behaviour of the default
optimisation levels to match clang, such that vectorization only happens
at the same levels as it does there.
This patch is in draft while I write an RFC to discuss the above two
changes.
Commit: 1c4e9863fa1cba6d28be92026e0912808b01780d
https://github.com/llvm/llvm-project/commit/1c4e9863fa1cba6d28be92026e0912808b01780d
Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP][NFC] Remove unused debug lock (#127928)
Commit: 24cd933d02b820f73c4ee6e4277ed1b6e95b570a
https://github.com/llvm/llvm-project/commit/24cd933d02b820f73c4ee6e4277ed1b6e95b570a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/MemCpyOpt/memcpy.ll
Log Message:
-----------
[MemCpyOpt] Add test for call slot opt with ret-only capture (NFC)
From: https://github.com/llvm/llvm-project/pull/125880#issuecomment-2671725079
Commit: 9ffab5637c803d1ff8aaf94972b9d40108d450c9
https://github.com/llvm/llvm-project/commit/9ffab5637c803d1ff8aaf94972b9d40108d450c9
Author: Viktoria Maximova <viktoria.maksimova at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_long_composites/long-type-struct.ll
Log Message:
-----------
[SPIR-V] Initial implementation of SPV_INTEL_long_composites (#126545)
This change introduces support of `OpTypeStructContinuedINTEL`
instruction.
Specification:
https://github.khronos.org/SPIRV-Registry/extensions/INTEL/SPV_INTEL_long_composites.html
Commit: 6eba2775e22fe812ebc2cbb73d71c1e989b9306c
https://github.com/llvm/llvm-project/commit/6eba2775e22fe812ebc2cbb73d71c1e989b9306c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Scale strides using type-size (NFC) (#124529)
Change getDependenceDistanceStrideAndSize to scale strides by
TypeByteSize, scaling the returned CommonStride and MaxStride. Even
though there is a seemingly-functional change of setting CommonStride
when scaled strides are equal, it ends up being a non-functional change
due to aggressive HasSameSize checking.
Commit: ae5785460dfdee82b9b3fe08fb5f2da73c91cec0
https://github.com/llvm/llvm-project/commit/ae5785460dfdee82b9b3fe08fb5f2da73c91cec0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libclc/clc/include/clc/integer/gentype.inc
M libclc/clc/include/clc/math/gentype.inc
M libclc/clc/include/clc/relational/clc_select_decl.inc
M libclc/clc/include/clc/relational/clc_select_impl.inc
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/math/clc_frexp.inc
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/relational/select.h
M libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/shared/vload_half.inc
M libclc/generic/lib/shared/vstore_half.inc
Log Message:
-----------
[libclc] Define macros for users of gentype.inc (#128012)
Several users of (mostly math/) gentype.inc rely on types other than the
'gentype'. This is commonly intN as several maths builtins expose this
as a return or paramter type. We were previously explicitly defining
this type for every gentype.
Other implementations rely on integer types of the same size and element
width as the gentype, such as short/ushort for half, long/ulong for
double, etc.
Users might also rely on as_type or convert_type builtins to/from these
types.
The previous method we used to define intN was unscalable if we wanted
to expose more types and helpers.
This commit introduces a simpler system whereby several macros are
defined at the beginning of gentype.inc. These rely on concatenating
with the vector size. To facilitate this system, scalar gentypes now
define an empty vector size. It was previously undefined, which was
dangerous. An added benefit is that it matches how the integer
gentype.inc vector size has been working.
These macros will be especially helpful for the definitions of
logb/ilogb in an upcoming patch.
Commit: 3b9f9645e017a9160bf78ec1630420e181c7bd90
https://github.com/llvm/llvm-project/commit/3b9f9645e017a9160bf78ec1630420e181c7bd90
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/PowerPC/large-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
Log Message:
-----------
[LV] Regen a couple of tests with UTC (#127785)
Commit: 04b5c63ddfe9e7091b600ea8d768659705082697
https://github.com/llvm/llvm-project/commit/04b5c63ddfe9e7091b600ea8d768659705082697
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
Log Message:
-----------
[LV] Add inbounds to interleave test.
In preparation for https://github.com/llvm/llvm-project/pull/127543
Commit: 43f2968a028fbc6b4fac5ba6d18ad9d27eb4ef76
https://github.com/llvm/llvm-project/commit/43f2968a028fbc6b4fac5ba6d18ad9d27eb4ef76
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
Log Message:
-----------
[RISCV] Recognize VLA shift pairs from shuffle masks (#127710)
If we have a shuffle mask which can be represented as two slides + some
conditional masking, we can emit a VLA sequence which is at most
O(2*LMUL). This is essentially a generalization of the existing
isElementRotate, but is staged to only introduce the new match for the
moment. A follow up change will start consolidating code - see the notes
below.
A couple of notes:
1) I'm excluding bit rotates mostly to keep the diffs manageable.
2) The existing isElementRotate logic is nearly redundant after this
change. However, we have some intersection between the bit rotate
and element rotate matching. To keep things simple, I left that in
place for now, and will merge/cleanup in a separate change.
3) The individual asVSlideup and asVSlidedown are closely related, but
the former looks through extracts and the later changes VL. I'm leaving
these in place for now, but hope to common them up a bit as well.
Commit: 1b78ff6972789d189fe0b403b403626328bf6a65
https://github.com/llvm/llvm-project/commit/1b78ff6972789d189fe0b403b403626328bf6a65
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/store.ll
A llvm/test/Transforms/PhaseOrdering/load-store-sameval.ll
Log Message:
-----------
[InstCombine] Simplify the pointer operand of store if writing to null is UB (#127979)
Proof: https://alive2.llvm.org/ce/z/mzVj-u
I will add some follow-up patches to avoid duplicate code, support more
memory instructions, and bypass gep instructions.
Commit: 1b610e69d9621e00714b126e646bebb912b1e9a1
https://github.com/llvm/llvm-project/commit/1b610e69d9621e00714b126e646bebb912b1e9a1
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Math/IR/MathOps.td
M mlir/lib/Dialect/Math/IR/MathOps.cpp
M mlir/test/Dialect/Math/canonicalize.mlir
Log Message:
-----------
[MLIR][Math] Add floating point value folders (#127947)
Commit: c2e51428bf86def5094a3f14029f75f3ac0e477e
https://github.com/llvm/llvm-project/commit/c2e51428bf86def5094a3f14029f75f3ac0e477e
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/test/Dialect/LLVMIR/canonicalize.mlir
Log Message:
-----------
[MLIR][LLVM] Fold extract of constant (#127927)
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: 404af37175a5a1f2755fb5707487b39e83b1929d
https://github.com/llvm/llvm-project/commit/404af37175a5a1f2755fb5707487b39e83b1929d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
A llvm/test/Transforms/LoopVectorize/loop-with-constant-exit-condition.ll
Log Message:
-----------
[VPlan] Remove stale assertion in HCFG builder.
The assertion was left over from a time when VPBBs still had an
associated condition bit. This is not the case any more (comment was
stale). In case a branch on condition is needed, a BranchOnCond
VPInstruction is added when constructing recipes. That's also where it
is checked if the condition is available.
Exposed by 38376dee9.
Commit: 60c620272db2b3cb71b973c9ae45a639aa492164
https://github.com/llvm/llvm-project/commit/60c620272db2b3cb71b973c9ae45a639aa492164
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/ADT/SetOperations.h
M llvm/unittests/ADT/SetOperationsTest.cpp
Log Message:
-----------
[ADT] Add set_intersects to check if there is any intersection (#127907)
Add a facility to check if there is any intersection between 2 sets.
This will be used in some follow on changes to MemProf.
Commit: a72616de18c0814ad37b5748d6bdc60b825dd889
https://github.com/llvm/llvm-project/commit/a72616de18c0814ad37b5748d6bdc60b825dd889
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/docs/Dialects/Linalg/_index.md
M mlir/python/mlir/dialects/LinalgOps.td
M mlir/python/mlir/dialects/linalg/__init__.py
M mlir/test/python/dialects/linalg/ops.py
Log Message:
-----------
[mlir][python] fix linalg.pack/unpack (#127729)
This PR https://github.com/llvm/llvm-project/pull/123902 broke python
bindings for `tensor.pack`/`unpack`. This PR fixes that. It also
1. adds convenience wrappers for pack/unpack
2. cleans up matmul-like ops in the linalg bindings
3. fixes linalg docs missing pack/unpack
Commit: 81ed48531d51754fe4aac7a149ee4534a9ffda1b
https://github.com/llvm/llvm-project/commit/81ed48531d51754fe4aac7a149ee4534a9ffda1b
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/utils/perf-training/CMakeLists.txt
Log Message:
-----------
[CMake] Fix variable name (#127967)
This was accidentaly introduced in #126876.
Commit: c48e0c182c5a9e19062677cbca17c89ea586e033
https://github.com/llvm/llvm-project/commit/c48e0c182c5a9e19062677cbca17c89ea586e033
Author: kper <kevin.per at protonmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
A lldb/test/API/functionalities/gdb_remote_client/basic_eh_frame-riscv64.yaml
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/Shell/Register/Inputs/riscv64-gp-read.cpp
A lldb/test/Shell/Register/riscv64-gp-read.test
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lldb][RISC-V] Extended if conditions to support alias names for registers (#124475)
Extending the conditionals in `AugmentRegisterInfo` to support
alternative names for lldb.
Fixes #124023
There is an exception with register `X8` which is not covered here but
more details can be found in the issue
https://github.com/llvm/llvm-project/issues/127900.
Commit: 81bc28d0bcaca3e7386ced2138566e4d0a838ad5
https://github.com/llvm/llvm-project/commit/81bc28d0bcaca3e7386ced2138566e4d0a838ad5
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
A lldb/test/API/macosx/thread_start_bps/Makefile
A lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
A lldb/test/API/macosx/thread_start_bps/main.c
Log Message:
-----------
[lldb] Update PlatformDarwin list of libraries with thread functions (#127922)
Recent versions of the system changed where these functions live.
Commit: 609732cc2e6572b25ce195cc009e2b4bae42dcda
https://github.com/llvm/llvm-project/commit/609732cc2e6572b25ce195cc009e2b4bae42dcda
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix warnings
This patch fixes:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5723:24: error: captured
structured bindings are a C++20 extension
[-Werror,-Wc++20-extensions]
llvm/lib/Target/RISCV/RISCVISelLowering.cpp:5728:76: error: captured
structured bindings are a C++20 extension
[-Werror,-Wc++20-extensions]
Commit: ff99af7ea03b3be46bec7203bd2b74048d29a52a
https://github.com/llvm/llvm-project/commit/ff99af7ea03b3be46bec7203bd2b74048d29a52a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/LiveInterval.cpp
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
Log Message:
-----------
[CodeGen] Remove static member function Register::isVirtualRegister. NFC (#127968)
Use nonstatic member instead. This requires explicit conversions, but
many will go away as we continue converting unsigned to Register.
In a few places where it was simple, I changed unsigned to Register.
Commit: 1e1bf7971b1b8c74aa4de2c055c402d0085e87b8
https://github.com/llvm/llvm-project/commit/1e1bf7971b1b8c74aa4de2c055c402d0085e87b8
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[mlir][emitc] Add an option to cast array type to ptr type (#126385)
Commit: e83ad816992838781c70d0af895100a5c78268d1
https://github.com/llvm/llvm-project/commit/e83ad816992838781c70d0af895100a5c78268d1
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libcxx/src/experimental/tzdb.cpp
Log Message:
-----------
[NFC][libc++][TZDB] Fixes formatting.
This was broken by #127339
Commit: c0c172213b6124a672ee64786260f8860027413f
https://github.com/llvm/llvm-project/commit/c0c172213b6124a672ee64786260f8860027413f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#127955)
Commit: 506b31ec36746732b84fb0e9cd74af3ca885fa86
https://github.com/llvm/llvm-project/commit/506b31ec36746732b84fb0e9cd74af3ca885fa86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/PartialInlining.cpp
Log Message:
-----------
[IPO] Avoid repeated hash lookups (NFC) (#127957)
Commit: c612f7961219adfad617a05b3d5f07bb05d52df3
https://github.com/llvm/llvm-project/commit/c612f7961219adfad617a05b3d5f07bb05d52df3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
Log Message:
-----------
[ObjectYAML] Avoid repeated hash lookups (NFC) (#127958)
Commit: 4a8f41456515953cb8a5f9f1b927c9f60436f56a
https://github.com/llvm/llvm-project/commit/4a8f41456515953cb8a5f9f1b927c9f60436f56a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#127959)
Commit: be51ef4518ad3375e267667a89d379ce46efc4bb
https://github.com/llvm/llvm-project/commit/be51ef4518ad3375e267667a89d379ce46efc4bb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
Log Message:
-----------
[WebAssembly] Avoid repeated hash lookups (NFC) (#127960)
Commit: 02e8fd7a30903d65c85b3cfb56e8039b71c31972
https://github.com/llvm/llvm-project/commit/02e8fd7a30903d65c85b3cfb56e8039b71c31972
Author: Oliver Stannard <oliver.stannard at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
Log Message:
-----------
[ARM,AArch64] Fix ABI bugs with over-sized bitfields (#126774)
This fixes two bugs in the ABI for over-sized bitfields for ARM and
AArch64:
The container type picked for an over-sized bitfield already contributes
to the alignment of the structure, but it should also contribute to the
"unadjusted alignment" which is used by the ARM and AArch64 PCS.
AAPCS64 defines the bitfield layout algorithm for over-sized bitfields
as picking a container which is the fundamental integer data type with
the largest size less than or equal to the bit-field width. Since
AAPCS64 has a 128-bit integer fundamental data type, we need to consider
Int128 as a container type for AArch64.
Commit: 726c4b9f77862d83b6e5e16c8d5a2fc4fb1589a2
https://github.com/llvm/llvm-project/commit/726c4b9f77862d83b6e5e16c8d5a2fc4fb1589a2
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower match_all_sync functions to nvvm intrinsics (#127940)
Commit: f7a10f0e8d46085cfebfbd53c3ab19a5ab37774f
https://github.com/llvm/llvm-project/commit/f7a10f0e8d46085cfebfbd53c3ab19a5ab37774f
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/test/Index/comment-to-html-xml-conversion.cpp
Log Message:
-----------
[Index] Un-XFAIL test with msan
Passing after #127078.
Commit: 52ded67249210db8762a282a662fe8249c1f4331
https://github.com/llvm/llvm-project/commit/52ded67249210db8762a282a662fe8249c1f4331
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
M llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
Log Message:
-----------
[LAA] Always require non-wrapping pointers for runtime checks. (#127543)
Currently we only check if the pointers involved in runtime checks do
not wrap if we need to perform dependency checks. If that's not the
case, we generate runtime checks, even if the pointers may wrap (see
test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll).
If the pointer wraps, then we swap start and end of the runtime check,
leading to incorrect checks.
An Alive2 proof of what the runtime checks are checking conceptually (on
i4 to have it complete in reasonable time) showing the incorrect result
should be https://alive2.llvm.org/ce/z/KsHzn8
Depends on https://github.com/llvm/llvm-project/pull/127410 to avoid
more regressions.
PR: https://github.com/llvm/llvm-project/pull/127543
Commit: 2fab6db72811e52cf18d172caf243e22f8bd3851
https://github.com/llvm/llvm-project/commit/2fab6db72811e52cf18d172caf243e22f8bd3851
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
Log Message:
-----------
[VectorCombine] foldSelectShuffle - remove extra adds of old shuffles to worklist (#127999)
We already push the old shuffles to the worklist as part of the replaceValue calls, so we shouldn't need to add them to the deferred list as well - my guess is this was to ensure that the instructions got erased first to help cleanup unused instructions, but eraseInstruction should handle this now.
Commit: 00f5aaf841cbd6e2df9158538e36d66632af9cd5
https://github.com/llvm/llvm-project/commit/00f5aaf841cbd6e2df9158538e36d66632af9cd5
Author: Vinay Deshmukh <32487576+vinay-deshmukh at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
Log Message:
-----------
[libc]: Clean up unnecessary function pointers in scanf (#121215)
Resolves #115394
1. Move definitions of cross-platform `getc` `ungetc` to `reader.h`.
2. Remove function pointer members to define them once per platform in
`.h`
3. Built in overlay mode in macOS m1
4. Remove `reader.cpp` as it's empty now
Also, full build doesn't yet build on macos m1 AFAIK
Commit: 9ba438d3217505c48a7b9fb4cbe75ab9e055093f
https://github.com/llvm/llvm-project/commit/9ba438d3217505c48a7b9fb4cbe75ab9e055093f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
Log Message:
-----------
[RISCV] Remove some unnecessary casts from int64_t to uint64_t. NFC
We have a lot of casts near this to avoid undefined behavior or
arithmetic on arbitrary signed integers, but the casts removed here
don't appear to be necessary.
Commit: 10b99e97ff866b43569531b890c11b4a3011f6a2
https://github.com/llvm/llvm-project/commit/10b99e97ff866b43569531b890c11b4a3011f6a2
Author: vporpo <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/test/Transforms/SandboxVectorizer/scheduler.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/InstrMapsTest.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/LegalityTest.cpp
Log Message:
-----------
[SandboxVec][BottomUpVec] Separate vectorization decisions from code generation (#127727)
Up until now the generation of vector instructions was taking place
during the top-down post-order traversal of vectorizeRec(). The issue
with this approach is that the vector instructions emitted during the
traversal can be reordered by the scheduler, making it challenging to
place them without breaking the def-before-uses rule.
With this patch we separate the vectorization decisions (done in
`vectorizeRec()`) from the code generation phase (`emitVectors()`). The
vectorization decisions are stored in the `Actions` vector and are used
by `emitVectors()` to drive code generation.
Commit: 2a7d3f055d4ea86354e314c5cd1f682a4ad5853f
https://github.com/llvm/llvm-project/commit/2a7d3f055d4ea86354e314c5cd1f682a4ad5853f
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[NFC] Add release notes for -Wunsafe-buffer-usage-in-libc-call (#126975)
`-Wunsafe-buffer-usage-in-libc-call` is a subgroup of
`-Wunsafe-buffer-usage` that warns about unsafe libc function calls.
Commit: 19af8581d51b8144f6d041ae1d948443084d8d0b
https://github.com/llvm/llvm-project/commit/19af8581d51b8144f6d041ae1d948443084d8d0b
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CMakeLists.txt
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/CodeGenHLSL/cbuf.hlsl
R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
A clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
Log Message:
-----------
[HLSL] Constant Buffers CodeGen (#124886)
Translates `cbuffer` declaration blocks to `target("dx.CBuffer")` type. Creates global variables in `hlsl_constant` address space for all `cbuffer` constant and adds metadata describing which global constant belongs to which constant buffer. For explicit constant buffer layout information an explicit layout type `target("dx.Layout")` is used. This might change in the future.
The constant globals are temporary and will be removed in upcoming pass that will translate `load` instructions in the `hlsl_constant` address space to constant buffer load intrinsics calls off a CBV handle (#124630, #112992).
See [Constant buffer design
doc](https://github.com/llvm/wg-hlsl/pull/94) for more details.
Fixes #113514, #106596
Commit: 6e7da07c73c179396e21fb729ac14d6b2a1c3152
https://github.com/llvm/llvm-project/commit/6e7da07c73c179396e21fb729ac14d6b2a1c3152
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Enable New Premerge on PRs (#127894)
This patch gets rid of the file restriction for running the new premerge
Github workflow on PRs. This will cause the jobs to be run on all the
PRs. Currently the jobs will succeed regardless of build/test failure
results. This will let us test the new infra hopefully without too much
disruption before eventually letting jobs fail when builds/tests fail
and deprecating the existing premerge system.
This is part of the launch plan as outlined in
https://discourse.llvm.org/t/googles-plan-for-the-llvm-presubmit-infrastructure/78940.
Commit: b0210fee94bc29a507f900da1fb97f0e50ab2637
https://github.com/llvm/llvm-project/commit/b0210fee94bc29a507f900da1fb97f0e50ab2637
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.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.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/test/CodeGen/armv7k-abi.c
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M compiler-rt/test/hwasan/TestCases/libc_thread_freeres.c
M compiler-rt/test/ubsan/TestCases/Misc/Posix/diag-stacktrace.cpp
M compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp
Log Message:
-----------
[Clang] [NFC] Fix more `-Wreturn-type` warnings in tests everywhere (#123470)
With the goal of eventually being able to make `-Wreturn-type` default to an
error in all language modes, this is a follow-up to #123464 and updates even
more tests, mainly clang-tidy and clangd tests.
Commit: 5fadb3d680909ab30b37eb559f80046b5a17045e
https://github.com/llvm/llvm-project/commit/5fadb3d680909ab30b37eb559f80046b5a17045e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/LiveRangeCalc.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
Log Message:
-----------
[CodeGen] Remove static member function Register::isPhysicalRegister. NFC
Prefer the nonstatic member by converting unsigned to Register instead.
Commit: b10ddfafcacf9d8f9cfa7e23f65730be60261554
https://github.com/llvm/llvm-project/commit/b10ddfafcacf9d8f9cfa7e23f65730be60261554
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
Log Message:
-----------
[libc] Fix missing includes in GPU scanf reader (#128049)
In #121215 the reader was reorganized and the definitions of the
internal getc and ungetc functions were moved, but the includes that the
GPU builder depends on were not. This patch moves the includes to the
correct new place.
Commit: 5bc51611446ee3a9fc3538623ee87f18aada30c3
https://github.com/llvm/llvm-project/commit/5bc51611446ee3a9fc3538623ee87f18aada30c3
Author: Susan Tan (ス-ザン タン) <zujunt at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
A flang/test/Analysis/AliasAnalysis/fircg-as-sources.fir
Log Message:
-----------
[flang] Add support to fir::cg in alias analysis (#127827)
Currently the alias analysis doesn't trace the source whenever there are
operations from fir::cg dialect. This PR added support for
fir::cg::XEmboxOp, fir::cg::XReboxOp, fir::cg::XDeclareOp for a specific
application i'm working on.
Commit: 29361b326bd865f7c4f07d9fc5a908d3f2b177fc
https://github.com/llvm/llvm-project/commit/29361b326bd865f7c4f07d9fc5a908d3f2b177fc
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
Log Message:
-----------
[Clang] Fix failing clang-tidy test (#128051)
#123470 broke one of the clang-tidy tests; this fixes that.
Commit: 6d84fae60ed2c227dfcb349a144cbc0cdd3bcc4b
https://github.com/llvm/llvm-project/commit/6d84fae60ed2c227dfcb349a144cbc0cdd3bcc4b
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 19af8581d51b
Commit: 78d82d3ae7ac99833e1b9c0b529c256f90b6c6cc
https://github.com/llvm/llvm-project/commit/78d82d3ae7ac99833e1b9c0b529c256f90b6c6cc
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Breakpoint/BreakpointOptions.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb] Store StreamAsynchronousIO in a unique_ptr (NFC) (#127961)
Make StreamAsynchronousIO an unique_ptr instead of a shared_ptr. I tried
passing the class by value, but the llvm::raw_ostream forwarder stored
in the Stream parent class isn't movable and I don't think it's worth
changing that. Additionally, there's a few places that expect a
StreamSP, which are easily created from a StreamUP.
Commit: 0ba391a85f03541635c337ab5648704175e19bec
https://github.com/llvm/llvm-project/commit/0ba391a85f03541635c337ab5648704175e19bec
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
M bolt/test/AArch64/data-in-code.s
Log Message:
-----------
[BOLT] Improve constant island disassembly (#127971)
* Add label that identifies constant island.
* Support cases where the island is located after the function.
Commit: 2e5ec1cc5b8ef30f04f53d927860184acf7150b3
https://github.com/llvm/llvm-project/commit/2e5ec1cc5b8ef30f04f53d927860184acf7150b3
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
Log Message:
-----------
[flang] Add FLANG_PARALLEL_COMPILE_JOBS option (#127364)
This is a re-apply of 083c683969b2436afdc45becadc955841f5f4d31 with a
fix for the flang runtime build.
This works the same way as LLVM_PARALLEL_COMPILE_JOBS except that it is
specific to the flang source rather than for the whole project.
Configuring with -DFLANG_PARALLEL_COMPILE_JOBS=1 would mean that there
would only ever be one flang source being compiled at a time.
Some of the flang sources require large amounts of memory to compile, so
this option can be used to avoid OOM erros when compiling those files
while still allowing the rest of the project to compile using the
maximum number of jobs.
Update flang/CMakeLists.txt
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: df427992da4492a664b60ba5201bb2f4b5275228
https://github.com/llvm/llvm-project/commit/df427992da4492a664b60ba5201bb2f4b5275228
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/CMakeLists.txt
Log Message:
-----------
Adding dependency to FIRCodeGen to fix buildbots (#128053)
Commit: f34f21a1f61b0413dd5ac90db58b4685ff492367
https://github.com/llvm/llvm-project/commit/f34f21a1f61b0413dd5ac90db58b4685ff492367
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix mlir python build after a72616de18c0814ad37b5748d6bdc60b825dd889
Commit: 5bf37484c6b0fc38a63465a36890a11494e4fc07
https://github.com/llvm/llvm-project/commit/5bf37484c6b0fc38a63465a36890a11494e4fc07
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][hlsl][Sema] Simplify CBuffer Legacy Size Calculation Control Flow (#127921)
NFC: Small refactor to `calculateLegacyCbufferSize()`'s control flow to
make each branch easier to flow/more visually distinct from each other
Commit: 11468c3b072c111a69290852e1157e1f30e853c3
https://github.com/llvm/llvm-project/commit/11468c3b072c111a69290852e1157e1f30e853c3
Author: TatWai Chong <78814694+tatwaichong at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/TosaToLinalg/TosaToLinalg.h
M mlir/include/mlir/Dialect/Tosa/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Tosa/IR/TargetEnv.h
A mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
A mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaShapeOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaUtilOps.td
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tosa/Transforms/Passes.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
M mlir/lib/Dialect/Tosa/CMakeLists.txt
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
A mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
A mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
A mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
A mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
A mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/lib/Dialect/Tosa/CMakeLists.txt
A mlir/test/lib/Dialect/Tosa/TestAvailability.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-tblgen/CMakeLists.txt
A mlir/tools/mlir-tblgen/TosaUtilsGen.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][tosa] Add profile-based operation validation (#126992)
TOSA MLIR profile-based validation is designed to identify the
profile/extension requirements for each operation in TOSA MLIR graph,
ensuring that TOSA operators conform to the profiles and extensions
enabled by the target implementation.
The available profiles/extensions are reflected in the availability
property attached to each TOSA operator in the dialect. The design of
availability, the profile/extension classes, and their interface, is
inspired by the SPIRV implementation.
This patch includes the following changes:
- Introduces profile and extension knowledge within the dialect and
establishes an interface to query this information.
- Implements profile-based validation logic in the pass.
- Adds a TargetEnv class that represents the capabilities enabled in the
target implementation, such as profiles, extensions, and levels.
- Adds a set of tests to ensure that profile and extension requirements
are properly attached to the operations and that validation correctly
verifies the requirements of a given operation against the target
implementation.
Commit: df9d3c20fa0a68a6aeb3174d15279e5e6cf41436
https://github.com/llvm/llvm-project/commit/df9d3c20fa0a68a6aeb3174d15279e5e6cf41436
Author: Renaud Kauffmann <rkauffmann at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
R flang/test/Analysis/AliasAnalysis/fircg-as-sources.fir
Log Message:
-----------
Reverting commits 5bc51611446ee3a9fc353 and df427992da4492a664b6 (#128057)
Commit: cc45365ab9065bc9e8ea48744f761b7ac30a5634
https://github.com/llvm/llvm-project/commit/cc45365ab9065bc9e8ea48744f761b7ac30a5634
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.h
Log Message:
-----------
[clang][NFC] Update isAuxBuiltinID comment (#128038)
Clarify behavior of the function when the builtin is also supported on
the main target.
Based on feedback from https://github.com/llvm/llvm-project/pull/126324
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 87bf23216fc1257e88e0d38730df2d0187ff5bc6
https://github.com/llvm/llvm-project/commit/87bf23216fc1257e88e0d38730df2d0187ff5bc6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Add missing dependencies on `getc` and `ungetc` for GPU (#128069)
Summary:
These are required because we don't use the `file` interface.
Commit: d1dde17ab079152d8cf2d8953b90cdbf5a1dd78c
https://github.com/llvm/llvm-project/commit/d1dde17ab079152d8cf2d8953b90cdbf5a1dd78c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCTestRules.cmake
Log Message:
-----------
[libc] Fix failing NVPTX tests due to removed internal LLVM option
Summary:
This was removed but forgot to remove it in this one place. So it
errors.
Commit: 84c8848f816f4cad70ba2b00fea5c0cd33cb0600
https://github.com/llvm/llvm-project/commit/84c8848f816f4cad70ba2b00fea5c0cd33cb0600
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower match_any_sync functions to nvvm intrinsics (#127942)
Commit: 5981335d75412977862003816d67d9b01fcd04b6
https://github.com/llvm/llvm-project/commit/5981335d75412977862003816d67d9b01fcd04b6
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Fix scanf cmake for targets without FILE (#128056)
Another followup fix to #121215
The new cmake wouldn't define the readerat all if the target wasn't GPU
or didn't have a definition of FILE. This patch rewrites the cmake to be
more general.
As a followup, I'd like to make `use_system_file` consistent between
/test and /src. Currently in /src it includes the `COMPILE_OPTIONS` and
in /test it does not.
Commit: a67566b185c56ce84f6b858e431e4d412b40fdaa
https://github.com/llvm/llvm-project/commit/a67566b185c56ce84f6b858e431e4d412b40fdaa
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Semantics/check-cuda.cpp
A flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Semantics/cuf09.cuf
Log Message:
-----------
Allow do concurrent inside cuf kernel directive (#127693)
Allow do concurrent inside cuf kernel directive to avoid the following
Lowering error:
```
void {anonymous}::FirConverter::genFIR(const Fortran::parser::CUFKernelDoConstruct&): Assertion `bounds && "Expected bounds on the loop construct"' failed.
```
---------
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Commit: 309e3ca08130f04ef6b0b320ee3e43575fa7bf99
https://github.com/llvm/llvm-project/commit/309e3ca08130f04ef6b0b320ee3e43575fa7bf99
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/LiveRangeCalc.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocFast.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/Target/AArch64/AArch64PBQPRegAlloc.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/M68k/M68kRegisterInfo.cpp
Log Message:
-----------
Revert "[CodeGen] Remove static member function Register::isPhysicalRegister. NFC"
This reverts commit 5fadb3d680909ab30b37eb559f80046b5a17045e.
Commit: 08c69b2ef6eeba19956ad24fb7e9d29e9778cbaa
https://github.com/llvm/llvm-project/commit/08c69b2ef6eeba19956ad24fb7e9d29e9778cbaa
Author: Christopher Di Bella <cjdb at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/LiveInterval.cpp
M llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
M llvm/lib/CodeGen/MachineTraceMetrics.cpp
M llvm/lib/CodeGen/RegisterPressure.cpp
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
M llvm/lib/Target/ARM/A15SDOptimizer.cpp
M llvm/lib/Target/ARM/ARMLatencyMutations.cpp
M llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
M llvm/lib/Target/PowerPC/PPCReduceCRLogicals.cpp
M llvm/lib/Target/PowerPC/PPCVSXCopy.cpp
M llvm/lib/Target/PowerPC/PPCVSXSwapRemoval.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
Log Message:
-----------
Revert "[CodeGen] Remove static member function Register::isVirtualRegister. NFC (#127968)"
This reverts commit ff99af7ea03b3be46bec7203bd2b74048d29a52a.
Commit: 74c6111631ceb14a70bf833da66df9fb5d871436
https://github.com/llvm/llvm-project/commit/74c6111631ceb14a70bf833da66df9fb5d871436
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M lld/test/wasm/data-segments.ll
M lld/wasm/OutputSections.cpp
M lld/wasm/Writer.cpp
Log Message:
-----------
[lld][WebAssembly] Skip BSS when combining data segments (#127735)
In most circumstances BSS segments are not required in the output binary
but combineOutputSegments was erroneously including them. This meant
that PIC binaries were including the BSS data as zero in the binary.
Fixes: https://github.com/emscripten-core/emscripten/issues/23683
Commit: dcc08a17c781a5066ab17b9791e1c455f7cedbf7
https://github.com/llvm/llvm-project/commit/dcc08a17c781a5066ab17b9791e1c455f7cedbf7
Author: Martin Storsjö <martin at martin.st>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
A llvm/test/tools/llvm-dlltool/Inputs/gnu_foo_lib_h.yaml
A llvm/test/tools/llvm-dlltool/Inputs/gnu_foo_lib_s00000.yaml
A llvm/test/tools/llvm-dlltool/Inputs/gnu_foo_lib_t.yaml
A llvm/test/tools/llvm-dlltool/Inputs/llvm_foo_dll_1.yaml
A llvm/test/tools/llvm-dlltool/Inputs/llvm_foo_dll_2.yaml
A llvm/test/tools/llvm-dlltool/Inputs/llvm_foo_dll_3.yaml
A llvm/test/tools/llvm-dlltool/identify.test
Log Message:
-----------
[llvm-dlltool] Implement the --identify option (#127465)
This option prints the name of the DLL that gets imported, when linking
against an import library.
This is implemented using the same strategy as GNU dlltool does; looking
for the contents of .idata$6 or .idata$7 chunks. The right section name
to check for is chosen by identifying whether the library is GNU or LLVM
style. In the case of GNU import libraries, the DLL name is in an
.idata$7 chunk. However there are also other chunks with that section
name (for entries for the IAT or ILT); identify these by looking for
whether a chunk contains relocations.
Alternatively, one could also just look for .idata$2 chunks, look for
relocations at the right offset, and locate data at the symbol that the
relocation points at (which may be in the same or in another object
file).
Commit: f83ef281b5d3cf4d93ea58122280d47a8595a2bd
https://github.com/llvm/llvm-project/commit/f83ef281b5d3cf4d93ea58122280d47a8595a2bd
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Remove redundant addressing mode instrs (#128044)
Remove load and store instructions which do not include an immediate,
and just use the immediate variants in all cases. These variants will be
emitted exactly the same when the immediate offset is 0. Removing the
non-immediate versions allows for the removal of a lot of code and would
make any MachineIR passes simpler.
Commit: a1a10732e417020269b1cafcbdaba7bc217c5299
https://github.com/llvm/llvm-project/commit/a1a10732e417020269b1cafcbdaba7bc217c5299
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][DAG] Remove all matching nodes from bundle
This fixes a bug where `SchedBundle::eraseFromBundle()` would not erase all
matching nodes but just the first one.
Commit: 1ca93b15482d3bfa1560b35960ab46fea65b3074
https://github.com/llvm/llvm-project/commit/1ca93b15482d3bfa1560b35960ab46fea65b3074
Author: Martin Storsjö <martin at martin.st>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
Log Message:
-----------
[llvm-dlltool] Add a missing dependency
This was missed in dcc08a17c781a5066ab17b9791e1c455f7cedbf7.
Commit: 2ff80d2448f87429b1fb55ea4c112eb9a974298f
https://github.com/llvm/llvm-project/commit/2ff80d2448f87429b1fb55ea4c112eb9a974298f
Author: Vasileios Porpodas <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Fix reassignment of SchedBundle to DGNode
When assigning a bundle to a DAG Node that is already assigned to a
SchedBundle we need to remove the node from the old bundle.
Commit: 62c209b728d4babbc0009dc681a31e175c2505b6
https://github.com/llvm/llvm-project/commit/62c209b728d4babbc0009dc681a31e175c2505b6
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] add test of scalar mul op (#128088)
This patch adds a lit test for mul op of scalar input1 and input2 but
rank-1 shift operand to make sure output is still scalar
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 4d92975b5cf04ac36e7757a4f221b4f5ece6646f
https://github.com/llvm/llvm-project/commit/4d92975b5cf04ac36e7757a4f221b4f5ece6646f
Author: vporpo <vporpodas at google.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/test/Transforms/SandboxVectorizer/bottomup_basic.ll
M llvm/unittests/Transforms/Vectorize/SandboxVectorizer/SchedulerTest.cpp
Log Message:
-----------
[SandboxVec][Scheduler] Don't allow rescheduling of already scheduled (#128050)
This patch implements the check for not allowing re-scheduling of
instructions that have already been scheduled in a scheduling bundle.
Rescheduling should only happen if the instructions were temporarily
scheduled in singleton bundles during a previous call to
`trySchedule()`.
Commit: 3c46debe6b0143932d1fc3ac0d566c7f159f364d
https://github.com/llvm/llvm-project/commit/3c46debe6b0143932d1fc3ac0d566c7f159f364d
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.cpp
M mlir/test/Conversion/MathToROCDL/math-to-rocdl.mlir
Log Message:
-----------
[MLIR] Fix 0-dimensional case of conversion of vector ops to GPU (#128075)
This is a follow-up to #127844. That PR got vectors of arbitrary rank
working, but I hadn't thought about the rank-0 case.
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 9fa77c18548a4878cf53a5195f69d15a2d1d567f
https://github.com/llvm/llvm-project/commit/9fa77c18548a4878cf53a5195f69d15a2d1d567f
Author: YongKang Zhu <yongzhu at fb.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M bolt/include/bolt/Core/Linker.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
Log Message:
-----------
[BOLT][Linker][NFC] Remove lookupSymbol() in favor of lookupSymbolInfo() (#128070)
Sometimes we need to know the size of a symbol besides its address, so
maybe we can start using the existing `BOLTLinker::lookupSymbolInfo()`
(that returns symbol address and size) and remove
`BOLTLinker::lookupSymbol()` (that only returns symbol address). And for
both we need to check return value as it is wrapped in `std::optional<>`,
which makes the difference even smaller.
Commit: 776cddacb1ab8fd92bcb3aa42f9c0b348d8aa2ba
https://github.com/llvm/llvm-project/commit/776cddacb1ab8fd92bcb3aa42f9c0b348d8aa2ba
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
A clang/test/CodeGenHLSL/default_cbuffer.hlsl
Log Message:
-----------
[HLSL] Implement default constant buffer `$Globals` (#125807)
All variable declarations in the global scope that are not resources,
static or empty are implicitly added to implicit constant buffer
`$Globals`. They are created in `hlsl_constant` address space and
collected in an implicit `HLSLBufferDecl` node that is added to the AST
at the end of the translation unit. Codegen is the same as for explicit
constant buffers.
Fixes #123801
Commit: 7c2ebe5dbb4d5cfae7670036394a6f23dcbe4bf7
https://github.com/llvm/llvm-project/commit/7c2ebe5dbb4d5cfae7670036394a6f23dcbe4bf7
Author: Pravin Jagtap <Pravin.Jagtap at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
M llvm/test/MC/AMDGPU/gfx950_err.s
Log Message:
-----------
AMDGPU: Restrict src0 to VGPRs only for certain cvt scale opcodes. (#127464)
The Src0 operand width higher that 32-bits of cvt_scale opcodes
operating on FP6/BF6/FP4 need to be restricted to take only VGPRs.
Commit: 6e5f26bba87be02ea4c1220898031c441c2562fc
https://github.com/llvm/llvm-project/commit/6e5f26bba87be02ea4c1220898031c441c2562fc
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/include/clang/AST/Decl.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/AST/Decl.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
R clang/test/CodeGenHLSL/default_cbuffer.hlsl
Log Message:
-----------
Revert "[HLSL] Implement default constant buffer `$Globals`" (#128112)
Reverts llvm/llvm-project#125807
Reverting this change because of failing tests.
Commit: 24c06a19be7bcf28b37e5eabbe65df95a2c0265a
https://github.com/llvm/llvm-project/commit/24c06a19be7bcf28b37e5eabbe65df95a2c0265a
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
A clang/test/Modules/pr127943.cppm
Log Message:
-----------
[C++20] [Modules] handling selectAny attribute for vardecl
Close https://github.com/llvm/llvm-project/issues/127963
The root cause of the problem seems to be that we didn't realize it
simply.
Commit: f27081ba6a12685b403181e51a00a3d6f3360ca5
https://github.com/llvm/llvm-project/commit/f27081ba6a12685b403181e51a00a3d6f3360ca5
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[FIR] Avoid generating llvm.undef for dummy scoping info (#128098)
Dummy scoping operations are generated to keep track of scopes for
purpose of Fortran level analyses like Alias Analysis. For codegen, the
scoping info is converted to a fir.undef during pre-codegen rewrite.
Then during declare lowering, this info is no longer used - but it is
still translated to llvm.undef. I cleaned up so it is simply erased. The
generated LLVM should now no longer have a stray undef which looks off
when trying to make sense of the IR.
Co-authored-by: Razvan Lupusoru <rlupusoru at nvidia.com>
Commit: 89e80abbc58b5d92f3a0eaa393a0b095aac11ec2
https://github.com/llvm/llvm-project/commit/89e80abbc58b5d92f3a0eaa393a0b095aac11ec2
Author: wanglei <wanglei at loongson.cn>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
A lldb/test/Shell/Register/Inputs/loongarch64-gp-read.cpp
A lldb/test/Shell/Register/loongarch64-gp-read.test
M llvm/utils/lit/lit/llvm/config.py
Log Message:
-----------
[lldb][LoongArch] Complete register alias name in `AugmentRegisterInfo`
Fixes: https://github.com/llvm/llvm-project/issues/123903
Reviewed By: DavidSpickett, SixWeining
Pull Request: https://github.com/llvm/llvm-project/pull/124059
Commit: 204dcafec0ecf0db81d420d2de57b02ada6b09ec
https://github.com/llvm/llvm-project/commit/204dcafec0ecf0db81d420d2de57b02ada6b09ec
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in BCIS_AfterColon and `ColumnLimit: 0` (#127964)
Fixes #127622
Commit: 22f526811bdc2a223cf021a58f20b4eb1676ab8d
https://github.com/llvm/llvm-project/commit/22f526811bdc2a223cf021a58f20b4eb1676ab8d
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add infer shape test of scalar mul op (#128091)
This adds a tosa-infer-shapes test for scalar mul op
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 35d7bf21b6d665e8107288a6372fe9dfe0f0c329
https://github.com/llvm/llvm-project/commit/35d7bf21b6d665e8107288a6372fe9dfe0f0c329
Author: laichunfeng <laichunfeng at tencent.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Analysis/DataFlowFramework.cpp
Log Message:
-----------
[mlir] Remove unused outer loop (NFC) (#127998)
The program will exit the outer loop directly if inner loop ends, so the
outer do {} while() is redundant.
Commit: e729dc759d052de122c8a918fe51b05ac796bb50
https://github.com/llvm/llvm-project/commit/e729dc759d052de122c8a918fe51b05ac796bb50
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
Log Message:
-----------
AMDGPU: Widen f16 minimum/maximum to v2f16 on gfx950 (#128121)
Unfortunately we only have the vector versions of v2f16 minimum3
and maximum. Widen to v2f16 so we can lower as minimum333(x, y, y).
Commit: cc46d00a86f89b57008ca878e89538d724b7df90
https://github.com/llvm/llvm-project/commit/cc46d00a86f89b57008ca878e89538d724b7df90
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
Log Message:
-----------
AMDGPU: Form v2f16 minimum3/maximum3 on gfx950 (#128123)
Commit: cc675c635bf0016111050531e75f8082d0ea120b
https://github.com/llvm/llvm-project/commit/cc675c635bf0016111050531e75f8082d0ea120b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[utils] Use stricter SSA regexp for CHECK-SAME. (#128083)
When CHECK-SAME checks are split across multiple lines,
the '.*' regexp for the SSA variable name may cause problems, e.g.:
```
// CHECK_LABEL: func.func @whatever(
// CHECK-SAME: %[[VAL_0:.*]]: i32,
// CHECK-SAME: %[[VAL_1:.*]]: i32,
// CHECK-SAME: %[[VAL_2:.*]]: i64)
```
This will not work for `func.func @whatever(%0: i32, %1: i32, %2: i64)`,
because VAL_0 will match to `0: i32, %1`.
Commit: f0134e6d312e8a805b8fe799ec27d936c8658cb2
https://github.com/llvm/llvm-project/commit/f0134e6d312e8a805b8fe799ec27d936c8658cb2
Author: William Moses <gh at wsmoses.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M mlir/lib/Conversion/MathToLLVM/MathToLLVM.cpp
M mlir/test/Conversion/MathToLLVM/math-to-llvm.mlir
Log Message:
-----------
[MLIR][Math] Add lowering for isnan and isfinite (#128125)
Co-authored-by: Ivan R. Ivanov <ivanov.i.aa at m.titech.ac.jp>
Commit: fd5d1cbb75e4278d9074ff105efd3ab48f778b4b
https://github.com/llvm/llvm-project/commit/fd5d1cbb75e4278d9074ff105efd3ab48f778b4b
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Index/IndexTypeSourceInfo.cpp
Log Message:
-----------
[clang][Index] Use HeuristicResolver in IndexTypeSourceInfo as well (#128106)
Commit: e3c8408593f8edbf1a627969346f03268abb1ced
https://github.com/llvm/llvm-project/commit/e3c8408593f8edbf1a627969346f03268abb1ced
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.h
Log Message:
-----------
[llvm-jitlink] Apply symbol scope modifiers explicitly for -hidden-lx.
We had been abusing the setOverrideObjectFlagsWithResponsibilityFlags method to
do this. Handling it explicitly ensures that flags are only modified on the
intended files, and not accedintally modified elsewhere.
Commit: 6c90f87b744533d5fa44f51f92a3bbd5613b708d
https://github.com/llvm/llvm-project/commit/6c90f87b744533d5fa44f51f92a3bbd5613b708d
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
Log Message:
-----------
[ORC-RT] Add -num-threads=0 to testcase.
This testcase depends on stable output, which isn't guaranteed when
concurrent linking is enabled (the default).
Commit: 36d304d2146a481f3844b56d78befb0f212d2635
https://github.com/llvm/llvm-project/commit/36d304d2146a481f3844b56d78befb0f212d2635
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RegAllocFast.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[RegAllocFast][NPM] Make RegAllocFastPassOptions a nested class (#127984)
Making all reg alloc classes have an `::Option` class makes things nicer
to construct them.
Commit: 43d71baae36c8d8b5a9995aa35efebe09cc9c2d6
https://github.com/llvm/llvm-project/commit/43d71baae36c8d8b5a9995aa35efebe09cc9c2d6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Fix build after @11468c3, @f0134e6.
- https://github.com/llvm/llvm-project/commit/11468c3b072c111a69290852e1157e1f30e853c3
- https://github.com/llvm/llvm-project/commit/f0134e6d312e8a805b8fe799ec27d936c8658cb2
Commit: 3302bef5b41a99547f10b91d0aabe59aa3dc7fb0
https://github.com/llvm/llvm-project/commit/3302bef5b41a99547f10b91d0aabe59aa3dc7fb0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/rint-conv.ll
Log Message:
-----------
[X86] Combine FRINT + FP_TO_SINT to LRINT (#126477)
Based on Craig's suggestion on #126217
Alive2: https://alive2.llvm.org/ce/z/9XNpWt
Commit: 6757cf4e6f1c7767d605e579930a24758c0778dc
https://github.com/llvm/llvm-project/commit/6757cf4e6f1c7767d605e579930a24758c0778dc
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
A llvm/test/CodeGen/RISCV/machine-outliner-call-x5-liveout.mir
Log Message:
-----------
[RISCV] [MachineOutliner] Analyze all candidates (#127659)
#117700 made a change from analyzing all the candidates to analyzing
just the first candidate before deciding to either delete or keep all of
them.
Even though the candidates all have the same instructions, the basic
blocks in which they are present are different and we will need to check
each of them before deciding whether to keep or erase them.
Particularly, `isAvailableAcrossAndOutOfSeq` checks to see if the
register (x5 in this case) is available from the end of the MBB to the
beginning of the candidate and not checking this for each candidate led
to incorrect candidates being outlined resulting in correctness issues
in a few downstream benchmarks.
Similarly, deleting all the candidates if the first one is not viable
will result in missed outlining opportunities.
Commit: d46902e31b29974e56285bbc6932c90656f6dd12
https://github.com/llvm/llvm-project/commit/d46902e31b29974e56285bbc6932c90656f6dd12
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
Log Message:
-----------
[Hexagon] Simplify an array of physical register ids. NFC (#128066)
Make the array const. Use MCPhysReg, which is uint16_t, to reduce its
size. Remove NoRegister terminator by using a range-based for loop to
access.
Commit: 581599096e8a1a89ccd3e053a1209c69a9079083
https://github.com/llvm/llvm-project/commit/581599096e8a1a89ccd3e053a1209c69a9079083
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU] Expand IR Attribute table to handle longer names (NFC)
Commit: af64f0a6c2e26b3fd1979c1fa380136e5528c9b3
https://github.com/llvm/llvm-project/commit/af64f0a6c2e26b3fd1979c1fa380136e5528c9b3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
Log Message:
-----------
[FrameLowering] Use MCRegister instead of Register in CalleeSavedInfo. NFC (#128095)
Callee saved registers should always be phyiscal registers. They are
often passed directly to other functions that take MCRegister like
getMinimalPhysRegClass or TargetRegisterClass::contains.
Unfortunately, sometimes the MCRegister is compared to a Register which
gave an ambiguous comparison error when the MCRegister is on the LHS.
Adding a MCRegister==Register comparison operator created more ambiguous
comparison errors elsewhere. These cases were usually comparing against
a base or frame pointer register that is a physical register in a
Register. For those I added an explicit conversion of Register to
MCRegister to fix the error.
Commit: 97ed2019c41f2c0208699ab3593b681487754d58
https://github.com/llvm/llvm-project/commit/97ed2019c41f2c0208699ab3593b681487754d58
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
A clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
Log Message:
-----------
[clang][bytecode] Use ExtendingDecl mechanism for primitives as well (#128141)
... when creating the temporary variables for a
MaterializeTemporaryExpr.
Commit: ad3f7d2c71b062dd1c2fb1fa78e81cc7b3ba53e9
https://github.com/llvm/llvm-project/commit/ad3f7d2c71b062dd1c2fb1fa78e81cc7b3ba53e9
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
Log Message:
-----------
[clang][bytecode][test] Qualify a std::move call
Try to fix the test failures introduced by 97ed2019c41f2c0208699ab3593b681487754d58
See https://github.com/llvm/llvm-project/pull/128141
Commit: 30ae485835fbcc789ed0180f2ff03335e7f27c53
https://github.com/llvm/llvm-project/commit/30ae485835fbcc789ed0180f2ff03335e7f27c53
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/utils/libcxx/test/dsl.py
Log Message:
-----------
[libcxx] Work around picolibc argv handling in tests. (#127662)
This fixes some test failures when the libcxx tests are run against an
up-to-date picolibc on embedded Arm, because those tests depend on an
unsupported locale but the `hasAnyLocale` preliminary check wrongly
concluded that the locale _was_ supported.
`hasAnyLocale` passes a set of locale strings to a test program via the
command line, and checks if the libc under test reports that any of the
locales can be successfully set via setlocale(). In some invocations one
of the locale names contains a space, e.g. the Windows-style locale name
"English_United States.1252".
Unfortunately picolibc's crt0, when running under Arm semihosting,
fetches the single command string from the host and then splits it up at
spaces without implementing any kind of quoting. So it simply isn't
possible to get a space into an argv word. As a result, we end up
testing for the locale (in this example) "English_United". In up-to-date
versions of picolibc, this is actually accepted, since it contains no
objectionable character set specification (or indeed any at all). So the
lit check wrongly concludes that libc supports that locale, and enables
some locale tests, which fail.
This patch works around the issue entirely within `hasAnyLocale()`, by
abandoning the use of argv completely, and instead encoding the list of
locales to check as an array of strings inside the test program.
Commit: db9876760f227cbe30fb882797c9b5e5e00523f2
https://github.com/llvm/llvm-project/commit/db9876760f227cbe30fb882797c9b5e5e00523f2
Author: David Green <david.green at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/select-to-and-zext.ll
M llvm/test/CodeGen/AArch64/select-with-and-or.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/select_const.ll
M llvm/test/CodeGen/AArch64/select_fmf.ll
M llvm/test/CodeGen/AArch64/selectcc-to-shiftand.ll
Log Message:
-----------
[AArch64][GlobalISel] Add some gisel test coverage for existing select tests. NFC
Commit: 0a913b5e3a234d3261ccca54f9458715c00fae3b
https://github.com/llvm/llvm-project/commit/0a913b5e3a234d3261ccca54f9458715c00fae3b
Author: João Gouveia <jtalonegouveia at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/combine-i64-trunc-srl-add.ll
Log Message:
-----------
[X86] Fold some (truncate (srl (add X, C1), C2)) patterns to (add (truncate (srl X, C2)), C1') (#126448)
Addresses the poor codegen identified in #123239 and a few extra cases.
This transformation is correct for `eq`
(https://alive2.llvm.org/ce/z/qZhwtT), `ne`
(https://alive2.llvm.org/ce/z/6gsmNz), `ult`
(https://alive2.llvm.org/ce/z/xip_td) and `ugt`
(https://alive2.llvm.org/ce/z/39XQkX).
Fixes #123239
Commit: aad74dc971f789b2974fde4181f87ee20db2998d
https://github.com/llvm/llvm-project/commit/aad74dc971f789b2974fde4181f87ee20db2998d
Author: l0rinc <pap.lorinc at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
Log Message:
-----------
[compiler-rt] FuzzedDataProvider: modernize outdated trait patterns (#127811)
Commit: d6858dd9bd4afab14ffbf0b9eca1ec6188d77a05
https://github.com/llvm/llvm-project/commit/d6858dd9bd4afab14ffbf0b9eca1ec6188d77a05
Author: Danial Klimkin <dklimkin at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
R mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h
A mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Rename TosaComplianceData.h to TosaComplianceData.h.inc (#128153)
The file can't be parsed on it's own, except when included in the .cc.
Should be .h.inc to avoid build errors.
Commit: 6d5ba79c6604a6f66400d573b8aabc34cb75d0b5
https://github.com/llvm/llvm-project/commit/6d5ba79c6604a6f66400d573b8aabc34cb75d0b5
Author: Cullen Rhodes <cullen.rhodes at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M compiler-rt/lib/asan/tests/asan_test.cpp
Log Message:
-----------
[compiler-rt][asan] Re-enable ManyThreadsTest on AArch64 (#127795)
Disabled in 2ab51bf13a1f6ca96823b755c036227dfd0892f9, doesn't hang for
me on AArch64 (Graviton 3, tested 1000 iterations). May still be an
issue, but hard to know unless we enable it again to find out.
n.b. test was also disabled on PowerPC in
467afc5f847f72221a42d9142c5b4733b44b52dc for same reason and it has also
been observed on x86:
https://lists.llvm.org/pipermail/llvm-dev/2016-January/094607.html
Fixes: https://github.com/llvm/llvm-project/issues/24763
Commit: 73ad78cc57e10b932bddaa9034237f59bb566e6b
https://github.com/llvm/llvm-project/commit/73ad78cc57e10b932bddaa9034237f59bb566e6b
Author: Urvi Rav <94829943+ravurvi20 at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (#125648)
This PR replaces the `default` clause with the `otherwise` clause for
the `metadirective` in OpenMP. The `otherwise` clause serves as a
fallback condition when no directive from the `when` clauses is
selected. In the `when` clause, context selectors define traits
evaluated to determine the directive to be applied.
Commit: 6bd88bb3ac82c4c4bd11b70cd01a2000c08db32d
https://github.com/llvm/llvm-project/commit/6bd88bb3ac82c4c4bd11b70cd01a2000c08db32d
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
A mlir/test/Target/LLVMIR/nvvm/tcgen05-cp.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-shift.mlir
M mlir/test/Target/LLVMIR/nvvmir-invalid.mlir
Log Message:
-----------
[MLIR][NVVM] Add Ops for tcgen05 cp and shift (#127798)
PR #127669 adds intrinsics for tcgen05.cp/shift.
This PR adds NVVM Dialect Ops for the same.
lit tests are added to verify the lowering
to the intrinsics.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: bd16a87d05d33655a6f51f89fa4c5663c72c648e
https://github.com/llvm/llvm-project/commit/bd16a87d05d33655a6f51f89fa4c5663c72c648e
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 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/SIPostRABundler.cpp
A llvm/lib/Target/AMDGPU/SIPostRABundler.h
M llvm/test/CodeGen/AMDGPU/postra-bundle-memops.mir
Log Message:
-----------
[AMDGPU][NewPM] Port SIPostRABundler to NPM (#123717)
Commit: b9622e84b48117ac4b11ec7dc98bfc119c23eece
https://github.com/llvm/llvm-project/commit/b9622e84b48117ac4b11ec7dc98bfc119c23eece
Author: David Green <david.green at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
Log Message:
-----------
[TTI][AArch64] Detect OperandInfo from scalable splats. (#122469)
Pulled out of #122236, this allows Splats constants to be recognized by
getOperandInfo, allowing "better" costs for instructions like divides by
constants to be produced (which are expanded into mul+add+shift). Some
of the costs are not very accurate yet, but the comparison of scalar vs
fixed-width vs scalable for the same div can become more accurate,
especially with patches like #122236.
Commit: 6de5d1e46d1812de2bbbbe8d8d2c811e4d16acbe
https://github.com/llvm/llvm-project/commit/6de5d1e46d1812de2bbbbe8d8d2c811e4d16acbe
Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgBase.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
A mlir/test/Dialect/Linalg/elementwise/generalize_named_ops.mlir
A mlir/test/Dialect/Linalg/elementwise/invalid.mlir
A mlir/test/Dialect/Linalg/elementwise/round-trip.mlir
Log Message:
-----------
[mlir][linalg] Extend elementwise (#124661)
Implements Linalg elemwise named-op following the proposal and
discussions in RFC:
https://discourse.llvm.org/t/rfc-extend-linalg-elemwise-named-ops-semantics/83927/1
Commit: 41437a6067b2f9dc8e7c458ff6417397796be31c
https://github.com/llvm/llvm-project/commit/41437a6067b2f9dc8e7c458ff6417397796be31c
Author: Aleksandr Popov <42888396+aleks-tmb at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
A llvm/test/Transforms/LoopSimplifyCFG/pr117537.ll
Log Message:
-----------
[LoopSimplifyCFG] Fix SCEV invalidation after removing dead exit (#127536)
Fixes #127534
Commit: 25e12726f74cf00a5ad9c8686635a6c11aebe35d
https://github.com/llvm/llvm-project/commit/25e12726f74cf00a5ad9c8686635a6c11aebe35d
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Move OpAsmOpInterface.h.inc from hdrs to srcs
This file internal to the target and should not be exposed as a public (textual) header.
Commit: 8a3222d8da5012501d6f091beaab31b510ade6f1
https://github.com/llvm/llvm-project/commit/8a3222d8da5012501d6f091beaab31b510ade6f1
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/test/IR/invalid-ops.mlir
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
Log Message:
-----------
[mlir][Parser] Fix crash when resolving invalid operands with missing location (#128163)
When `resolveOperands` reports an error and no valid `SMLoc` was
provided, report the error at the beginning of the op instead of
crashing.
```
Assert `Ptr >= BufStart && Ptr <= Buffer->getBufferEnd()' in llvm/lib/Support/SourceMgr.cpp:llvm::SourceMgr::SrcBuffer::getLineNumberSpecialized failed
```
E.g., this is currently the case when parsing the following op with a
type but without any operands:
```
let assemblyFormat = "$str (`,` $args^)? attr-dict (`:` type($args)^)?";
```
Reported error (with this PR):
```
within split at mlir/test/IR/invalid-ops.mlir:122 offset :4:1: error: custom op 'test.variadic_args_types_split' number of operands and types do not match: got 0 operands and 1 types
test.variadic_args_types_split "hello_world" : i32
^
```
In the ODS-generated C++, the `SMLoc` is populated when parsing the
optional group containing `$args`. However, this group is missing in the
test case.
There are likely additional hand-written parsers that suffer from the
same problem.
Note: I tried emitting a second `SMLoc` for the optional type group in
the `OpFormatGen.cpp`, but this adds quite a bit of complexity in the
code base for little improvement in user experience.
Commit: fc2f31c9494c2d29c5d7103ac36956aa15a51f09
https://github.com/llvm/llvm-project/commit/fc2f31c9494c2d29c5d7103ac36956aa15a51f09
Author: Alexander Weinrauch <aweinrau at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/test/Target/LLVMIR/rocdl.mlir
Log Message:
-----------
[MLIR][ROCDL] Add op for raw.ptr.buffer.load.lds (#127988)
This PR adds raw.ptr.buffer.load.lds op to ROCDL to expose buffer loads
directly to LDS.
The op is converted to the corresponding intrinsic call during the
translation from MLIR to LLVM IR.
Commit: c78cb30283635cdc8abf0ccd11823e6530fb95e8
https://github.com/llvm/llvm-project/commit/c78cb30283635cdc8abf0ccd11823e6530fb95e8
Author: Alexander Weinrauch <aweinrau at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
Log Message:
-----------
[MLIR][ROCDL] Fix accessedOperands for Rocdl_RawPtrBufferLoadOp (#127983)
`getAccessedOperands` should return all accessed pointer operands. In
the case for BufferLoads this is the source buffer and not the result.
Commit: a5f759ed9d119f4bf28f6f4c32487917fb93ec5e
https://github.com/llvm/llvm-project/commit/a5f759ed9d119f4bf28f6f4c32487917fb93ec5e
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A lldb/source/Plugins/Platform/AIX/CMakeLists.txt
A lldb/source/Plugins/Platform/AIX/PlatformAIX.cpp
A lldb/source/Plugins/Platform/AIX/PlatformAIX.h
M lldb/source/Plugins/Platform/CMakeLists.txt
Log Message:
-----------
[lldb][AIX] Added PlatformAIX plugin (#121273)
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
Details:
--------------
Adding PlatformAIX plugin for a basic lldb build support. The 1st commit
is the original version as in the draft PR which is a PlatformLinux
copy. I have removed some of the code in the next commits.
Please let me know all the other changes required to push the
PlatformAIX changes and avoid any duplication.
Commit: 02c804dd70d73c353d003b80191bbf39b018c7c3
https://github.com/llvm/llvm-project/commit/02c804dd70d73c353d003b80191bbf39b018c7c3
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
Log Message:
-----------
[mlir][linalg] Silence unused variable warning
Commit: 8616c873350a2fd91c0c8028065daf8026ce515f
https://github.com/llvm/llvm-project/commit/8616c873350a2fd91c0c8028065daf8026ce515f
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/arm64x-altnames.s
Log Message:
-----------
[LLD][COFF] Support alternate names in both symbol tables on ARM64X (#127619)
The `.drectve` directive applies only to the namespace in which it is
defined, while the command-line argument applies only to the EC
namespace.
Commit: 71af48fafdb6319da38ee7e5f04e16ff548fe57e
https://github.com/llvm/llvm-project/commit/71af48fafdb6319da38ee7e5f04e16ff548fe57e
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/Function.h
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Symbol/Function.cpp
A lldb/test/Shell/Commands/command-source-list.s
Log Message:
-----------
[lldb] Fixing edge cases in "source list" (#126526)
While looking at how to make Function::GetEndLineSourceInfo (which is
only used in "command source") work with discontinuous functions, I
realized there are other corner cases that this function doesn't handle.
The code assumed that the last line entry in the function will also
correspond to the last source line. This is probably true for
unoptimized code, but I don't think we can rely on the optimizer to
preserve this property. What's worse, the code didn't check that the
last line entry belonged to the same file as the first one, so if this
line entry was the result of inlining, we could end up using a line from
a completely different file.
To fix this, I change the algorithm to iterate over all line entries in
the function (which belong to the same file) and find the max line
number out of those. This way we can naturally handle the discontinuous
case as well.
This implementation is going to be slower than the previous one, but I
don't think that matters, because:
- this command is only used rarely, and interactively
- we have plenty of other code which iterates through the line table
I added some basic tests for the function operation. I don't claim the
tests to be comprehensive, or that the function handles all edge cases,
but test framework created here could be used for testing other
fixes/edge cases as well.
Commit: 894935cb5146fd2ac6334cc8b11e6d6e0e264fe6
https://github.com/llvm/llvm-project/commit/894935cb5146fd2ac6334cc8b11e6d6e0e264fe6
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/horizontal.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/remarks.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/reorder-fmuladd-crash.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vectorize-free-extracts-inserts.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/small-phi-tree.ll
M llvm/test/Transforms/SLPVectorizer/SystemZ/SLP-cmp-cost-query.ll
M llvm/test/Transforms/SLPVectorizer/X86/cmp-after-intrinsic-call-minbitwidth.ll
M llvm/test/Transforms/SLPVectorizer/X86/delayed-gather-emission.ll
M llvm/test/Transforms/SLPVectorizer/X86/external-reduced-value-vectorized.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelemets-extended-by-poison.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-matched-bv-with-subvectors.ll
M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/gathered-delayed-nodes-with-reused-user.ll
M llvm/test/Transforms/SLPVectorizer/X86/geps-non-pow-2.ll
M llvm/test/Transforms/SLPVectorizer/X86/matching-gather-nodes-phi-users.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-icmp-to-trunc.ll
M llvm/test/Transforms/SLPVectorizer/X86/minbw-node-used-twice.ll
M llvm/test/Transforms/SLPVectorizer/X86/perfect-matched-reused-bv.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-node-with-cycle.ll
M llvm/test/Transforms/SLPVectorizer/X86/phi-nodes-as-operand-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/reused-mask-with-poison-index.ll
M llvm/test/Transforms/SLPVectorizer/X86/shrink_after_reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/slp-schedule-use-order.ll
M llvm/test/Transforms/SLPVectorizer/X86/subvector-minbitwidth-unsigned-value.ll
Log Message:
-----------
[SLP]Represent SLP graph as a tree
We can stop using a graph representation of the SLP structure and switch
directly to tree by relying on a single user of each tree node. If the
node has multiple uses, other uses must be represented as a separate
gather/buildvector node, which then will be combined with the existing
vectorized node(s) uoon cost estimation/codegen.
This allow to simplify inner structure and turn in some extra
optimizations, which could not be turned on for the nodes with multi
users (reordering, minbitwidth analysis).
AVX512, -O3+LTO
Metric: size..text
results results0 diff
test-suite :: MultiSource/Benchmarks/ASCI_Purple/SMG2000/smg2000.test 253453.00 254253.00 0.3%
test-suite :: External/SPEC/CFP2006/444.namd/444.namd.test 251411.00 252051.00 0.3%
test-suite :: SingleSource/Benchmarks/Misc/oourafft.test 19114.00 19146.00 0.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1399200.00 1399520.00 0.0%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1399200.00 1399520.00 0.0%
test-suite :: MicroBenchmarks/LCALS/SubsetALambdaLoops/lcalsALambda.test 304310.00 304326.00 0.0%
test-suite :: MicroBenchmarks/LCALS/SubsetARawLoops/lcalsARaw.test 304662.00 304678.00 0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 12566919.00 12567511.00 0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 1146300.00 1146316.00 0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 1159864.00 1159880.00 0.0%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 9407880.00 9407864.00 -0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 9407880.00 9407864.00 -0.0%
test-suite :: MultiSource/Benchmarks/tramp3d-v4/tramp3d-v4.test 1011612.00 1011596.00 -0.0%
test-suite :: MultiSource/Benchmarks/Prolangs-C/TimberWolfMC/timberwolfmc.test 280584.00 280536.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 93016.00 93000.00 -0.0%
ASCI_Purple/SMG2000 - extra code vectorized, small variations
CFP2006/444.namd - small variations, less shuffles
Benchmarks/Misc/oourafft - small variations
CFP2017rate/538.imagick_r
CFP2017speed/638.imagick_s - small variations, less shuffles
LCALS/SubsetALambdaLoops - less shuffles
LCALS/SubsetARawLoops - less shuffles
CFP2017rate/526.blender_r - small variations, extra vector code
CFP2006/453.povray - small variations
CFP2017rate/511.povray_r - small variations
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - small variations
Benchmarks/tramp3d-v4 - small variations
Prolangs-C/TimberWolfMC - small variations
DOE-ProxyApps-C++/miniFE - extra code vectorized, small variations
DOE-ProxyApps-C++/CLAMR - extra code vectorized, small variations
ASCI_Purple/SMG2000 - no significant changes
RISCV, -O3+LTO
Metric: size..text
results results0 diff
test-suite :: SingleSource/Regression/C/gcc-c-torture/execute/GCC-C-execute-pr28982b.test 1812.00 1866.00 3.0%
test-suite :: MultiSource/Benchmarks/Olden/health/health.test 3946.00 4016.00 1.8%
test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test 513180.00 513550.00 0.1%
test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test 513180.00 513550.00 0.1%
test-suite :: External/SPEC/CINT2017rate/502.gcc_r/502.gcc_r.test 7672198.00 7672202.00 0.0%
test-suite :: External/SPEC/CINT2017speed/602.gcc_s/602.gcc_s.test 7672198.00 7672202.00 0.0%
test-suite :: External/SPEC/CFP2017rate/508.namd_r/508.namd_r.test 746060.00 746044.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/526.blender_r/526.blender_r.test 9497716.00 9497364.00 -0.0%
test-suite :: External/SPEC/CFP2006/453.povray/453.povray.test 948266.00 948214.00 -0.0%
test-suite :: External/SPEC/CFP2006/433.milc/433.milc.test 89874.00 89862.00 -0.0%
test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test 835492.00 835346.00 -0.0%
test-suite :: MultiSource/Benchmarks/DOE-ProxyApps-C++/miniFE/miniFE.test 66230.00 66202.00 -0.0%
test-suite :: External/SPEC/CFP2017rate/511.povray_r/511.povray_r.test 946090.00 944206.00 -0.2%
test-suite :: External/SPEC/CFP2017speed/638.imagick_s/638.imagick_s.test 1136404.00 1131854.00 -0.4%
test-suite :: External/SPEC/CFP2017rate/538.imagick_r/538.imagick_r.test 1136404.00 1131854.00 -0.4%
gcc-c-torture/execute/GCC-C-execute-pr28982b - better vector code
Olden/health - extra vector code
CINT2017speed/625.x264_s
CINT2017rate/525.x264_r - small variation + improvements in reordering, @pixel_hadamard_ac stopped
being vectorized because of some non-effective shuffle recognition by
the compiler
CINT2017rate/502.gcc_r
CINT2017speed/602.gcc_s - small variations
CFP2017rate/508.namd_r - small variations
CFP2017rate/526.blender_r - small variations
CFP2006/453.povray - extra vector code
Benchmarks/7zip - extra vector code
DOE-ProxyApps-C++/miniFE - small variations
CFP2017rate/511.povray_r - extra vector code
CFP2017speed/638.imagick_s
CFP2017rate/538.imagick_r - extra vector code
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/126771
Commit: 917ed99d815a4cc6bde249d292376f75dbe3700c
https://github.com/llvm/llvm-project/commit/917ed99d815a4cc6bde249d292376f75dbe3700c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/test/API/functionalities/thread/step_until/TestStepUntil.py
Log Message:
-----------
[lldb] Fix "in function" detection in "thread until" (#123622)
The implementation has an optimization which detects the range of line
table entries covered by the function and then only searches for a
matching line between them.
This optimization was interfering with the logic for detecting whether a
line belongs to the function because the first call to FindLineEntry was
made with exact=false, which meant that if the function did not contain
any exact matches, we would just pick the closest line number in that
range, even if it was very far away.
This patch fixes that by first attempting an inexact search across the
entire line table, and then use the (potentially inexact) result of that
for searching within the function. This makes the optimization a less
effective, but I don't think we can differentiate between a line that
belongs to the function (but doesn't have any code) and a line outside
the function without that.
The patch also avoids the use of (deprecated) Function::GetAddressRange
by iterating over the GetAddressRanges result to find the full range of
line entries for the function.
Commit: 884b79a478c35a44cf724f1760410bad552a48fb
https://github.com/llvm/llvm-project/commit/884b79a478c35a44cf724f1760410bad552a48fb
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] Relax vbroadcast(vector load X) -> vbroadcast_load(X) to all types (#128039)
There's no need for a AVX1-only 32/64-bit scalar size limit - if the X86ISD::VBROADCAST node type is supported, X86ISD::VBROADCAST_LOAD will be as well.
Commit: e11ca593a29d143ab35f9f19dd6fb56f7c394941
https://github.com/llvm/llvm-project/commit/e11ca593a29d143ab35f9f19dd6fb56f7c394941
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
Log Message:
-----------
[libc++] Shuffle the order of pre-commit CI jobs a bit (#128008)
I've recently noticed that our CI is bottlenecked around platforms on
which we don't have a lot of capacity like macOS (mostly) and Windows.
To try to alleviate that, this patch moves the macOS builds and the
Windows builds further down the pipeline so that they will get triggered
less often (if an earlier job fails).
Commit: 5e26fb169936ca1e24da6698ce895fec99af06c2
https://github.com/llvm/llvm-project/commit/5e26fb169936ca1e24da6698ce895fec99af06c2
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/docs/CodingGuidelines.rst
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__chrono/formatter.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__functional/function.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/unordered_map
M libcxx/include/variant
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/std_stream.h
M libcxx/src/thread.cpp
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
R libcxx/test/tools/clang_tidy_checks/qualify_declval.cpp
R libcxx/test/tools/clang_tidy_checks/qualify_declval.hpp
M libcxx/test/tools/clang_tidy_checks/robust_against_adl.cpp
Log Message:
-----------
[libc++] Qualify calls to nullary functions like __throw_foo (#122465)
This is technically not necessary in most cases to prevent issues with ADL,
but let's be consistent. This allows us to remove the libcpp-qualify-declval
clang-tidy check, which is now enforced by the robust-against-adl clang-tidy check.
Commit: 4d6167ed96d324cb1decb350c6d6d31090182040
https://github.com/llvm/llvm-project/commit/4d6167ed96d324cb1decb350c6d6d31090182040
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/test/CMakeLists.txt
M clang/test/lit.site.cfg.py.in
Log Message:
-----------
[Clang] [Tests] Canonicalise CLANG_ENABLE_OBJC_REWRITER properly (#125117)
Canonicalise this CMake variable properly as suggested in
https://github.com/llvm/llvm-project/pull/119269#discussion_r1935034073
Commit: bff6b926e2a42c15451058828fca313ff40e36dd
https://github.com/llvm/llvm-project/commit/bff6b926e2a42c15451058828fca313ff40e36dd
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Map `teams loop` to `teams distribute` when required. (#127489)
This extends support for generic `loop` rewriting by:
1. Preventing nesting multiple worksharing loops inside each other. This
is checked by walking the `teams loop` region searching for any `loop`
directive whose `bind` modifier is `parallel`.
2. Preventing convert to worksharing loop if calls to unknow functions
are found in the `loop` directive's body.
We walk the `teams loop` body to identify either of the above 2
conditions, if either of them is found to be true, we map the `loop`
directive to `distribute`.
Commit: b732e14cb5681abff78e3873987a2a8b39549c83
https://github.com/llvm/llvm-project/commit/b732e14cb5681abff78e3873987a2a8b39549c83
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Sema/bool-compare.c
M clang/test/Sema/parentheses.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
Log Message:
-----------
[Clang] Default the warning for chained comparison to an error. (#128145)
Boolean constructs of the form `a < b < c`
never express the likely intent of the user and
we have been warning on them since clang 19.
WG21 is likely to deprecate or make that construct in the future. To
gain more experience and to improve safety, this patches preempt future
language evolution by turning
warn_consecutive_comparison in an error, by default (which can be
disabled with `-Wno-error=parentheses`)
Commit: d2b3912002693008141ed8a15c0f2fdb6e861f84
https://github.com/llvm/llvm-project/commit/d2b3912002693008141ed8a15c0f2fdb6e861f84
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/include/lldb/Expression/DWARFExpressionList.h
Log Message:
-----------
[lldb] Remove commented out declaration in DWARFExpressionList
Commit: d578dbf9fdb4ce5cba13dda88393c2a67e61a30c
https://github.com/llvm/llvm-project/commit/d578dbf9fdb4ce5cba13dda88393c2a67e61a30c
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc][NFC] Add type clarification to the description for the emitc.global op (#127997)
Co-authored-by: Marius Brehler <marius.brehler at gmail.com>
Commit: 34167f99668ce4d4d6a1fb88453a8d5b56d16ed5
https://github.com/llvm/llvm-project/commit/34167f99668ce4d4d6a1fb88453a8d5b56d16ed5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/issue48473.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
A llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure0.mir
A llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure1.ll
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
M llvm/test/CodeGen/X86/inline-asm-assertion.ll
Log Message:
-----------
RegAlloc: Fix verifier error after failed allocation (#119690)
In some cases after reporting an allocation failure, this would fail
the verifier. It picks the first allocatable register and assigns it,
but didn't update the liveness appropriately. When VirtRegRewriter
relied on the liveness to set kill flags, it would incorrectly add
kill flags if there was another overlapping kill of the virtual
register.
We can't properly assign the register to an overlapping range, so
break the liveness of the failing register (and any other interfering
registers) instead. Give the virtual register dummy liveness by
effectively deleting all the uses by setting them to undef.
The edge case not tested here which I'm worried about is if the read
of the register is a def of a subregister. I've been unable to come up
with a test where this occurs.
https://reviews.llvm.org/D122616
Commit: 3ce2a7dc32a60238c7cf286aecba4cc9a4e794f5
https://github.com/llvm/llvm-project/commit/3ce2a7dc32a60238c7cf286aecba4cc9a4e794f5
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
Log Message:
-----------
[flang][OpenMP] Support `parallel loop` construct. (#127588)
Extends support for the `loop` directive by adding support for `parallel
loop` combined directive.
Parent PR: #127489. Only the latest commit is relevant.
Commit: 481e1eba3a3daf8f5796615c3092659c425ad25f
https://github.com/llvm/llvm-project/commit/481e1eba3a3daf8f5796615c3092659c425ad25f
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/licm-xxsplti.ll
Log Message:
-----------
[NFC] add a pre-commit test case for patch #127121 that hoists xxsplitib out of loop (#127701)
This is a pre-commit test case for patch
https://github.com/llvm/llvm-project/pull/127121 that hoists xxsplitib
out of loop
Commit: d2d1f143e5087e9490416bd98e49fd2f8fb5dd01
https://github.com/llvm/llvm-project/commit/d2d1f143e5087e9490416bd98e49fd2f8fb5dd01
Author: Sean Perry <perry at ca.ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
A clang/test/Preprocessor/zos-target.c
Log Message:
-----------
[z/OS] Add option to target older versions of LE on z/OS (#123399)
Add an option similar to the -qtarget option in XL to allow the user to
say they want to be able to run the generated program on an older
version of the LE environment. This option will do two things:
- set the `__TARGET_LIBS` macro so the system headers exclude newer
interfaces when targeting older environments
- set the arch level to match the minimum arch level for that older
version of LE. It doesn't happen right now since all of the supported LE
versions have a the same minimum ach level. So the option doesn't change
this yet.
The user can specify three different kinds of arguments:
1. -mzos-target=zosv*V*r*R* - where V & R are the version and release
2. -mzos-target=0x4vrrmmmm - v, r, m, p are the hex values for the
version, release, and modlevel
3. -mzos-target=current - uses the latest version of LE the system
headers have support for
Commit: 6dca33ce20693381beab9817c12d512dfdac0b02
https://github.com/llvm/llvm-project/commit/6dca33ce20693381beab9817c12d512dfdac0b02
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Check for mutability better (#127843)
This PR adds a function to determine if a type "looks" mutable. Since
it's impossible to be totally sure if something can or can't be modified
in C++, this makes a best-effort attempt to determine if variables of
that type can be modified or not.
The motivation for this change is the -Wunique-object-duplication
warning, which had a false positive due to a missed case while checking
for mutability. Pulling the logic into a separate function allows it to
be written much more cleanly. There should be no behavior change, except
that we no longer report function references to be mutable.
Commit: ce5c702d8443fa91524cd768ee9998f3f101bad8
https://github.com/llvm/llvm-project/commit/ce5c702d8443fa91524cd768ee9998f3f101bad8
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
A mlir/test/Dialect/Linalg/elementwise/generalize-named-ops.mlir
R mlir/test/Dialect/Linalg/elementwise/generalize_named_ops.mlir
M mlir/test/Dialect/Linalg/elementwise/invalid.mlir
R mlir/test/Dialect/Linalg/elementwise/round-trip.mlir
A mlir/test/Dialect/Linalg/elementwise/roundtrip.mlir
Log Message:
-----------
[mlir][linalg][nfc] Fix formatting for linalg.elementwise
Follow-up to #124661 to address minor formatting inconsistencies.
**Changes:**
1. Standardized test file names by using hyphens (`-`) instead of
underscores (`_`).
2. Renamed `"round-trip.mlir"` to `"roundtrip.mlir"` for consistency
with similar tests.
3. Normalized indentation.
For **(3)**, I ensured we follow the pre-existing formatting style
introduced with `linalg.generic`, where all new lines are indented by
**8 spaces**. Thus, the formatting is now:
```mlir
%r = linalg.elementwise
kind=#linalg.elementwise_kind<sub>
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
affine_map<(d0, d1) -> (d0, d1)>,
affine_map<(d0, d1) -> (d0, d1)>]
ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>)
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
```
instead of:
```mlir
%r = linalg.elementwise
kind=#linalg.elementwise_kind<sub>
indexing_maps = [affine_map<(d0, d1) -> (d1, d0)>,
affine_map<(d0, d1) -> (d0, d1)>,
affine_map<(d0, d1) -> (d0, d1)>]
ins(%A, %B: tensor<8x16xf32>, tensor<16x8xf32>)
outs(%C: tensor<16x8xf32>) -> tensor<16x8xf32>
```
Submitting this without a review, as these are straightforward changes,
and I want to reduce PR traffic/noise. However, please let me know if
you prefer changes like these to go through a formal PR review.
Commit: 50fcb743ecb98b778c4fa9f927e6d2a5d79e3073
https://github.com/llvm/llvm-project/commit/50fcb743ecb98b778c4fa9f927e6d2a5d79e3073
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/aix-rpath.c
M clang/test/Driver/at_file_missing.c
Log Message:
-----------
[Clang] Add support for -rpath on AIX (#89279)
Add support for existing -rpath option to AIX. Prior to this PR,
if -rpath is passed on AIX it gets passed to the linker and crashes as
the linker on AIX cannot process it.
Commit: a1163d8fd350b54852e9f9c0735b6f4858384b45
https://github.com/llvm/llvm-project/commit/a1163d8fd350b54852e9f9c0735b6f4858384b45
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
Log Message:
-----------
[NVPTX][NFC] Rename hasAAFeatures() (#127990)
This patch renames hasAAFeatures() to hasArchAccelFeatures()
and updates its usages in tablegen files.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: bd034ab1113cd3705fedf75d870dc4b7388d8f70
https://github.com/llvm/llvm-project/commit/bd034ab1113cd3705fedf75d870dc4b7388d8f70
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - always combine to a new VPERMV node if the root shuffle was a VPERMV node (#128183)
Similar to what we already do for VPERMV3 nodes - if we're trying to create a new unary variable shuffle and we started with a VPERMV node then always create a new one if it reduces the shuffle chain depth
Commit: 8a39214b7e6e79e65135b7dbcc98b427a032d5fb
https://github.com/llvm/llvm-project/commit/8a39214b7e6e79e65135b7dbcc98b427a032d5fb
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[Support] Apply `constexpr` to `getTypeName` (#127893)
This is a followup to 003a721c1c9e3a99d6d0c1a6755443b260235537, which we
noticed increased binary size a small but noticable amount. The increase
seems to be due to code size from each `llvm::getTypeName<T>` wrapper,
which adds up if there are a lot of types.
The original motivation was to improve runtime and avoid `getTypeName`
being recomputed each time. The implementation is simple enough that we
can make it fully constexpr, which addresses the size increase, but also
further improves runtime: we directly reference the data instead of
jumping through a guard variable to see if we've computed it already.
Commit: 6bfedfa0ba31a8ac8fd7fcfd2d33afaa5eabe0e5
https://github.com/llvm/llvm-project/commit/6bfedfa0ba31a8ac8fd7fcfd2d33afaa5eabe0e5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp:1136:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp:1388:3: error: default
label in switch which covers all enumeration values
[-Werror,-Wcovered-switch-default]
Commit: ad0c7da95373a052f282596f736e35417b2fa65b
https://github.com/llvm/llvm-project/commit/ad0c7da95373a052f282596f736e35417b2fa65b
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/include/stdbit.yaml
Log Message:
-----------
[libc] Add missing stdc_first_trailing_zero_ to stdbit.yaml (#128101)
These declarations were missing in the generated header. Make sure to
add them, otherwise <stdbit.h> inclusion fails, since the subsequently
included "stdbit-macros.h" expects these declarations to be present.
Co-authored-by: Alexey Samsonov <samsonov at google.com>
Commit: 0181af2f32e51c2ac45d96bd194884d7adfd10ca
https://github.com/llvm/llvm-project/commit/0181af2f32e51c2ac45d96bd194884d7adfd10ca
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/AsmParser/Parser.h
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[MLIR] Imporve location tracking for `parseElementsLiteralType` (#127992)
This commit improves line location tracking in case of error reporting
to the user in `parseElementsLiteralType`. There are two cases: the type
is already parsed [1] or not yet parsed [2]. With these changes we print
the error at the attribute's location in both cases to ensure
consistency.
Case 1)
```mlir
memref<i32> = dense<[3]>
^
```
Case 2)
```mlir
dense<[3]> : memref<i32>
^
```
Note that today for a simple:
```mlir
func.func @main() {
%0 = arith.constant dense<[3]> : i32
return
}
```
we print the error after the constant:
```
./bin/c.mlir:3:3: error: elements literal must be a shaped type
return
^
```
Commit: aa6d3ff80d93b2f4635ace198e42e66a42184315
https://github.com/llvm/llvm-project/commit/aa6d3ff80d93b2f4635ace198e42e66a42184315
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/utils/ci/buildkite-pipeline.yml
Log Message:
-----------
[libc++] Re-enable the FreeBSD CI job (#127687)
Technical issues have apparently been resolved and the node should be
back online.
Closes #117780
Commit: d12a4d45dd43410b50aa0e86015f5224dac5cf92
https://github.com/llvm/llvm-project/commit/d12a4d45dd43410b50aa0e86015f5224dac5cf92
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove section numbers in operator tablegen (#128048)
The section numbers don't currently match what is in the v1.0
spec(https://www.mlplatform.org/tosa/tosa_spec.html) It can be a burden
to remember to update these, and they didn't seem to have much use, so
proposing to remove these comments.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 5a7ee431fda7b337b64999e60e669c52aecfee16
https://github.com/llvm/llvm-project/commit/5a7ee431fda7b337b64999e60e669c52aecfee16
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/X86/math-builtins.c
Log Message:
-----------
[clang] Add `__builtin_sincospi` that lowers to `llvm.sincospi.*` (#127065)
This (only) adds the `__builtin` variant which lowers to the
`llvm.sincospi.*` intrinsic when `-fno-math-errno` is set.
Commit: cf50936b23ac25c786d66be6d7b9277398cddde5
https://github.com/llvm/llvm-project/commit/cf50936b23ac25c786d66be6d7b9277398cddde5
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/include/CMakeLists.txt
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/gps_clock.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/chrono
M libcxx/include/module.modulemap
M libcxx/modules/std/chrono.inc
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/gps_time.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/from_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/now.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp
A libcxx/test/std/time/time.syn/formatter.gps_time.pass.cpp
Log Message:
-----------
[libc++][chrono] implements GPS clock. (#125921)
Completes:
- LWG3359 <chrono> leap second support should allow for negative leap
seconds
- P1361R2 Integration of chrono with text formatting
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
Fixes: #100432
Fixes: #100014
Commit: 6e457c20016ae1ed7249dd28ce4b3c7993a91275
https://github.com/llvm/llvm-project/commit/6e457c20016ae1ed7249dd28ce4b3c7993a91275
Author: Csanád Hajdú <csanad.hajdu at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lld/ELF/OutputSections.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/Thunks.cpp
A lld/test/ELF/aarch64-execute-only.s
A lld/test/ELF/aarch64-thunk-bti-execute-only.s
A lld/test/ELF/aarch64-thunk-execute-only.s
M lld/test/ELF/input-section-flags.s
Log Message:
-----------
[LLD][ELF][AArch64] Add support for SHF_AARCH64_PURECODE ELF section flag (3/3) (#125689)
Add support for the new SHF_AARCH64_PURECODE ELF section flag:
https://github.com/ARM-software/abi-aa/pull/304
The general implementation follows the existing one for ARM targets. The
output section only has the `SHF_AARCH64_PURECODE` flag set if all input
sections have it set.
Related PRs:
* LLVM: https://github.com/llvm/llvm-project/pull/125687
* Clang: https://github.com/llvm/llvm-project/pull/125688
Commit: 506deb0cce3fe503f61ef1a1a08a40770ef4b978
https://github.com/llvm/llvm-project/commit/506deb0cce3fe503f61ef1a1a08a40770ef4b978
Author: foxtran <39676482+foxtran at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/ValueObject/DILLexer.cpp
Log Message:
-----------
[lldb] Fix GCC's `-Wreturn-type` warnings (#127974)
This patch fixes `-Wreturn-type` warnings which happens if LLVM is built
with GCC compiler (14.1 is used for detecting)
Warnings:
```
llvm-project/lldb/source/ValueObject/DILLexer.cpp: In static member function ‘static llvm::StringRef lldb_private::dil::Token::GetTokenName(Kind)’:
llvm-project/lldb/source/ValueObject/DILLexer.cpp:33:1: warning: control reaches end of non-void function [-Wreturn-type]
33 | }
| ^
```
and:
```
llvm-project/lldb/source/DataFormatters/TypeSummary.cpp: In member function ‘virtual std::string lldb_private::TypeSummaryImpl::GetSummaryKindName()’:
llvm-project/lldb/source/DataFormatters/TypeSummary.cpp:62:1: warning: control reaches end of non-void function [-Wreturn-type]
62 | }
| ^
```
Technically, it is a bug in Clang (see #115345), however, UBSan with
Clang should detect these places, therefore it would be nice to provide
a return statement for all possible inputs (even invalid).
Commit: ab166d4d10f5b23262acb7448eb32c056595a0cd
https://github.com/llvm/llvm-project/commit/ab166d4d10f5b23262acb7448eb32c056595a0cd
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A mlir/include/mlir/Conversion/MPIToLLVM/MPIToLLVM.h
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Conversion/CMakeLists.txt
A mlir/lib/Conversion/MPIToLLVM/CMakeLists.txt
A mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
A mlir/test/Conversion/MPIToLLVM/ops.mlir
Log Message:
-----------
[mlir][mpi] Lowering Mpi To LLVM (#127053)
* The first set of patterns to convert the MPI dialect to LLVM.
* Further conversion pattern will be added in future PRs.
* Supports MPICH compatible MPI implementations and openMPI, selectable through DLTI attribute on module
---------
Co-authored-by: Anton Lydike <me at antonlydike.de>
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: a66376b0dc3b2ea8a84fda26faca287980986f78
https://github.com/llvm/llvm-project/commit/a66376b0dc3b2ea8a84fda26faca287980986f78
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lld/CMakeLists.txt
Log Message:
-----------
[lld,CMake] Include Version.inc when LLVM_DISTRIBUTION_COMPONENTS contains lld-headers (#127946)
Without this inc file `getLLDVersion` cannot be called; see
https://github.com/llvm/llvm-project/blob/main/lld/include/lld/Common/Version.h#L16.
Fixes incomplete solution introduced by
https://github.com/llvm/llvm-project/pull/127123.
Commit: 209252f3d5bf66c8bff0863ba7617e37ead4fff8
https://github.com/llvm/llvm-project/commit/209252f3d5bf66c8bff0863ba7617e37ead4fff8
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M bolt/lib/Passes/Inliner.cpp
A bolt/test/X86/skip-inline.s
Log Message:
-----------
[BOLT] Introduce skip-inline flag (#128135)
Introduce exclusion list for inlining, allowing more fine-grained
control than using skip-funcs.
Test Plan: added skip-inline.s
Commit: ab098a7ebf07227a371df95ce65bd4aa135dee9a
https://github.com/llvm/llvm-project/commit/ab098a7ebf07227a371df95ce65bd4aa135dee9a
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Analysis/CGSCCPassManager.cpp
A llvm/test/Other/largest-scc-stat.ll
Log Message:
-----------
[CGSCC] Add statistic on largest SCC visited (#128073)
To help debugging long compile times.
Commit: 115672f57edb05717684126ada86ff89e3ec0ee8
https://github.com/llvm/llvm-project/commit/115672f57edb05717684126ada86ff89e3ec0ee8
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Remove now redundant isElementRotate shuffle lowering [NFCI] (#128064)
This is the first cleanup following the introduction of the new
isMaskedSlidePair lowering in 43f2968. As mentioned in that review, the
new code is a generalization of the existing isElementRotate, but was
staged to make diffs manageable.
This change removes isElementRotate. The tricky bit is making sure that
a) the same shuffles hit the same lowering paths (in particular, two
element shuffles can match multiple ways) and 2) avoiding DAG
canonicalization changes.
Commit: 7c7fb9442f9f3ca1cf302ca2ff2906de7452a846
https://github.com/llvm/llvm-project/commit/7c7fb9442f9f3ca1cf302ca2ff2906de7452a846
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/ParentMap.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/ReachableCode.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ast-dump-recovery.cpp
M clang/test/Analysis/lifetime-extended-regions.cpp
M clang/test/SemaCXX/cxx2c-placeholder-vars.cpp
M clang/test/SemaCXX/warn-unreachable.cpp
Log Message:
-----------
Revert "Reapply "[Analyzer][CFG] Correctly handle rebuilt default arg and default init expression" (#127338)" (#128205)
This reverts commit d235b72178adc710bf704078fbe0cd687642f3e0.
Commit: 0c50054820799578be8f62b6fd2cc3fbc751c01e
https://github.com/llvm/llvm-project/commit/0c50054820799578be8f62b6fd2cc3fbc751c01e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocBase.cpp
M llvm/lib/CodeGen/RegAllocBase.h
M llvm/lib/CodeGen/RegAllocBasic.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/test/CodeGen/AMDGPU/illegal-eviction-assert.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/issue48473.mir
M llvm/test/CodeGen/AMDGPU/ran-out-of-registers-error-all-regs-reserved.ll
M llvm/test/CodeGen/AMDGPU/regalloc-failure-overlapping-insert-assert.mir
R llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure0.mir
R llvm/test/CodeGen/AMDGPU/register-killed-error-after-alloc-failure1.ll
M llvm/test/CodeGen/AMDGPU/remaining-virtual-register-operands.ll
M llvm/test/CodeGen/X86/inline-asm-assertion.ll
Log Message:
-----------
Revert "RegAlloc: Fix verifier error after failed allocation (#119690)"
This reverts commit 34167f99668ce4d4d6a1fb88453a8d5b56d16ed5.
Different set of verifier errors appears after other regalloc failure
tests with EXPENSIVE_CHECKS.
Commit: 9546afe86c69c2a9421898025a5443e51f00969c
https://github.com/llvm/llvm-project/commit/9546afe86c69c2a9421898025a5443e51f00969c
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
Log Message:
-----------
[MLIR][XeGPU]Add MemoryEffect to xegpu.atomic_rmw op (#128076)
Commit: fb25216209c4d6f686bcb9f7fbc3ac0a8f5a61fa
https://github.com/llvm/llvm-project/commit/fb25216209c4d6f686bcb9f7fbc3ac0a8f5a61fa
Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
M llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-cs-chain.ll
Log Message:
-----------
[AMDGPU] Enhance verification of amdgcn.cs.chain intrinsic (#128162)
Make sure that this intrinsic is being followed by unreachable.
This LLVM defect was identified via the AMD Fuzzing project.
Thanks to @rovka for helping me solve this issue!
Commit: 13ca6050b07e64f2de08e19bd7be1e1d81207358
https://github.com/llvm/llvm-project/commit/13ca6050b07e64f2de08e19bd7be1e1d81207358
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
Revert "default clause replaced by otherwise clause for metadirective in OpenMP 5.2 (#125648)"
This reverts commit 73ad78cc57e10b932bddaa9034237f59bb566e6b.
Breaks check-clang, see comments on
https://github.com/llvm/llvm-project/pull/125648
Commit: 2d38be5fd4da0fea72d413d5953764a76067934b
https://github.com/llvm/llvm-project/commit/2d38be5fd4da0fea72d413d5953764a76067934b
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strip redundant casts (NFC) (#128177)
Commit: 45798bd4841649c1c41ca48701536f1bc808e1a6
https://github.com/llvm/llvm-project/commit/45798bd4841649c1c41ca48701536f1bc808e1a6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Simplify the debug messages in the disassembler. (#128102)
Move the printing of "table" to the macro instantiation.
Don't use string concatenation in the macro. Print DESC as it own
string. This allows the "Trying " and " table:" to only appear in the
binary once instead of being part of every string.
Remove "custom opcode" from the messages, I don't think it provides much
value after mentioning the vendor.
I'm hoping to replace the macros with a table of features, decoder table
pointer, and string that we can iterate over.
Commit: affbb4d9cf6fc48ce44af4eee61fdb6528473788
https://github.com/llvm/llvm-project/commit/affbb4d9cf6fc48ce44af4eee61fdb6528473788
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
M libcxx/test/std/atomics/types.pass.cpp
Log Message:
-----------
[libc++] std::atomic primary template should not have a `difference_type` member type (#123236)
The test would not check its absence and the code path intended for
pointer was never actually instantiated.
I added a few pointer types since there was no coverage.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 9738f20bb03c1a53f64dce5626972f4f6c1b815e
https://github.com/llvm/llvm-project/commit/9738f20bb03c1a53f64dce5626972f4f6c1b815e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port cf50936b23ac
Commit: 4bb04d417669be7a3d0359dfd313f0bf4f7ca531
https://github.com/llvm/llvm-project/commit/4bb04d417669be7a3d0359dfd313f0bf4f7ca531
Author: Ben Langmuir <blangmuir at apple.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/include/clang/Basic/Module.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Basic/Module.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
A clang/test/Modules/local-submodule-visibility-transitive-import.c
Log Message:
-----------
[clang][modules] Fix local submodule visibility of macros from transitive import (#122955)
When we mark a module visible, we normally mark all of its non-explicit
submodules and other exports as visible. However, when we first enter a
submodule we should not make them visible to the submodule itself until
they are actually imported. Marking exports visible before import would
cause bizarre behaviour with local submodule visibility, because it
happened before we discovered the submodule's transitive imports and
could fail to make them visible in the parent module depending on
whether the submodules involved were explicitly defined (module X) or
implicitly defined from an umbrella (module *).
rdar://136524433
Commit: 7c1f679c387a68defbc2b240cb58eb9152252c25
https://github.com/llvm/llvm-project/commit/7c1f679c387a68defbc2b240cb58eb9152252c25
Author: foxtran <39676482+foxtran at users.noreply.github.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/source/API/CMakeLists.txt
Log Message:
-----------
[lldb][cmake] Use STATUS instead of explicit '--' in message logging (#128196)
Currently, configuring lldb with cmake with separated stdout and stderr
gives some unnecessary output in stderr which happens since message
statement is used without `[mode]` (See
https://cmake.org/cmake/help/v3.31/command/message.html). This patch
adds mode `STATUS` instead of explicit `--` at the beginning of
messages.
Commit: 386a45c6bd6358128f1e8e0819bacc92767f8db6
https://github.com/llvm/llvm-project/commit/386a45c6bd6358128f1e8e0819bacc92767f8db6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
Log Message:
-----------
[mlir] Fix warnings
This patch fixes:
include/c++/14/bits/unique_ptr.h:93:2: error: delete called on
non-final '(anonymous namespace)::MPICHImplTraits' that has virtual
functions but non-virtual destructor
[-Werror,-Wdelete-non-abstract-non-virtual-dtor]
Commit: 976641062e7750f26ea12eedf22287f9c2250bff
https://github.com/llvm/llvm-project/commit/976641062e7750f26ea12eedf22287f9c2250bff
Author: Joel E. Denny <jdenny.ornl at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
Log Message:
-----------
[flang][NFC] AliasAnalysis: Use Indirect not Unknown for LoadOp (#127845)
As mentioned at
<https://github.com/llvm/llvm-project/pull/126156#discussion_r1953523892>:
PR #126156 causes AliasAnalysis::getSource to sometimes return
SourceKind::Unknown when it used to return SourceKind::Indirect for a
LoadOp. This patch restores that part of the old behavior. It should not
affect user-visible behavior because AliasAnalysis::alias treats
SourceKind::Unknown and SourceKind::Indirect equivalently, but it does
improve debugging output.
Commit: ef6e3ed14ebc799a0bb266c46eb53e7bfe66d4a4
https://github.com/llvm/llvm-project/commit/ef6e3ed14ebc799a0bb266c46eb53e7bfe66d4a4
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/ab166d4d10f5b23262acb7448eb32c056595a0cd
Commit: 7e4fef69f9f945d550981e16b80e77138c4035cd
https://github.com/llvm/llvm-project/commit/7e4fef69f9f945d550981e16b80e77138c4035cd
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang-rt/README.md
Log Message:
-----------
[flang-rt][NFC] Fix grammar
Commit: 00637b7dfb15b6e4f94a29ac8ab9226d1e9c0788
https://github.com/llvm/llvm-project/commit/00637b7dfb15b6e4f94a29ac8ab9226d1e9c0788
Author: Petr Hosek <phosek at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/time.yaml
M libc/src/time/CMakeLists.txt
M libc/src/time/strftime.cpp
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
Log Message:
-----------
[libc] Add strftime_l (#127767)
This is a (no-op) locale version of strftime.
Fixes: https://github.com/llvm/llvm-project/issues/106630
Commit: 449f84fea652e31de418c3087d7e3628809241b4
https://github.com/llvm/llvm-project/commit/449f84fea652e31de418c3087d7e3628809241b4
Author: David Truby <david.truby at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/test/Fir/struct-passing-aarch64-byval.fir
Log Message:
-----------
[flang] fix AArch64 PCS for struct following pointer (#127802)
Pointers are already handled as taking up a register in the ABI
handling, but the handling for structs was not taking this into account.
This patch changes the struct handling to acknowledge that pointer
arguments take up an integer register.
Fixes #123075
Commit: c896f7bdaa0909f7dbc554c28f814a7ef76d34f0
https://github.com/llvm/llvm-project/commit/c896f7bdaa0909f7dbc554c28f814a7ef76d34f0
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] build_vector pattern in true16 (#118904)
build_vector pattern in true16 SDAG
Commit: b0443507014273bb95eb90af0f9859a8fa3111c9
https://github.com/llvm/llvm-project/commit/b0443507014273bb95eb90af0f9859a8fa3111c9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#128126)
This patch eliminates repeated hash lookups at three levels:
- RegToSlotIdx of DenseMap
- Reloads of DenseMap
- Reloads[MBB] of SmallSet
Commit: f964377df76f9ba3ee025fdae4620f79fb81e809
https://github.com/llvm/llvm-project/commit/f964377df76f9ba3ee025fdae4620f79fb81e809
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128127)
Commit: 34cebaf73ad6ca8f493866fd125d38e2dbbfc40d
https://github.com/llvm/llvm-project/commit/34cebaf73ad6ca8f493866fd125d38e2dbbfc40d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[Instrumentation] Avoid repeated hash lookups (NFC) (#128128)
Commit: 8c1207bee3c65baab784574a0440f154d325b6c6
https://github.com/llvm/llvm-project/commit/8c1207bee3c65baab784574a0440f154d325b6c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV] Avoid repeated map lookups (NFC) (#128129)
Commit: 8a58f83b041693b9373a1724af97a82bd844a899
https://github.com/llvm/llvm-project/commit/8a58f83b041693b9373a1724af97a82bd844a899
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86PreTileConfig.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#128130)
Commit: b11e1baf22a4a5d061a112c490f54f5e767f79e4
https://github.com/llvm/llvm-project/commit/b11e1baf22a4a5d061a112c490f54f5e767f79e4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
Log Message:
-----------
[llvm-readtapi] Avoid repeated hash lookups (NFC) (#128131)
Dylibs is a StringMap, which takes StringRef as the key type, so
NormalizedPath.str() is good enough. We don't need to create a null
terminated string. Neither do we need to recompute the string length
as part of StringRef construction.
Commit: 741f923fac33880d24e9990f0b90c77daa2fb4b6
https://github.com/llvm/llvm-project/commit/741f923fac33880d24e9990f0b90c77daa2fb4b6
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
M llvm/test/ThinLTO/X86/memprof-inlined.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/duplicate-context-ids.ll
M llvm/test/Transforms/MemProfContextDisambiguation/indirectcall.ll
M llvm/test/Transforms/MemProfContextDisambiguation/inlined.ll
Log Message:
-----------
[MemProf] Minor fixes to dot graph printing (#128217)
Two misc cleanup/improvements to the dot printing.
Remove a redundant "style=filled" in the Node attributes. No effect on
resulting graph.
Add a "color" attribute to the Edge, with the same color name as
"fillcolor". The latter only fills in the arrowhead, and the former is
what affects the line. This makes the edge colors more visible,
previously it was a black edge with a colored in arrowhead.
For the second change, I added the new Edge color attributes to the
checking in the two "basic.ll" tests, so we get some testing coverage of
the full printing. For the other affected tests I removed the final "]'"
after the fillcolor so it matches up through that attribute and ignores
the rest of the line.
Commit: 45ca39d8e1a2b2cc9d67f7a1999e39dc2f77f342
https://github.com/llvm/llvm-project/commit/45ca39d8e1a2b2cc9d67f7a1999e39dc2f77f342
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/TypeName.h
Log Message:
-----------
[Support] Fix for non-constexpr `__PRETTY_FUNCTION__` on older gcc (#128212)
Prior to gcc version 9, the `__PRETTY_FUNCTION__` macro was not declared
constexpr. In that case, don't declare this as constexpr, and switch the
static asserts to runtime asserts.
Verified this should work on all supported compilers:
https://godbolt.org/z/T77rvPW5z
Followup to #127893 / 8a39214b7e6e79e65135b7dbcc98b427a032d5fb
Commit: b0f0ac3cad2d43deaf88038eb48c93f5a8c936a7
https://github.com/llvm/llvm-project/commit/b0f0ac3cad2d43deaf88038eb48c93f5a8c936a7
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/DIBuilder.h
M llvm/lib/IR/DIBuilder.cpp
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
Add overload of DIBuilder::createArrayType (#125229)
DICompositeType has an attribute representing the name of a type, but
currently it isn't possible to set this for array types via the
DIBuilder method. This patch adds a new overload of
DIBuilder::createArrayType that allows "full" construction of an array
type. This is useful for Ada, where arrays are a bit more first-class
than C.
Commit: e65d3882af6fcc15342451ad4f9494b1ba6b9b9d
https://github.com/llvm/llvm-project/commit/e65d3882af6fcc15342451ad4f9494b1ba6b9b9d
Author: Jonas Hahnfeld <jonas.hahnfeld at cern.ch>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/ScopedPrinter.h
Log Message:
-----------
[Support] Ensure complete type DelimitedScope (#127459)
`JSONScopedPrinter` has a `std::unique_ptr<DelimitedScope>` member and
defaulted constructor argument, so it needs a complete type. This
resolves one of the many build errors with C++23 using Clang.
Commit: 123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af
https://github.com/llvm/llvm-project/commit/123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[Utils] Consolidate `LockstepReverseIterator` into own header (NFC) (#116657)
Common code has been unified and generalized. Not sure if it may be
worth to generalize this further, since it looks closely tied to Blocks
(might make sense to rename it in `LockstepReverseInstructionIterator`).
Commit: c0a6f7acf8b630df438fc0de04028148af093cf1
https://github.com/llvm/llvm-project/commit/c0a6f7acf8b630df438fc0de04028148af093cf1
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/DIE.h
Log Message:
-----------
Use precise types in DWARF BestForm methods (#126309)
I noticed that DIEInteger::BestForm used a cast to char:
if ((char)Int == SignedInt)
If 'char' happens to be unsigned, this will not behave correctly. Then I
also noticed that this code assumes the size of 'short' and 'int'.
This patch changes this code to use more precise types. No functional
change should be visible on ordinary hosts.
Commit: 3fad640f06989c1ed5fd5d97868ad9fd807c86dc
https://github.com/llvm/llvm-project/commit/3fad640f06989c1ed5fd5d97868ad9fd807c86dc
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Skip scanf internals when no file available (#128097)
A temporary fix based on discussions in #128079
Currently, baremetal targets are failing to build because the scanf
internals require FILE* (either from the system's libc or our libc).
Normally we'd just turn off the broken entrypoint, but since the scanf
internals are built separately that doesn't work. This patch adds extra
conditions to building those internals, which we can hopefully remove
once we have a proper way to build scanf for embedded.
Commit: 210ecfdf35ed2cd260b401fe834dd810fd2190d0
https://github.com/llvm/llvm-project/commit/210ecfdf35ed2cd260b401fe834dd810fd2190d0
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
A clang/test/CodeGen/hwasan-stack-safety-analysis-with-array-bounds.c
Log Message:
-----------
[NFC] test interaction between array-bounds and hwaddress (#128218)
we want the stack safety analysis to be able to skip array accesses that
are already checked by array-bounds.
Commit: 438b9102534a28d8167831f113f2c180d1703594
https://github.com/llvm/llvm-project/commit/438b9102534a28d8167831f113f2c180d1703594
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Disassembler/Xtensa/boolean.txt
A llvm/test/MC/Xtensa/boolean.s
Log Message:
-----------
[Xtensa] Implement Xtensa Boolean Option. (#126022)
Commit: c3d5070086d604452336fc9dc6666559e420aad9
https://github.com/llvm/llvm-project/commit/c3d5070086d604452336fc9dc6666559e420aad9
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Refactor backedge computation and invoke earlier (#128226)
Invoke the backedge computation (refactored as a new method) at the end
of the graph construction, instead of at the start of cloning. That
makes more logical sense, and it also makes it easier to look at the
results in the postbuild dot graph with a follow on change to display
those differently.
Commit: 236fa506d4f166882b63029915333d9599014644
https://github.com/llvm/llvm-project/commit/236fa506d4f166882b63029915333d9599014644
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
R llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
Revert "[Utils] Consolidate `LockstepReverseIterator` into own header (NFC) (#116657)"
This reverts commit 123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af.
This breaks building on macOS with clang and multiple build bots,
including https://lab.llvm.org/buildbot/#/builders/175/builds/13585
llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp: In function ‘bool sinkCommonCodeFromPredecessors(llvm::BasicBlock*, llvm::DomTreeUpdater*)’:
/b/ml-opt-devrel-x86-64-b1/llvm-project/llvm/lib/Transforms/Utils/SimplifyCFG.cpp:2503:3: error: reference to ‘LockstepReverseIterator’ is ambiguous
2503 | LockstepReverseIterator<true> LRI(UnconditionalPreds);
| ^~~~~~~~~~~~~~~~~~~~~~~
Commit: 374c470cd19381caef4a06f6c794703c47cf3752
https://github.com/llvm/llvm-project/commit/374c470cd19381caef4a06f6c794703c47cf3752
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/IO.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Semantics/check-io.cpp
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/unsigned-errors.f90
Log Message:
-----------
[Flang] Give a more specific error message for expressions where an IO Unit is expected (#126970)
This PR fixes #125446 by specializing the error message that is
generated when an arbitrary expression is used as an IO Unit. See the
tests for specific examples, but the general gist is that if you use a
non-variable expression as the IO unit argument to a read or write, you
now get a more specific error message indicating the the expression
could have been a scalar integer expression or character variable.
Commit: 74084ae73196441446c2beb5b9b57dd58eeeb3fe
https://github.com/llvm/llvm-project/commit/74084ae73196441446c2beb5b9b57dd58eeeb3fe
Author: Vincent Lee <leevince at meta.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[FatLTO] Allow -fno-fat-lto-objects to override -ffat-lto-objects (#128157)
For builds that cannot be easily modified and enabled with
`-ffat-lto-objects`, `-fno-fat-lto-objects` acts as an escape hatch to
disable this option (which is standard to how clang and lld flags are
used).
Commit: 2b06ceebb5b7482d3c7a497f553d37bef4b40d1e
https://github.com/llvm/llvm-project/commit/2b06ceebb5b7482d3c7a497f553d37bef4b40d1e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Align operator descriptions with the spec (#128046)
This commit aligns the operator descriptions to the v1.0 spec
(https://www.mlplatform.org/tosa/tosa_spec.html)
Co-authored-by: Peng Sun <[peng.sun at arm.com](mailto:peng.sun at arm.com)>
Signed-off-by: Luke Hutton
<[luke.hutton at arm.com](mailto:luke.hutton at arm.com)>
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Peng Sun <peng.sun at arm.com>
Commit: 61c6e0061cfb9a1685bb7e564cbd5fbeb586c096
https://github.com/llvm/llvm-project/commit/61c6e0061cfb9a1685bb7e564cbd5fbeb586c096
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] flat/global/scratch load/store pseudo for true16 (#127945)
T16D16 table is implemented in
https://github.com/llvm/llvm-project/pull/127673
this is a follow up patch to add load/store pseudo for:
flat_store
global_load/global_store
scratch_load/scratch_store
in true16 mode and updated the codegen test file
Commit: 7f5a2cbe765235509055afe7ae620b9afad97b0e
https://github.com/llvm/llvm-project/commit/7f5a2cbe765235509055afe7ae620b9afad97b0e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[libc][bazel] add targets to build the scanf family (#128082)
Now that scanf is a little cleaner, this patch adds rules to build it
via bazel.
Commit: 6b3e7657cfede8c47f8c703881fce295ee26f5eb
https://github.com/llvm/llvm-project/commit/6b3e7657cfede8c47f8c703881fce295ee26f5eb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/docs/gpu/support.rst
Log Message:
-----------
[libc] Enable 'strftime' for the GPU targets (#128220)
Summary:
These should allow us to build with locale support for libcxx.
Commit: ca0406dd1c77e62b9d94a385ceeda551df1f3e26
https://github.com/llvm/llvm-project/commit/ca0406dd1c77e62b9d94a385ceeda551df1f3e26
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/docs/DeveloperPolicy.rst
Log Message:
-----------
DeveloperPolicy: Update commit access requirements (#127006)
See https://discourse.llvm.org/t/rfc-commit-access-criteria/84073
Commit: 79261d4aab4f7a0f56f5ea32a5ac06241c5cd94a
https://github.com/llvm/llvm-project/commit/79261d4aab4f7a0f56f5ea32a5ac06241c5cd94a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/alloca.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[NVPTX][InferAS] assume alloca instructions are in local AS (#121710)
Commit: 92e02ad9dc5e8adf92fd5ab2a1aec328ba139414
https://github.com/llvm/llvm-project/commit/92e02ad9dc5e8adf92fd5ab2a1aec328ba139414
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-recursive.ll
M llvm/test/Transforms/MemProfContextDisambiguation/recursive.ll
Log Message:
-----------
[MemProf] Display backedges with dotted line in dot graphs (#128235)
Add checking of this behavior in the postbuild dot graphs, facilitated
by PR128226 which marked these edges at the end of the graph building.
Commit: 8ffdc3b2078ea170ce96138f1d4e9c8139e575fb
https://github.com/llvm/llvm-project/commit/8ffdc3b2078ea170ce96138f1d4e9c8139e575fb
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/RISCV/reordered-buildvector-scalars.ll
Log Message:
-----------
[SLP]Fix a crash when checking a scalar in a reordered buildvector node
Need to check reordered scalars, not the original ones, to correctly
check proper scalar.
Commit: 6038fd44d4007d818ab024c2d3a18ef8006d2cff
https://github.com/llvm/llvm-project/commit/6038fd44d4007d818ab024c2d3a18ef8006d2cff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/module/cudadevice.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Lower atomiccas, atomicxor and atomicexch (#128242)
Lower atomiccas, atomicxor and atomicexch to corresponding llvm atomic
operations.
Commit: 5d0c5c638ad2f34552f1188c6e9b9ff5406580f9
https://github.com/llvm/llvm-project/commit/5d0c5c638ad2f34552f1188c6e9b9ff5406580f9
Author: Zahi Moudallal <zahi at openai.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[MLIR][ARITH] Adds missing foldings for truncf (#128096)
This patch is mainly to deal with folding `truncf`, as follows:
`truncf(extf(a))` -> `a`, if `a` has the same bitwidth as the result
`truncf(extf(a))` -> `truncf(a)`, if `a` has larger bitwidth than the
result
Commit: aef63c506be7ba791d0e0befc48f7837638a233a
https://github.com/llvm/llvm-project/commit/aef63c506be7ba791d0e0befc48f7837638a233a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
A llvm/test/MC/RISCV/xrivosvizip-invalid.s
A llvm/test/MC/RISCV/xrivosvizip-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Assembler support for XRivosVizip (#127694)
This implements assembler support for the XRivosVizip custom/vendor
extension from Rivos Inc. which is defined in:
https://github.com/rivosinc/rivos-custom-extensions (See
src/xrivosvizip.adoc)
Codegen support will follow in a separate change.
Commit: 7cfab6c4eb93f479e024f73647d86f9fc7f4b73f
https://github.com/llvm/llvm-project/commit/7cfab6c4eb93f479e024f73647d86f9fc7f4b73f
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
Log Message:
-----------
[HLSL] add parentheses in assertion to eliminate -Wparentheses warning (#128246)
Fixes #128210
Commit: d175aed4fddeef91ceee55072e3f1782ebc5bf83
https://github.com/llvm/llvm-project/commit/d175aed4fddeef91ceee55072e3f1782ebc5bf83
Author: Mosè Giordano <mose at gnu.org>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
Log Message:
-----------
[Tosa] Add necessary `unordered_map` header file (#128248)
Ref:
https://github.com/llvm/llvm-project/pull/126992#discussion_r1966320748
Commit: 5f8da7e7738f043dbde447e48622e9b2afb5ba92
https://github.com/llvm/llvm-project/commit/5f8da7e7738f043dbde447e48622e9b2afb5ba92
Author: Sebastian Pop <spop at nvidia.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
A llvm/test/Analysis/DependenceAnalysis/PR51512.ll
Log Message:
-----------
[DA] remove wrap-around check from affine definition (#116632)
Fix https://github.com/llvm/llvm-project/issues/51512
by reverting a part of commit
https://github.com/llvm/llvm-project/commit/c0661aeaf8daf371023cf5669be4bd9b428882d0
that modified the definition affine subscripts.
Commit: 93b2e47f12649bd33b99b88f25beb277a181274a
https://github.com/llvm/llvm-project/commit/93b2e47f12649bd33b99b88f25beb277a181274a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/test/Fir/CUDA/cuda-data-transfer.fir
Log Message:
-----------
[flang][cuda] Avoid assign element mismatch when doing data transfer from a constant (#128252)
Currently when we do a CUDA data transfer from a constant, we embox it
and delegate the assignment to the runtime. When the type of the
constant is not exactly the same as the destination descriptor, the
runtime will emit an assignment mismatch error.
Convert the constant when necessary so the assignment is fine.
Commit: 1bb43068f187141f20066a83675531161ed45051
https://github.com/llvm/llvm-project/commit/1bb43068f187141f20066a83675531161ed45051
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.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_system.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/idot8u.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.ll
M llvm/test/CodeGen/AMDGPU/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-mixed-cases.ll
M llvm/test/CodeGen/Thumb2/mve-laneinterleaving-cost.ll
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
M llvm/test/CodeGen/Thumb2/mve-vabdus.ll
M llvm/test/CodeGen/Thumb2/mve-vld2.ll
M llvm/test/CodeGen/Thumb2/mve-vld3.ll
M llvm/test/CodeGen/Thumb2/mve-vld4.ll
M llvm/test/CodeGen/Thumb2/mve-vldst4.ll
M llvm/test/CodeGen/Thumb2/mve-vst2.ll
M llvm/test/CodeGen/Thumb2/mve-vst3.ll
M llvm/test/CodeGen/Thumb2/mve-vst4-post.ll
M llvm/test/CodeGen/Thumb2/mve-vst4.ll
Log Message:
-----------
PeepholeOpt: Allow introducing subregister uses on reg_sequence (#127052)
This reverts d246cc618adc52fdbd69d44a2a375c8af97b6106. We now handle
composing subregister extracts through reg_sequence.
Commit: 998b28f19672ba49925e25f1a78c1252f017c247
https://github.com/llvm/llvm-project/commit/998b28f19672ba49925e25f1a78c1252f017c247
Author: John Harrison <harjohn at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
A lldb/test/API/tools/lldb-dap/server/Makefile
A lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
A lldb/test/API/tools/lldb-dap/server/main.c
M lldb/test/Shell/DAP/TestOptions.test
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactoring lldb-dap port listening mode to allow multiple connections. (#116392)
This adjusts the lldb-dap listening mode to accept multiple clients.
Each client initializes a new instance of DAP and an associated
`lldb::SBDebugger` instance.
The listening mode is configured with the `--connection` option and
supports listening on a port or a unix socket on supported platforms.
When running in server mode launch and attach performance should
be improved by lldb sharing symbols for core libraries between debug
sessions.
Commit: 3ec83f5774f391076cef094249fe9fa48cdc61fc
https://github.com/llvm/llvm-project/commit/3ec83f5774f391076cef094249fe9fa48cdc61fc
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-i64-trunc-srl-add.ll
Log Message:
-----------
[X86][DAGCombiner] Fix assertion failure in `combinei64TruncSrlAdd` (#128194)
Closes https://github.com/llvm/llvm-project/issues/128158.
Commit: 646e4f2eede9a39e46012dde9430cd289682e83c
https://github.com/llvm/llvm-project/commit/646e4f2eede9a39e46012dde9430cd289682e83c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/pr128143.ll
Log Message:
-----------
[DAGCombiner] visitFREEZE: Early exit when N is deleted (#128161)
`N` may get merged with existing nodes inside the loop. Early exit when
it is deleted to avoid the crash.
Alternative solution: use `DAGNodeDeletedListener` to refresh the value
of N.
Closes https://github.com/llvm/llvm-project/issues/128143.
Commit: 434d86ac929a37b2e992329d4e81fa0fbcacd2a9
https://github.com/llvm/llvm-project/commit/434d86ac929a37b2e992329d4e81fa0fbcacd2a9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb] Fix warnings
This patch fixes:
lldb/tools/lldb-dap/lldb-dap.cpp:5184:9: error: 'scoped_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
lldb/tools/lldb-dap/lldb-dap.cpp:5200:7: error: 'unique_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
lldb/tools/lldb-dap/lldb-dap.cpp:5222:5: error: 'scoped_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
lldb/tools/lldb-dap/lldb-dap.cpp:5236:3: error: 'unique_lock' may
not intend to support class template argument deduction
[-Werror,-Wctad-maybe-unsupported]
Commit: ffc61dc393e4224899c2496871f3ec3b3a1babf1
https://github.com/llvm/llvm-project/commit/ffc61dc393e4224899c2496871f3ec3b3a1babf1
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-21 (Fri, 21 Feb 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/FormatTest.cpp
Log Message:
-----------
[clang-format] Allow specifying the language for `.h` files (#128122)
Closes #128119
Commit: 444859634f365cb4bd716fcc587f5b1ea96915df
https://github.com/llvm/llvm-project/commit/444859634f365cb4bd716fcc587f5b1ea96915df
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/MachineVerifier.cpp
Log Message:
-----------
[MachineVerifier] Use Register instead of unsigned for DenseSet key. NFC (#128234)
Commit: dc72a93d2b4c80d93d51a4de83d2c0080be19742
https://github.com/llvm/llvm-project/commit/dc72a93d2b4c80d93d51a4de83d2c0080be19742
Author: Ayokunle Amodu <ayokunle321 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
Log Message:
-----------
[MLIR][Affine] Add check for 'affine.for' Bound Map Results (#127105)
Fixes issue #120001.
Add missing check in affine.for op's verifier for lower/upper bound maps
to have at least one result.
Commit: 39d1bd85862a68c7f6379817a93fffab94c5db4b
https://github.com/llvm/llvm-project/commit/39d1bd85862a68c7f6379817a93fffab94c5db4b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-21 (Fri, 21 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unused VPseudo tablegen class. NFC
I think this was once used for whole register move pseudos that we
deleted a while ago.
Commit: 86ef031b64fae51666b677ee3a700ecb1c428edd
https://github.com/llvm/llvm-project/commit/86ef031b64fae51666b677ee3a700ecb1c428edd
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Conversion/FuncToSPIRV/func-ops-to-spirv.mlir
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/load-store-invalid.mlir
Log Message:
-----------
[MLIR][Affine] Fix affine memory op verifiers to check valid dim/symbols properly (#127375)
The checks only checked if the operands were either valid dims and
symbols without checking which ones should be valid dims and which
should be valid symbols. The necessary methods to check already existed.
With this fix, for some existing tests, it leads to a more accurate
error message. In other cases, invalid IRs are caught as shown in the
test case added.
Related to: https://github.com/llvm/llvm-project/issues/120189
Commit: c645981f2d6b18d4ac93cb4132e1da54b11ce5d6
https://github.com/llvm/llvm-project/commit/c645981f2d6b18d4ac93cb4132e1da54b11ce5d6
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/include/mlir/InitAllExtensions.h
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] Port https://github.com/llvm/llvm-project/commit/ab166d4d10f5b23262acb7448eb32c056595a0cd
Second attempt.
Commit: 2c00b3b859d9fca6d5565af7b3f4574013c7330e
https://github.com/llvm/llvm-project/commit/2c00b3b859d9fca6d5565af7b3f4574013c7330e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Silently reject ctors of invalid decls (#128290)
The follow-up diagnostic would otherwise be:
array.cpp:111:33: note: undefined constructor '(unnamed struct at
array.cpp:111:11)' cannot be used in a constant expression
array.cpp:111:11: note: declared here
111 | constexpr struct { Unknown U; } InvalidCtor;
| ^
... and complaining about the undefined constructor of a class that is
invalid anyway doesn't make much sense.
Commit: 60f3fdde880745ae4330c26eefe5f440986983f3
https://github.com/llvm/llvm-project/commit/60f3fdde880745ae4330c26eefe5f440986983f3
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV][Outliner] Use MCRegister. NFC (#128291)
Commit: 126016b6620e1e64e1685e06f4c6bb1e5a2508ed
https://github.com/llvm/llvm-project/commit/126016b6620e1e64e1685e06f4c6bb1e5a2508ed
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/nonnull-select.ll
M llvm/test/Transforms/PhaseOrdering/load-store-sameval.ll
A llvm/test/Transforms/PhaseOrdering/memset-combine.ll
Log Message:
-----------
[InstCombine] Simplify nonnull pointers (#128111)
This patch is the follow-up of
https://github.com/llvm/llvm-project/pull/127979. It introduces a helper
`simplifyNonNullOperand` to avoid duplicate logic. It also addresses the
one-use issue in `visitLoadInst`, as discussed in
https://github.com/llvm/llvm-project/pull/127979#issuecomment-2671013972.
The `nonnull` attribute is also supported. Proof:
https://alive2.llvm.org/ce/z/MCKgT9
Commit: 876174ffd7533dc220f94721173bb767b659fa7f
https://github.com/llvm/llvm-project/commit/876174ffd7533dc220f94721173bb767b659fa7f
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[InstCombine] Test for ephemeral nonnull load. (NFC)
Commit: bac4171073399352e5bd0ba541820e2a9b3f37d7
https://github.com/llvm/llvm-project/commit/bac4171073399352e5bd0ba541820e2a9b3f37d7
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/Headers/intrin.h
A clang/test/Headers/no-xend.cpp
Log Message:
-----------
Remove xbegin and _xend (#126952)
`intrin.h` contains declarations for both `xbegin` and `_xend`, but they
should already be included transitively from `rtmintrin.h` via
`immintrin.h` and/or `x86intrin.h`. Having them in both places causes
problems if both headers are included.
Furthermore, the `intrin.h` declaration of `xbegin` seems to be bugged
anyway, since it's missing its leading underscore.
Fixes #95133
Commit: f4e8f6da41a5ca3e03808d86bce0bcde339b9414
https://github.com/llvm/llvm-project/commit/f4e8f6da41a5ca3e03808d86bce0bcde339b9414
Author: cooperp <peter_cooper at apple.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/Reassociate.cpp
Log Message:
-----------
[Reassociate] Use a reference to DataLayout instead of copying the underlying string data (NFC) (#128269)
I noticed this when looking at all allocations by clang. For a medium
sized file this was around 6000 calls to operator new, although i
suspect there were more allocations in total as the SmallVectors in
DataLayout may have their own allocations in some cases.
In a follow-up i'm tempted to make the DataLayout copy constructor
private, to avoid this in future. There are a few tests which copy the
DataLayout, and perhaps need to (I didn't check yet), but we could
provide a clone() method for them if needed. Its only accidental copying
I think we should consider avoiding, not people who really do need to
copy it for reasons.
Commit: f0088ee87cecfb442921251b4a70f96cf3474a15
https://github.com/llvm/llvm-project/commit/f0088ee87cecfb442921251b4a70f96cf3474a15
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
Log Message:
-----------
[analyzer] Delay the checker constructions after parsing (#127409)
If we were to delay checker constructions after we have a filled
ASTContext, then we could get rid of a bunch of "lazy initializers" in
checkers.
Turns out in the register functions of the checkers we could transfer
the ASTContext and all other things to checkers, so those could benefit
from in-class initializers and const fields.
For example, if a checker would take the ASTContext as the first field,
then the rest of the fields could use it in their in-class initializers,
so the ctor of the checker would only need to set a single field!
This would open uup countless opportunities for cleaning up the
asthetics of our checkers.
I attached a single use-case for the AST and the PP as demonstrating
purposes. You can imagine the rest.
**FYI: This may be a breaking change** to some downstream users that may
had some means to attach different listeners and what not to e.g. the
Preprocessor inside their checker register functions. Since we delay the
calls to these register fns after parsing is already done, they would of
course miss the parsing Preprocessor events.
Commit: 8f7e34b0af5f15219b9369f6430fc091dbadff6c
https://github.com/llvm/llvm-project/commit/8f7e34b0af5f15219b9369f6430fc091dbadff6c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
Log Message:
-----------
[clang-offload-packager] Avoid repeated hash lookups (NFC) (#128297)
Commit: 7c7e11b0fd9688da723f8abd008e8f27da638a1e
https://github.com/llvm/llvm-project/commit/7c7e11b0fd9688da723f8abd008e8f27da638a1e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#128298)
Commit: 94b810661a39b19f952a4e218085bc2fe67e46b3
https://github.com/llvm/llvm-project/commit/94b810661a39b19f952a4e218085bc2fe67e46b3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128301)
Commit: 48bccee6b3aceaed79df9e83e8226e53cd340488
https://github.com/llvm/llvm-project/commit/48bccee6b3aceaed79df9e83e8226e53cd340488
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
Log Message:
-----------
[Hexagon] Avoid repeated hash lookups (NFC) (#128302)
Commit: 3747ba48477a9592979fed0cd6bdcf29235eacbc
https://github.com/llvm/llvm-project/commit/3747ba48477a9592979fed0cd6bdcf29235eacbc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.h
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#128303)
Commit: b09dfbd6995bf83ce9546807ccc285c6d957f6db
https://github.com/llvm/llvm-project/commit/b09dfbd6995bf83ce9546807ccc285c6d957f6db
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
M lld/test/COFF/arm64x-symtab.s
Log Message:
-----------
[LLD][COFF] Add support for x86_64 archives on ARM64X (#128241)
If the ECSYMBOLS section is missing in the archive, the archive could be
either a native-only ARM64 or x86_64 archive. Check the machine type of
the object containing a symbol to determine which symbol table to use.
Commit: 48a6df36040d59a4807b0fa9ac46c343900e5225
https://github.com/llvm/llvm-project/commit/48a6df36040d59a4807b0fa9ac46c343900e5225
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
A llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
Reapply "[Utils] Consolidate `LockstepReverseIterator` into own header (NFC)"
Common code has been unified and generalized.
Original commit: 123dca9b56e1359d8ec7771ea3bd0afd4b1ea6af
Previously reverted due to accidentally merged incompletely. The issue has
been addressed by restoring missing code.
Commit: 34172bba115d3d65f7a2df245a4d82024090bc0c
https://github.com/llvm/llvm-project/commit/34172bba115d3d65f7a2df245a4d82024090bc0c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/InlineSpiller.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#128300)
Commit: 93b263a01cf898e609d3896edd0ce95789491bcd
https://github.com/llvm/llvm-project/commit/93b263a01cf898e609d3896edd0ce95789491bcd
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Drop unused `LockstepReverseIterator` class (NFC)
Unmaintained code has been removed.
Commit: 26afa2deea1240febccaa635eed50db097a7fac1
https://github.com/llvm/llvm-project/commit/26afa2deea1240febccaa635eed50db097a7fac1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Create VPInstructions after setting preds in HCFG builder (NFC)
Set VPBBs predecessors before creating VPInstructions, as setting
incoming values for non-header phis directly there will require
predecessors to be available.
Commit: db836edf47f36ed04cab919a7a2c4414f4d0d7e6
https://github.com/llvm/llvm-project/commit/db836edf47f36ed04cab919a7a2c4414f4d0d7e6
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
Log Message:
-----------
Revert "[analyzer] Delay the checker constructions after parsing" (#128350)
Reverts llvm/llvm-project#127409
This caused a test failure:
LLVM Buildbot has detected a new failure on builder
`sanitizer-aarch64-linux-bootstrap-hwasan` running on
`sanitizer-buildbot11` while building `clang` at step 2 "annotate".
Full details are available at:
https://lab.llvm.org/buildbot/#/builders/55/builds/7431
<details>
<summary>Here is the relevant piece of the build log for the
reference</summary>
```
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 86643 tests, 72 workers --
Testing:
FAIL: Clang :: Analysis/cxx11-crashes.cpp (1006 of 86643)
******************** TEST 'Clang :: Analysis/cxx11-crashes.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/cxx11-crashes.cpp.script: line 1: 1936960 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
--
********************
Testing:
FAIL: Clang :: Analysis/stack-block-returned.cpp (1505 of 86643)
******************** TEST 'Clang :: Analysis/stack-block-returned.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/stack-block-returned.cpp.script: line 1: 1940139 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
59.70s: Clang :: Driver/fsanitize.c
48.34s: Clang :: Preprocessor/riscv-target-features.c
41.66s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
40.68s: Clang :: OpenMP/target_update_codegen.cpp
39.21s: Clang :: Driver/arm-cortex-cpus-2.c
38.19s: Clang :: Driver/arm-cortex-cpus-1.c
36.55s: Clang :: Preprocessor/arm-target-features.c
Step 11 (stage2/hwasan check) failure: stage2/hwasan check (failure)
...
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using lld-link: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/lld-link
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using ld64.lld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/ld64.lld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/llvm/config.py:512: note: using wasm-ld: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/wasm-ld
llvm-lit: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/llvm/utils/lit/lit/main.py:72: note: The test suite configuration requested an individual test timeout of 0 seconds but a timeout of 900 seconds was requested on the command line. Forcing timeout to be 900 seconds.
-- Testing: 86643 tests, 72 workers --
Testing:
FAIL: Clang :: Analysis/cxx11-crashes.cpp (1006 of 86643)
******************** TEST 'Clang :: Analysis/cxx11-crashes.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/cxx11-crashes.cpp.script: line 1: 1936960 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -std=c++11 -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/cxx11-crashes.cpp
--
********************
Testing:
FAIL: Clang :: Analysis/stack-block-returned.cpp (1505 of 86643)
******************** TEST 'Clang :: Analysis/stack-block-returned.cpp' FAILED ********************
Exit Code: 134
Command Output (stderr):
--
RUN: at line 1: /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
+ /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
libc++abi: Pure virtual function called!
/home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/tools/clang/test/Analysis/Output/stack-block-returned.cpp.script: line 1: 1940139 Aborted /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/bin/clang -cc1 -internal-isystem /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm_build_hwasan/lib/clang/21/include -nostdsysteminc -analyze -analyzer-constraints=range -setup-static-analyzer -analyzer-checker=core -fblocks -verify /home/b/sanitizer-aarch64-linux-bootstrap-hwasan/build/llvm-project/clang/test/Analysis/stack-block-returned.cpp
--
********************
Testing: 0.. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90..
Slowest Tests:
--------------------------------------------------------------------------
59.70s: Clang :: Driver/fsanitize.c
48.34s: Clang :: Preprocessor/riscv-target-features.c
41.66s: Clang :: OpenMP/target_defaultmap_codegen_01.cpp
40.68s: Clang :: OpenMP/target_update_codegen.cpp
39.21s: Clang :: Driver/arm-cortex-cpus-2.c
38.19s: Clang :: Driver/arm-cortex-cpus-1.c
36.55s: Clang :: Preprocessor/arm-target-features.c
```
</details>
Commit: 8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a
https://github.com/llvm/llvm-project/commit/8d5c1e61c60e944c9bd91ab4e8e0dce9799e501a
Author: Kai Sasaki <lewuathe at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/test/Dialect/Affine/SuperVectorize/vectorize_1d.mlir
Log Message:
-----------
[mlir][vector] Skip uniform vectorization for non scalar type (#128294)
Commit: f5d153ef26a9a206ab6eb4307de24c16b600c0d9
https://github.com/llvm/llvm-project/commit/f5d153ef26a9a206ab6eb4307de24c16b600c0d9
Author: Mikhail Gudim <mgudim at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
A llvm/test/Transforms/VectorCombine/ARM/fold-binop-of-reductions.ll
M llvm/test/Transforms/VectorCombine/fold-binop-of-reductions.ll
Log Message:
-----------
[VectorCombine] Fold binary op of reductions. (#121567)
Replace binary of of two reductions with one reduction of the binary op
applied to vectors. For example:
```
%v0_red = tail call i32 @llvm.vector.reduce.add.v16i32(<16 x i32> %v0)
%v1_red = tail call i32 @llvm.vector.reduce.add.v16i32(<16 x i32> %v1)
%res = add i32 %v0_red, %v1_red
```
gets transformed to:
```
%1 = add <16 x i32> %v0, %v1
%res = call i32 @llvm.vector.reduce.add.v16i32(<16 x i32> %1)
```
Commit: b74413bf91bd57877e47aa3e58c4c3d6f64d2ebe
https://github.com/llvm/llvm-project/commit/b74413bf91bd57877e47aa3e58c4c3d6f64d2ebe
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Use VPSingleDef instead of VPValue in HCFG builder (NFC).
Use VPSingleDef to remove unneeded casts to a recipe type.
Commit: c0d140353ec9e99371df54ae61d2aa0f304e043d
https://github.com/llvm/llvm-project/commit/c0d140353ec9e99371df54ae61d2aa0f304e043d
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libcxx/docs/index.rst
Log Message:
-----------
[libc++][docs][NFC] Update supported OpenXL version (#127072)
According to the documentation:
The base LLVM version was changed between minor versions:
- 17.1.2 is based on LLVM17
- 17.1.3 is based on LLVM19
https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.2?topic=whats-new
https://www.ibm.com/docs/en/openxl-c-and-cpp-aix/17.1.3?topic=whats-new
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: cbd3801acfa4ace50df8d0eba275fc3bd6d3f1ac
https://github.com/llvm/llvm-project/commit/cbd3801acfa4ace50df8d0eba275fc3bd6d3f1ac
Author: Michael Flanders <flanders.michaelk at gmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
Log Message:
-----------
[analyzer] Allow overriding Unknown memspaces using a ProgramState trait (#123003)
In general, if we see an allocation, we associate the immutable memory
space with the constructed memory region.
This works fine if we see the allocation.
However, with symbolic regions it's not great because there we don't
know anything about their memory spaces, thus put them into the Unknown
space.
The unfortunate consequence is that once we learn about some aliasing
with this Symbolic Region, we can't change the memory space to the
deduced one.
In this patch, we open up the memory spaces as a trait, basically
allowing associating a better memory space with a memregion that
was created with the Unknown memory space.
As a side effect, this means that now queriing the memory space of a
region depends on the State, but many places in the analyzer, such as
the Store, doesn't have (and cannot have) access to the State by design.
This means that some uses must solely rely on the memspaces of the
region, but any other users should use the getter taking a State.
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>
Commit: e23ab73335c857d1a4c6e695cb25a5cffb1329c6
https://github.com/llvm/llvm-project/commit/e23ab73335c857d1a4c6e695cb25a5cffb1329c6
Author: Luke Lau <luke at igalia.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
A llvm/test/CodeGen/RISCV/rvv/vl-opt-evl-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.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/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
A llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.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-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-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.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/RISCV/vplan-vp-select-intrinsics.ll
Log Message:
-----------
[VPlan] Don't convert widen recipes to VP intrinsics in EVL transform (#127180)
This is a copy of #126177, since it was automatically and permanently
closed because I messed up the source branch on my remote
This patch proposes to avoid converting widening recipes to VP
intrinsics during the EVL transform.
IIUC we initially did this to avoid `vl` toggles on RISC-V. However we
now have the RISCVVLOptimizer pass which mostly makes this redundant.
Emitting regular IR instead of VP intrinsics allows more generic
optimisations, both in the middle end and DAGCombiner, and we generally
have better patterns in the RISC-V backend for non-VP nodes. Sticking to
regular IR instructions is likely a lot less work than reimplementing
all of these optimisations for VP intrinsics, and on SPEC CPU 2017 we get
noticeably better code generation.
Commit: 4e44bd027bf4e490380be770172994561616bd2d
https://github.com/llvm/llvm-project/commit/4e44bd027bf4e490380be770172994561616bd2d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/Parser.cpp
M mlir/test/IR/invalid.mlir
Log Message:
-----------
[mlir][Parser] Fix crash after block parsing failure (#128011)
Fix a crash when parsing malformed block that defines values that
preceding operations refer to (which would be a dominance error).
Previously: Producer multiple error messages and then crashes as
follows:
```
LLVM ERROR: operation destroyed but still has uses
```
Now: Report an error that the block is malformed. No crash.
Commit: 7981c2997c370c6f1b2c9de3d6364e9121136f20
https://github.com/llvm/llvm-project/commit/7981c2997c370c6f1b2c9de3d6364e9121136f20
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/lib/Headers/lzcntintrin.h
M clang/test/CodeGen/X86/lzcnt-builtins.c
Log Message:
-----------
[X86] Allow using the lzcnt intrinsics for non-LZCNT targets (#128284)
Similar to D14748, we can relax lzcnt intrinsics too, especially with
improved BSR lowering by #123623
Commit: fa64a210b801352a9f164759be3cd33e9928365a
https://github.com/llvm/llvm-project/commit/fa64a210b801352a9f164759be3cd33e9928365a
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
A llvm/test/CodeGen/X86/vector-llrint-f16.ll
A llvm/test/CodeGen/X86/vector-lrint-f16.ll
Log Message:
-----------
[X86][FP16] Adding lowerings for FP16 ISD::LRINT and ISD::LLRINT (#127382)
Address comment in #126477
Commit: 268853e5689b0e6630cdd672b03813f113266c48
https://github.com/llvm/llvm-project/commit/268853e5689b0e6630cdd672b03813f113266c48
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/cmake/caches/NVPTX.cmake
Log Message:
-----------
[libcxx] Enable localization for the GPU in the config files (#128224)
Summary:
After adding `strftime` in the LLVM `libc` build we can turn this on.
Commit: 9d6f2647ded4c72b82ab329cffce11b9e7cccafa
https://github.com/llvm/llvm-project/commit/9d6f2647ded4c72b82ab329cffce11b9e7cccafa
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/Transforms/MemProfContextDisambiguation/basic.ll
Log Message:
-----------
[MemProf] Print internal context id when reporting bytes hinted (#128188)
During the whole program reporting of contexts when hinted byte
reporting is enabled via -memprof-report-hinted-sizes, also print the
internal context id. This is useful for debugging, as well as for
guiding the dot file dumping with some upcoming changes that will
accept a context id to focus the graph on a context of interest.
Commit: eb9215739930cdffde4201a9be42a788ea46c63f
https://github.com/llvm/llvm-project/commit/eb9215739930cdffde4201a9be42a788ea46c63f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/Transforms/MemProfContextDisambiguation/dot.ll
Log Message:
-----------
[MemProf] Add ability to export or highlight only a portion of graph (#128255)
To simplify debugging and analysis, particularly for very large
applications with large graphs, this patch adds support for either
highlighting a single context id or allocation's context ids, and/or
only exporting the nodes/edges for a single context id or allocation's
context ids. When highlighting, the specified nodes and edges are a
brighter color and larger.
This can be controlled by the new -memprof-dot-scope={all,alloc,context}
flag which controls how much to export, along with two companion flags:
-memprof-dot-alloc-id=ID
-memprof-dot-context-id=ID
These two are interpreted differently depending on the value of
-memprof-dot-scope (where "all" is the default).
If exporting all, one of the above flags can optionally be passed to
highlight the nodes/edges for the given context id or allocation's
context ids.
If exporting alloc scope, an alloc id must be provided. A context id can
optionally be provided to highlight that context.
If exporting context scope, a context id must be provided.
The ids to use can be obtained either by looking at the full graph, or a
context id can be identified from the -memprof-report-hinted-sizes
output after PR128188 is merged.
Commit: 31824b2a11a8aa3e1d5c699cd0786ad666999abf
https://github.com/llvm/llvm-project/commit/31824b2a11a8aa3e1d5c699cd0786ad666999abf
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/support/increasing_allocator.h
Log Message:
-----------
[libc++] Fix shrink_to_fit to swap buffer only when capacity is strictly smaller (#127321)
The current implementation of the `shrink_to_fit()` function of
`basic_string` swaps to the newly allocated buffer when the new buffer
has the same capacity as the existing one. While this is not incorrect,
it is truly unnecessary to swap to an equally-sized buffer. With equal
capacity, we should keep using the existing buffer and simply deallocate
the new one, avoiding the extra work of copying elements.
The desired behavior was documented in the following comment within the
function:
https://github.com/llvm/llvm-project/blob/61ad08792a86e62309b982189a600f4342a38d91/libcxx/include/string#L3560-L3566
However, the existing implementation did not exactly conform to this
guideline, which is a QoI matter.
This PR modifies the `shrink_to_fit()` function to ensure that the
buffer is only swapped when the new allocation is strictly smaller than
the existing one. When the capacities are equal, the new buffer will be
discarded without copying the elements. This is achieved by including
the `==` check in the above conditional logic.
Commit: 91c0aa5c1038ea9f4b1565b2f9894d5e8b10e85a
https://github.com/llvm/llvm-project/commit/91c0aa5c1038ea9f4b1565b2f9894d5e8b10e85a
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
Log Message:
-----------
[mlir][tensor][nfc] Clarify comments for `createPadHighOp`
While reviewing this code, I realised that the rationale behind the
assert was not very clear, so I updated the comments to clarify it.
Relaxing the assert (i.e., allowing `resType.getNumDynamicDims() !=
dynOutDims.size()`) would require generating a mapping between
`dynOutDims` and the dynamic dimensions of the output tensor. At the
moment, this additional complexity is unnecessary.
To minimize PR noise, I am submitting this without a review. However,
please ping me if you believe this or similar changes should be reviewed
before merging.
Commit: e21a1737f3523488a04169096fa27d0914a142a7
https://github.com/llvm/llvm-project/commit/e21a1737f3523488a04169096fa27d0914a142a7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineBROADCAST_LOAD - merge across chains (#128209)
Remove the restriction when reusing wider BROADCAST_LOAD nodes that both nodes couldn't have uses of their load chains - use makeEquivalentMemoryOrdering to merge the chains instead.
Commit: ae28a375d0d700ea73052828f5d7fbbb5f5159b2
https://github.com/llvm/llvm-project/commit/ae28a375d0d700ea73052828f5d7fbbb5f5159b2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M lldb/source/Commands/CommandObjectProcess.cpp
Log Message:
-----------
[lldb] Document <run-args> behavior in process launch help (#128215)
Commit: bb6a273d9ab9ee90dbb957e541f4d810fffb22ee
https://github.com/llvm/llvm-project/commit/bb6a273d9ab9ee90dbb957e541f4d810fffb22ee
Author: Jordan R AW <ajordanr at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M lldb/cmake/modules/FindCursesAndPanel.cmake
Log Message:
-----------
[lldb] Fix manual CURSES_LIBRARIES tinfo finding (#128245)
Commit: 30f44c96277e9d68926b9d6e27f232da6302c955
https://github.com/llvm/llvm-project/commit/30f44c96277e9d68926b9d6e27f232da6302c955
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
Log Message:
-----------
[VPlan] Set values for non-header phis at construction. (NFC)
Update HCFG builder to set the incoming values directly at construction
for non-header phis.
Simplification/clarification as suggested independently in
https://github.com/llvm/llvm-project/pull/126388.
Commit: 62c78919c678915936fcc08212b02db23738dd4d
https://github.com/llvm/llvm-project/commit/62c78919c678915936fcc08212b02db23738dd4d
Author: ur4t <ur4t at protonmail.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[CMake] Fix some breakages when using ninja multi config (#65451)
When using multi-config generator to build `libLLVM.so` like `cmake -G
'Ninja Multi-Config' -Sllvm -B/tmp/out/ninja-multi
-DCMAKE_CONFIGURATION_TYPES='Debug;Release' -DLLVM_LINK_LLVM_DYLIB=on
-DLLVM_TARGETS_TO_BUILD=host && cmake --build /tmp/out/ninja-multi
--config Debug`, `lld` complains `error: cannot find version script
/tmp/out/ninja-multi/Debug/lib/tools/llvm-shlib/simple_version_script.map`.
This patch adds multi-config compatibility when configuring
`simple_version_script.map`.
Fixes #63800.
When using multi-config generator, clang's headers is not copied to
proper directories, which is fixed as well.
Commit: 9e8d11d2df1476eeb56f00da21448c1f8d8d565c
https://github.com/llvm/llvm-project/commit/9e8d11d2df1476eeb56f00da21448c1f8d8d565c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/v8i1-masks.ll
Log Message:
-----------
[X86] Check that the type is integer before calling isUnsignedIntSetCC in combineExtSetcc. (#128263)
SETULT can be an unsigned less than integer compare or a unordered less
than FP compare. We need to check the VT to distinguish them.
Fixes on of the issues from #128237.
Commit: b9e25f65a83ee1cd955e15be487a546fa1baa7f4
https://github.com/llvm/llvm-project/commit/b9e25f65a83ee1cd955e15be487a546fa1baa7f4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[Github][CI] Name Premerge Jobs Experimental (#128227)
As discussed on Discourse
(https://discourse.llvm.org/t/googles-plan-for-the-llvm-presubmit-infrastructure/78940/8),
this patch renames the premerge jobs to include experimental in them to
hopefully better signal that these are still a prototype. This patch
does not mark the MacOS job as experimental as that is being used in
production on the release branch.
Commit: 559cb6ba631367f98728f3a29d0849618eadd1cb
https://github.com/llvm/llvm-project/commit/559cb6ba631367f98728f3a29d0849618eadd1cb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Fix scanf dependencies on the GPU build
Summary:
The GPU build doesn't have `file` as a struct but does use these
targets. We need to add an escape for this.
Commit: 7e10b6f175775a2e209bc36bc4f89d3e47d8374a
https://github.com/llvm/llvm-project/commit/7e10b6f175775a2e209bc36bc4f89d3e47d8374a
Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
A mlir/test/Dialect/Linalg/decompose-pack-tile.mlir
A mlir/test/Dialect/Linalg/decompose-pack.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-pack-tile.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-pack.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-unpack-tile.mlir
R mlir/test/Dialect/Linalg/decompose-tensor-unpack.mlir
A mlir/test/Dialect/Linalg/decompose-unpack-tile.mlir
A mlir/test/Dialect/Linalg/decompose-unpack.mlir
Log Message:
-----------
[mlir][linalg][nfc] Rename test files for linalg.{un}pack
Following on from #123902, removes "tensor" from test file names for
`linalg.pack` and `linalg.unpack` (which prior to #123902 were Tensor
dialect Ops).
To minimize PR noise, I am submitting this without a review. However,
please ping me if you believe this or similar changes should be reviewed
before merging.
Commit: 75bb25b682527f7ebb4818502625cee8b36d2d46
https://github.com/llvm/llvm-project/commit/75bb25b682527f7ebb4818502625cee8b36d2d46
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
Log Message:
-----------
[Xtensa] Use asMCReg after #128095
Commit: f404047ab2ab7fc4755374692bb1159827e887f2
https://github.com/llvm/llvm-project/commit/f404047ab2ab7fc4755374692bb1159827e887f2
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
Log Message:
-----------
[DirectX][OpLowering] Simplify named struct handling (#128247)
This removes "replaceFunctionWithNamedStructOp" and folds its
functionality into "replaceFunctionWithOp". It turns out we were
overcomplicating things and this is trivial to handle generically.
Fixes #113192
Commit: 6db96c9ecc781c742f546d2863632d44e9c9b435
https://github.com/llvm/llvm-project/commit/6db96c9ecc781c742f546d2863632d44e9c9b435
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/records.cpp
Log Message:
-----------
[clang][bytecode] Always reject ctors of invalid parent decls (#128295)
The copy constructor of an invalid declaration might still be perfectly
valid, but we still need to reject it.
Commit: d2616cc3926ec0ac73ec547e04b64e045035bd3c
https://github.com/llvm/llvm-project/commit/d2616cc3926ec0ac73ec547e04b64e045035bd3c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
Log Message:
-----------
[analyzer] Fix use after scope after #123003 (#128372)
In #123003 make_first_range was applied to temporarily.
Commit: 0859df4e42ba742b41827ae1a653a8eb2f2674d3
https://github.com/llvm/llvm-project/commit/0859df4e42ba742b41827ae1a653a8eb2f2674d3
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Use operands from initial VPInstructions directly (NFC).
Use operands from VPInstructions directly during recipe creation.
Follow-up as discussed and planned after
https://github.com/llvm/llvm-project/pull/124432.
Commit: 9b7bf1fdd3e7727cdde7ca5bb2f95a8f4f26471c
https://github.com/llvm/llvm-project/commit/9b7bf1fdd3e7727cdde7ca5bb2f95a8f4f26471c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Set the SEW field in the VPseudoTiedBinaryRoundingMode.
Noticed some oddities in the InversePseudo table. TIED pseudos are
in there but sorted differently than their non-TIED version. I think
we always check non-zero SEW first which should hit the non-tied version.
I'm working on a larger patch to remove _MASK and _TIED from the
InversePseudo table.
Commit: f5f55ade3aa7d793f04aaf94f7d7e89aab97f301
https://github.com/llvm/llvm-project/commit/f5f55ade3aa7d793f04aaf94f7d7e89aab97f301
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Common a check in getShufleCost [nfc]
None of the vector costings apply if we're scalarizing. Pull that check
into an early guard instead.
Commit: a7d578dcce30345e343cba32beb44e573a753cb0
https://github.com/llvm/llvm-project/commit/a7d578dcce30345e343cba32beb44e573a753cb0
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Avoid complicated fallthrough in getShuffleCost [nfc]
Just making the control flow easier to follow.
Commit: bac6e7b65178181a3af17020840604d5e9e13178
https://github.com/llvm/llvm-project/commit/bac6e7b65178181a3af17020840604d5e9e13178
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
Log Message:
-----------
[RISCV][VLOpt] Put vmclr/vmset back in the RISCVVPseudo table. (#128293)
This allows them to be supported by the VLOptimizer.
Commit: 50b0669e8468279518ae0be27c8b6a134c4d95d1
https://github.com/llvm/llvm-project/commit/50b0669e8468279518ae0be27c8b6a134c4d95d1
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
Revert "[X86] combineBROADCAST_LOAD - merge across chains" (#128380)
Reverts llvm/llvm-project#128209
Introduces "AddressSanitizer: use-after-poison".
Commit: 6fe780ce63acf947826289e4a7e0ecbe91cbf4ed
https://github.com/llvm/llvm-project/commit/6fe780ce63acf947826289e4a7e0ecbe91cbf4ed
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAllocGreedy] Use Register() instead of 0 for invalid Register. NFC
Commit: 0bd66c4194d0f30bd07bca35127686f5946256e4
https://github.com/llvm/llvm-project/commit/0bd66c4194d0f30bd07bca35127686f5946256e4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
[RegAllocGreedy] Remove unnecessary conversion from MCRegister to Register. NFC
Commit: 6e611264c6d7e6dd5f746360a74f8edf656dbf32
https://github.com/llvm/llvm-project/commit/6e611264c6d7e6dd5f746360a74f8edf656dbf32
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/amdgpu-to-rocdl.mlir
Log Message:
-----------
[mlir] AMDGPUToROCDL: handle 1-element vectors (#128266)
Buffer intrinsics doesn't support 1-element vectors, cast them to
scalars.
Commit: ccad5e77442f7f237939395ebce1ae7adf187380
https://github.com/llvm/llvm-project/commit/ccad5e77442f7f237939395ebce1ae7adf187380
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
A llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers-assertion-after-ra-failure.xfail.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
Log Message:
-----------
AMDGPU: Respect amdgpu-no-agpr in functions and with calls (#128147)
Remove the MIR scan to detect whether AGPRs are used or not,
and the special case for callable functions. This behavior was
confusing, and not overridable. The amdgpu-no-agpr attribute was
intended to avoid this imprecise heuristic for how many AGPRs to
allocate. It was also too confusing to make this interact with
the pending amdgpu-num-agpr replacement for amdgpu-no-agpr.
Also adds an xfail-ish test where the register allocator asserts
after allocation fails which I ran into.
Future work should reintroduce a more refined MIR scan to estimate
AGPR pressure for how to split AGPRs and VGPRs.
Commit: dbd219aef4be56754c793589c60bd787b7de60c2
https://github.com/llvm/llvm-project/commit/dbd219aef4be56754c793589c60bd787b7de60c2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-i64-trunc-srl-add.ll
Log Message:
-----------
[DAGCombiner][X86] Correctly clean up high bits in `combinei64TruncSrlAdd` (#128353)
A counterexample for original implementation:
https://alive2.llvm.org/ce/z/7ieYLg
This patch uses zext instead of anyext to fix the original issue.
BTW, we should keep low `64 - shamt` bits instead of `shamt - 32`:
https://alive2.llvm.org/ce/z/ruQP_Z
Some codes are simplified to avoid confusion.
Proof: https://alive2.llvm.org/ce/z/z_jdHD
Closes https://github.com/llvm/llvm-project/issues/128309.
Commit: 0963f0d6459c50f3dc7e4628b3b1160fd6c2fa92
https://github.com/llvm/llvm-project/commit/0963f0d6459c50f3dc7e4628b3b1160fd6c2fa92
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#128393)
Commit: a26fd0b75f3c277b1b546a1191d8565c53ea644a
https://github.com/llvm/llvm-project/commit/a26fd0b75f3c277b1b546a1191d8565c53ea644a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
Log Message:
-----------
[LivePhysReg] Fix off by 1 error in an assert. NFC (#128379)
Reg should not be equal to the number of registers.
Commit: 57b445862db120b4b954ae34fcdca80859d03c36
https://github.com/llvm/llvm-project/commit/57b445862db120b4b954ae34fcdca80859d03c36
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LiveRegUnits.h
Log Message:
-----------
[LiveRegUnits] Use MCRegister instead of MCPhysReg in interface. NFC (#128232)
Commit: 228dbd254a5addeaa638b23e2e7a63ba4efc763e
https://github.com/llvm/llvm-project/commit/228dbd254a5addeaa638b23e2e7a63ba4efc763e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
Log Message:
-----------
[RegAllocGreedy] Use MCRegister instead of Register for functions that return a physical register.
The callers of these functions return the value as an MCRegister
so this removes some casts from Register to MCRegister.
Commit: b38d4720557846a720ab605fcf158a078ba22df0
https://github.com/llvm/llvm-project/commit/b38d4720557846a720ab605fcf158a078ba22df0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
Log Message:
-----------
[ARM] Prevent converting a virtual register to MCRegister. NFC
Commit: 4efad490af2b96af58fc84f7562c9e643b6a160e
https://github.com/llvm/llvm-project/commit/4efad490af2b96af58fc84f7562c9e643b6a160e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-22 (Sat, 22 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
Log Message:
-----------
[WebAssembly] Use Register instead of unsigned. NFC
Commit: 21939c4c2eb51a0561e8c22c77073e762b722133
https://github.com/llvm/llvm-project/commit/21939c4c2eb51a0561e8c22c77073e762b722133
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
Log Message:
-----------
[ORC] Fix type name in comments. NFC.
Commit: 33f2686beda0a5e677eb0e4c386e5f72b8c2573c
https://github.com/llvm/llvm-project/commit/33f2686beda0a5e677eb0e4c386e5f72b8c2573c
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[llvm-jitlink] Only use candidate library extensions during library search.
While processing library link options that check search paths (-lx, -hidden-lx,
etc.) we shouldn't generate candidate paths with extensions that are invalid
for the option being visited (e.g. -hidden-lx only applies to archives, so we
shouldn't generate candidates with `.so` extensions).
Note: Candidate extensions should probably be further filtered based on the OS
of the executing process. This patch is a step in the right direction though.
Commit: 8ff4d27fe6b32ea1a127758c121cc2a980439833
https://github.com/llvm/llvm-project/commit/8ff4d27fe6b32ea1a127758c121cc2a980439833
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Analysis/Utils.cpp
Log Message:
-----------
[MLIR][Affine] NFC. Fix outdated comment in affine analysis utils (#128406)
Commit: 0968df9c3a5562f6a8d9f7948065848f3a273b81
https://github.com/llvm/llvm-project/commit/0968df9c3a5562f6a8d9f7948065848f3a273b81
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 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/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add the C language instead of treating it like C++ (#128287)
Closes #128120
Commit: 2ff3b18554b115b17d5085b9a4cd779eeafd278a
https://github.com/llvm/llvm-project/commit/2ff3b18554b115b17d5085b9a4cd779eeafd278a
Author: rchamala <36907958+rchamala at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
Log Message:
-----------
Allow option to ignore module load errors in ScriptedProcess (#127153)
Current state in scripted process expects [all the
modules](https://github.com/llvm/llvm-project/blob/912b154f3a3f8c3cebf5cc5731fd8b0749762da5/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp#L498)
passed into "get_loaded_images" to load successfully else none of them
load. Even if a module loads fine, [but has already been
appended](https://github.com/llvm/llvm-project/blob/912b154f3a3f8c3cebf5cc5731fd8b0749762da5/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp#L495)
it still fails. This is restrictive and does not help our usecase.
**Usecase**: We have a parent scripted process using coredump +
tombstone.
1) Scripted process uses child elf-core process to read memory dump
2) Uses tombstones to pass thread names and modules.
We do not know whether the modules will be successfully downloaded
before creating the scripted process. We use [python module
callbacks](https://github.com/llvm/llvm-project/blob/a57e58dbfaae0e86eb5cafeddf8b598f14b96e36/lldb/source/Target/Platform.cpp#L1593)
to download a module from symbol server at LLDB load time when the
scripted process is being created. The issue is that if one of the
symbol is not found from the list specified in tombstone, none of the
modules load in scripted process. Even if we ensure symbols are present
in symbol server before creating the scripted process, if the load
address is wrong or if the module is already appended, all module loads
are skipped.
**Solution**: Pass in a custom boolean option arg for every module from
python scripted process plugin which will indicate whether to ignore the
module load error. This will provide the flexibility to user for loading
the successfully fetched modules into target while ignoring the failed
ones
---------
Co-authored-by: rchamala <rachamal at fb.com>
Commit: b0d1c51a1778120fb6b5871202333fcd873a6d70
https://github.com/llvm/llvm-project/commit/b0d1c51a1778120fb6b5871202333fcd873a6d70
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128395)
Commit: 9dd8c1444371c2df39b882ab6962b225f08be1ea
https://github.com/llvm/llvm-project/commit/9dd8c1444371c2df39b882ab6962b225f08be1ea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
Log Message:
-----------
[IR] Avoid repeated map lookups (NFC) (#128396)
Commit: fb19bddbc5d55d80785709303df8d950a527f6e9
https://github.com/llvm/llvm-project/commit/fb19bddbc5d55d80785709303df8d950a527f6e9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
Log Message:
-----------
[SPIRV] Avoid repeated hash lookups (NFC) (#128398)
Commit: 929d70a38dadce82a48261d562784d53d286354f
https://github.com/llvm/llvm-project/commit/929d70a38dadce82a48261d562784d53d286354f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-coff.cpp
Log Message:
-----------
[llvm-jitlink] Avoid repeated hash lookups (NFC) (#128399)
Commit: a8fb2d0c1c0d7fd719dd8078bc1c52214298ace1
https://github.com/llvm/llvm-project/commit/a8fb2d0c1c0d7fd719dd8078bc1c52214298ace1
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 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] adding unlink/unlinkat interception. (#128292)
Commit: 2ebc69a52120e62826b924874a560c5620f39934
https://github.com/llvm/llvm-project/commit/2ebc69a52120e62826b924874a560c5620f39934
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/nonnull-select.ll
M llvm/test/Transforms/InstCombine/store.ll
M llvm/test/Transforms/PhaseOrdering/memset-combine.ll
Log Message:
-----------
[InstCombine] Add support for GEPs in `simplifyNonNullOperand` (#128365)
Alive2: https://alive2.llvm.org/ce/z/2KE8zG
Commit: 96c723374a28c0f81e4a9512a48b784db0bf4cd0
https://github.com/llvm/llvm-project/commit/96c723374a28c0f81e4a9512a48b784db0bf4cd0
Author: Yeaseen <yeaseen.arafat96 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-early-ifcvt.ll
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/X86/mbp-false-cfg-break.ll
M llvm/test/CodeGen/X86/misched-aa-mmos.ll
M llvm/test/CodeGen/X86/multiple-loop-post-inc.ll
M llvm/test/CodeGen/X86/phi-bit-propagation.ll
M llvm/test/CodeGen/X86/pr18846.ll
M llvm/test/CodeGen/X86/remat-fold-load.ll
M llvm/test/CodeGen/X86/selectiondag-cse.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/tailcall-ssp-split-debug.ll
M llvm/test/CodeGen/X86/taildup-crash.ll
M llvm/test/CodeGen/X86/vaargs-prolog-insert.ll
Log Message:
-----------
[llvm] Remove `br i1 undef` from some `llvm/test/CodeGen` tests (#128272)
Commit: 2071ea24a27c7009feac699e3e70ee50f185134f
https://github.com/llvm/llvm-project/commit/2071ea24a27c7009feac699e3e70ee50f185134f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LazyValueInfo.cpp
A llvm/test/Transforms/CorrelatedValuePropagation/loop.ll
M llvm/test/Transforms/JumpThreading/ddt-crash.ll
Log Message:
-----------
[LVI] Skip self loops in `solveBlockValueNonLocal` (#127763)
We cannot infer more information from backedges in
`solveBlockValueNonLocal`. However, since DT is unavailable in LVI,
there is not a precise way to check whether a BB edge is a backedge.
This patch only skips self loops to unblock the range analysis.
The motivating case is extracted from
https://github.com/llvm/llvm-project/pull/127663.
Compile-time impact is high:
https://llvm-compile-time-tracker.com/compare.php?from=84ddda58c870681dd12ed765e9d59d5e00567f94&to=af032f1351358f2f5b5d9f4e87c5601c23b9bd37&stat=instructions:u
Commit: c38befd94ffe84e7d0d01ae9af10e32319f3ef12
https://github.com/llvm/llvm-project/commit/c38befd94ffe84e7d0d01ae9af10e32319f3ef12
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix delete[] dtor order (#128411)
As always, call array dtors in reverse order.
Commit: 0f8769086e8eec684559eaceccf0cbe8e9a11bc0
https://github.com/llvm/llvm-project/commit/0f8769086e8eec684559eaceccf0cbe8e9a11bc0
Author: Baranov Victor <70346889+vbvictor at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
Log Message:
-----------
[clang-tidy][NFC][docs] Use single tick for 'false' and 'true' values in options (#128362)
Unify doc style for options that use `true` or `false` as default
values.
Commit: 8102fec00bb90969eee1c2160829866aa5c8a32f
https://github.com/llvm/llvm-project/commit/8102fec00bb90969eee1c2160829866aa5c8a32f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
Log Message:
-----------
[clang][bytecode] Reject calls to pure virtual functions (#128412)
Commit: b72bbfc293f40380f08198ef344f032126e838e1
https://github.com/llvm/llvm-project/commit/b72bbfc293f40380f08198ef344f032126e838e1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Remove fixHeaderPhis (NFC).
Removes unneeded code after https://github.com/llvm/llvm-project/pull/124432.
Commit: 06cc9681b00807fd66a504b85689ddf39082d816
https://github.com/llvm/llvm-project/commit/06cc9681b00807fd66a504b85689ddf39082d816
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dependency for 2ff3b18554b115b17d5085b9a4cd779eeafd278a
Commit: 9e82ee5274ece4f0638bc665fbb418d730a16d0a
https://github.com/llvm/llvm-project/commit/9e82ee5274ece4f0638bc665fbb418d730a16d0a
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/ErrorOr.h
M llvm/include/llvm/Support/TrailingObjects.h
Log Message:
-----------
[Support] Remove AlignedCharArrayUnion from Expected and ErrorOr, NFCI. (#127407)
They were instantiated with only a single type and union-members
themselves. By putting the types directly into a union, they are still
left uninitialized by default.
Commit: 72791fef6d6c84b72cb961b288b25283bea97310
https://github.com/llvm/llvm-project/commit/72791fef6d6c84b72cb961b288b25283bea97310
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTestBase.h
Log Message:
-----------
[VPlan] Remove unused buildPlainCFG from unit tests (NFC).
Also clarify the name of buildHCFG -> buildVPlan.
Commit: cafad2b75a6e1c4957db1967cadeb002339887e3
https://github.com/llvm/llvm-project/commit/cafad2b75a6e1c4957db1967cadeb002339887e3
Author: Robert Imschweiler <50044286+ro-i at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/AMDGPU/intrinsic-amdgpu-init-exec-from-input.ll
Log Message:
-----------
[AMDGPU] Add verification for amdgcn.init.exec.from.input (#128172)
Check that the input register is an inreg argument to the parent
function. (See the comment in `IntrinsicsAMDGPU.td`.)
This LLVM defect was identified via the AMD Fuzzing project.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 9d1fbbd2b9a00248eb8ea578c4047af4ec4da990
https://github.com/llvm/llvm-project/commit/9d1fbbd2b9a00248eb8ea578c4047af4ec4da990
Author: Veera <32646674+veera-sivarajan at users.noreply.github.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/SROA.cpp
Log Message:
-----------
[SROA][NFC] Remove Unused Parameter in `promoteAllocas()` (#128382)
Removing it because `Function &F` is not used by `promoteAllocas()`.
Commit: 303825d2ab077ee7fc5ef6871741b5512ba7449b
https://github.com/llvm/llvm-project/commit/303825d2ab077ee7fc5ef6871741b5512ba7449b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#128394)
Commit: 15860446a8c3db5c39f92bb371236778e8b00fb0
https://github.com/llvm/llvm-project/commit/15860446a8c3db5c39f92bb371236778e8b00fb0
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M libcxx/include/string
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp
M libcxx/test/support/min_allocator.h
Log Message:
-----------
[libc++] Fix basic_string not allowing max_size() elements to be stored (#125423)
Without this patch `basic_string` cannot be properly resized to be
`max_size()` elements in size, even if an allocation is successful.
`__grow_by` allocates one less element than required, resulting in an
out-of-bounds access. At the same time, `max_size()` has an off-by-one
error, since there has to be space to store the null terminator, which
is currently ignored.
Commit: 34387fc63b5bc66f4edb611c36e74ec4c9b2eae0
https://github.com/llvm/llvm-project/commit/34387fc63b5bc66f4edb611c36e74ec4c9b2eae0
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[AsmPrinter] Simplify $local after D131429. NFC
setType is unneeded (and AsmPrinter tries not to modify symbols).
AsmPrinter. MCSA_ELF_TypeFunction is available on all
targets using getSymbolPreferLocal.
Pull Request: https://github.com/llvm/llvm-project/pull/128138
Commit: 65e44b4301eb1ae6838ad101f35a7d987949e13b
https://github.com/llvm/llvm-project/commit/65e44b4301eb1ae6838ad101f35a7d987949e13b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
Log Message:
-----------
[LV] Add tests with deref assumptions and non-constant sizes.
Commit: 8ea6b735a64da7d97a556832209c0bb70ea00a21
https://github.com/llvm/llvm-project/commit/8ea6b735a64da7d97a556832209c0bb70ea00a21
Author: lntue <lntue at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M libc/test/UnitTest/HermeticTestUtils.cpp
Log Message:
-----------
[libc] Fix alignment issue for HermeticTestUtils.cpp. (#128426)
Full build precommit bots were failing due to mis-alignment of atomics
in hermetic tests. This PR enforces the alignment for the bump allocator
of hermetic test framework.
Fixes https://github.com/llvm/llvm-project/issues/128185.
Commit: 3e284554a80a6d1eae7ac7603184bd4cbb3c80b8
https://github.com/llvm/llvm-project/commit/3e284554a80a6d1eae7ac7603184bd4cbb3c80b8
Author: wldfngrs <wldfngrs at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 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/acosf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/acosf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/acosf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add acosf16() function (#127731)
- Implementation of acosf16 (inverse cosine) function for 16-bit inputs.
- Exhaustive tests across the 16-bit input range.
Commit: 0b84d72c520993c631bc8b4e8ed4f2153213c6b1
https://github.com/llvm/llvm-project/commit/0b84d72c520993c631bc8b4e8ed4f2153213c6b1
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/csky-toolchain.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-ld.c
M clang/test/Driver/loongarch-toolchain.c
M clang/test/Driver/mips-cs.cpp
M clang/test/Driver/mips-fsf.cpp
M clang/test/Driver/mips-img-v2.cpp
M clang/test/Driver/mips-img.cpp
M clang/test/Driver/mips-mti.cpp
Log Message:
-----------
[Driver] Replace /usr/lib/../$OSLibDir with /usr/$OSLibDir (#128428)
The latter is simpler and generalizes the OpenEmbedded special case
introduced in https://reviews.llvm.org/D48862
(they have /usr/lib64 but not /usr/lib)
Commit: 78bac7f0a6757880b9d43e0e3030ff4c0f669bc4
https://github.com/llvm/llvm-project/commit/78bac7f0a6757880b9d43e0e3030ff4c0f669bc4
Author: Fangrui Song <i at maskray.me>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
Log Message:
-----------
[MC] Remove unneeded getMemtagAttr()
Commit: 14f33c6bc130495f591cebc8133089dff7a3e665
https://github.com/llvm/llvm-project/commit/14f33c6bc130495f591cebc8133089dff7a3e665
Author: Dmitry Nechitaev <nechda6 at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
A llvm/test/tools/llvm-objcopy/MachO/Inputs/macho_sections.s
A llvm/test/tools/llvm-objcopy/MachO/update-section-object.test
M llvm/test/tools/llvm-objcopy/MachO/update-section.test
Log Message:
-----------
[llvm-objcopy][mach-o] Fix section finding logic for object files (#127604)
Fix section finding logic for object files.
As by product, make --update-section functional when the input is an object file.
This PR fixes #127495
Commit: 40b0619a53231eafaa879d085b7a7a10441c7f34
https://github.com/llvm/llvm-project/commit/40b0619a53231eafaa879d085b7a7a10441c7f34
Author: Vincent Lee <leevince at meta.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
M clang/test/Driver/fat-lto-objects.c
Log Message:
-----------
[FatLTO] Detect LLD linker more reliably (#128285)
It's possible to have an `ld-path` point to a linker that doesn't have
the `ld.lld` filename (e.g. linker wrapper that may emit telemetry
before invoking the linker). This was causing mis-compilations with
fatLTO since the check couldn't reliably detect that it was using lld.
Instead, rely on the value from `-fuse-ld` to determine whether lld is
enabled.
Commit: 03610af3d58d82a958bf65903c4cbda258f121cb
https://github.com/llvm/llvm-project/commit/03610af3d58d82a958bf65903c4cbda258f121cb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
Log Message:
-----------
[RISCV] Remove Inst bits from Pseudo tablegen class. NFC
Pseudods shouldn't have encoding information so these bits should
never be used.
Commit: 1794dfbb0fcc549aff99764ea11309532e5553d1
https://github.com/llvm/llvm-project/commit/1794dfbb0fcc549aff99764ea11309532e5553d1
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
Log Message:
-----------
[mlir] Fix integration test when `%host_cc` path contains spaces (#128439)
Commit: 4d928d5b5858de18f47f68c0d309dafd24cea875
https://github.com/llvm/llvm-project/commit/4d928d5b5858de18f47f68c0d309dafd24cea875
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-02-23 (Sun, 23 Feb 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] stat api interception. (#128430)
Commit: af42b1142a54a9c010b70515cd5c6fff0f34dd9c
https://github.com/llvm/llvm-project/commit/af42b1142a54a9c010b70515cd5c6fff0f34dd9c
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M .ci/metrics/metrics.py
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container-windows.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.py
M .github/workflows/release-binaries.yml
M .mailmap
M bolt/CMakeLists.txt
M bolt/include/bolt/Core/Linker.h
A bolt/include/bolt/Core/TargetConfig.def.in
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/Inliner.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/JITLinkLinker.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/RuntimeLibs/HugifyRuntimeLibrary.cpp
M bolt/lib/RuntimeLibs/InstrumentationRuntimeLibrary.cpp
M bolt/test/AArch64/data-in-code.s
M bolt/test/X86/callcont-fallthru.s
A bolt/test/X86/skip-inline.s
M bolt/test/link_fdata.py
M bolt/tools/binary-analysis/CMakeLists.txt
M bolt/tools/binary-analysis/binary-analysis.cpp
M bolt/tools/driver/CMakeLists.txt
M bolt/tools/driver/llvm-bolt.cpp
M bolt/tools/heatmap/CMakeLists.txt
M bolt/tools/heatmap/heatmap.cpp
M bolt/tools/llvm-bolt-fuzzer/CMakeLists.txt
M bolt/tools/llvm-bolt-fuzzer/llvm-bolt-fuzzer.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M bolt/unittests/Core/MemoryMaps.cpp
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.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/modernize/DeprecatedHeadersCheck.cpp
M clang-tools-extra/clang-tidy/readability/NonConstParameterCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExceptionSpecAnalyzer.cpp
M clang-tools-extra/clangd/ClangdServer.h
M clang-tools-extra/clangd/CollectMacros.cpp
M clang-tools-extra/clangd/CollectMacros.h
M clang-tools-extra/clangd/Compiler.h
M clang-tools-extra/clangd/XRefs.cpp
M clang-tools-extra/clangd/index/SymbolCollector.cpp
M clang-tools-extra/clangd/unittests/ASTTests.cpp
M clang-tools-extra/clangd/unittests/FindSymbolsTests.cpp
M clang-tools-extra/clangd/unittests/ParsedASTTests.cpp
M clang-tools-extra/clangd/unittests/QualityTests.cpp
M clang-tools-extra/clangd/unittests/RenameTests.cpp
M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
M clang-tools-extra/clangd/unittests/SemanticSelectionTests.cpp
M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
M clang-tools-extra/clangd/unittests/SymbolInfoTests.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExpandDeducedTypeTests.cpp
M clang-tools-extra/clangd/unittests/tweaks/ExtractVariableTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/implicit-widening-of-multiplication-result.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/err33-c.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/const-correctness.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/test/clang-tidy/checkers/abseil/Inputs/absl/strings/internal-file.h
M clang-tools-extra/test/clang-tidy/checkers/boost/use-to-string.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/chained-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-coro.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape-rethrow.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/exception-escape.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/fold-init-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/inc-dec-in-conditions-bitint-no-crash.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/spuriously-wake-up-functions.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/stringview-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/suspicious-string-compare.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/default-arguments-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/fuchsia/multiple-inheritance.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/runtime-int-std.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
A clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-allowed-types.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.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-func.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/Inputs/use-auto/containers.h
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-c++20.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-c-arrays-ignores-three-arg-main.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-emplace.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header-fixed.h
M clang-tools-extra/test/clang-tidy/checkers/performance/Inputs/unnecessary-value-param/header.h
M clang-tools-extra/test/clang-tidy/checkers/performance/inefficient-string-concatenation.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-header.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style1/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/Inputs/identifier-naming/global-style2/header.h
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type-macros.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/identifier-naming.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/named-parameter.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.c
M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-declaration.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/static-accessed-through-instance.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/suspicious-call-argument.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
M clang/bindings/python/clang/cindex.py
M clang/cmake/caches/Release.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang-c/Index.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/OperationKinds.def
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Redeclarable.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TextNodeDumper.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Analysis/FlowSensitive/CachedConstAccessorsLattice.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/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/BuiltinsX86_64.td
M clang/include/clang/Basic/Cuda.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.def
M clang/include/clang/Basic/Module.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/FrontendAction/CIRGenAction.h
A clang/include/clang/CIR/TypeEvaluationKind.h
M clang/include/clang/CodeGen/CGFunctionInfo.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
A clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
A clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
M clang/include/module.modulemap
M clang/lib/AST/APValue.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Descriptor.h
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/DynamicAllocator.cpp
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/Opcodes.td
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTMerger.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/Analysis/LiveVariables.cpp
M clang/lib/Basic/Cuda.cpp
M clang/lib/Basic/Module.cpp
M clang/lib/Basic/OpenMPKinds.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/RISCV.cpp
M clang/lib/Basic/Targets/SystemZ.cpp
M clang/lib/Basic/Targets/X86.cpp
A clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.cpp
A clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/ABIInfo.cpp
M clang/lib/CodeGen/ABIInfo.h
M clang/lib/CodeGen/ABIInfoImpl.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTBAA.h
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/SwiftCallingConv.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/ARC.cpp
M clang/lib/CodeGen/Targets/ARM.cpp
M clang/lib/CodeGen/Targets/AVR.cpp
M clang/lib/CodeGen/Targets/BPF.cpp
M clang/lib/CodeGen/Targets/CSKY.cpp
M clang/lib/CodeGen/Targets/DirectX.cpp
M clang/lib/CodeGen/Targets/Hexagon.cpp
M clang/lib/CodeGen/Targets/Lanai.cpp
M clang/lib/CodeGen/Targets/LoongArch.cpp
M clang/lib/CodeGen/Targets/Mips.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/PNaCl.cpp
M clang/lib/CodeGen/Targets/PPC.cpp
M clang/lib/CodeGen/Targets/RISCV.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/Sparc.cpp
M clang/lib/CodeGen/Targets/SystemZ.cpp
M clang/lib/CodeGen/Targets/WebAssembly.cpp
M clang/lib/CodeGen/Targets/X86.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AMDGPUOpenMP.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/Cuda.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/TokenAnnotator.h
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/PrintPreprocessedOutput.cpp
M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
M clang/lib/Headers/CMakeLists.txt
M clang/lib/Headers/amdgpuintrin.h
M clang/lib/Headers/amxavx512intrin.h
M clang/lib/Headers/gpuintrin.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/intrin.h
M clang/lib/Headers/lzcntintrin.h
M clang/lib/Headers/nvptxintrin.h
M clang/lib/Headers/shaintrin.h
M clang/lib/Index/CMakeLists.txt
M clang/lib/Index/IndexBody.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Index/IndexingContext.cpp
M clang/lib/Index/IndexingContext.h
M clang/lib/Index/USRGeneration.cpp
M clang/lib/Lex/CMakeLists.txt
A clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/CheckExprLifetime.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAttr.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaDeclObjC.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ErrnoChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/PutenvStackArrayChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
M clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/test/AST/ByteCode/cxx20.cpp
M clang/test/AST/ByteCode/cxx2a.cpp
A clang/test/AST/ByteCode/libcxx/allocate-arrays.cpp
A clang/test/AST/ByteCode/libcxx/global-decl-id.cpp
A clang/test/AST/ByteCode/libcxx/non-const-local-temporary.cpp
A clang/test/AST/ByteCode/libcxx/primitive-temporary.cpp
M clang/test/AST/ByteCode/new-delete.cpp
M clang/test/AST/ByteCode/records.cpp
M clang/test/AST/HLSL/TypdefArrayParam.hlsl
M clang/test/AST/ast-dump-binding-pack.cpp
M clang/test/AST/ast-dump-ctad-alias.cpp
M clang/test/AST/ast-dump-cxx2b-deducing-this.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-fpfeatures.cpp
M clang/test/AST/const-fpfeatures.c
A clang/test/Analysis/Checkers/WebKit/call-args-loop-init-opaque-value.cpp
A clang/test/Analysis/Checkers/WebKit/unchecked-members-objc.mm
A clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures-decl-protects-this-crash.cpp
M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
A clang/test/Analysis/Checkers/WebKit/uncounted-members-objc.mm
M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
A clang/test/Analysis/Inputs/system-header-simulator-cxx-std-locks.h
R clang/test/Analysis/builtin_signbit.cpp
A clang/test/Analysis/issue-124474.cpp
M clang/test/Analysis/live-stmts.cpp
M clang/test/Analysis/out-of-bounds.c
M clang/test/Analysis/stack-addr-ps.cpp
M clang/test/Analysis/stackaddrleak.c
A clang/test/CIR/emit-actions.cpp
A clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
R clang/test/CIR/hello.c
M clang/test/CMakeLists.txt
M clang/test/CXX/drs/cwg0xx.cpp
M clang/test/CXX/drs/cwg158.cpp
M clang/test/CXX/drs/cwg4xx.cpp
M clang/test/CXX/temp/temp.arg/temp.arg.type/p2.cpp
M clang/test/CodeGen/AArch64/sincos.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-vector2.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
M clang/test/CodeGen/X86/amxavx512-builtins.c
A clang/test/CodeGen/X86/codemodel.cpp
M clang/test/CodeGen/X86/lzcnt-builtins.c
M clang/test/CodeGen/X86/math-builtins.c
M clang/test/CodeGen/X86/sha-builtins.c
M clang/test/CodeGen/aapcs-align.cpp
M clang/test/CodeGen/aapcs64-align.cpp
M clang/test/CodeGen/armv7k-abi.c
A clang/test/CodeGen/builtin-assume-dereferenceable.c
A clang/test/CodeGen/builtin_signbit.cpp
M clang/test/CodeGen/fat-lto-objects-cfi.cpp
A clang/test/CodeGen/hwasan-stack-safety-analysis-with-array-bounds.c
M clang/test/CodeGen/math-libcalls.c
M clang/test/CodeGen/partial-reinitialization2.c
M clang/test/CodeGen/pragma-fenv_access.c
M clang/test/CodeGen/sret.c
M clang/test/CodeGen/tbaa-pointers.c
M clang/test/CodeGenCUDA/amdgpu-atomic-ops.cu
A clang/test/CodeGenCUDA/increment-index-for-thunks.cu
A clang/test/CodeGenCUDA/redux-f32-builtins.cu
M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
M clang/test/CodeGenCXX/debug-info-template-parameter.cpp
M clang/test/CodeGenCXX/no-elide-constructors.cpp
M clang/test/CodeGenHIP/builtins-make-buffer-rsrc.hip
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/AggregateSplatCast.hlsl
A clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/basic-target.c
A clang/test/CodeGenHLSL/builtins/and.hlsl
R clang/test/CodeGenHLSL/cbuf.hlsl
R clang/test/CodeGenHLSL/cbuf_in_namespace.hlsl
A clang/test/CodeGenHLSL/cbuffer.hlsl
A clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
A clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
R clang/test/CodeGenHLSL/static_global_and_function_in_cb.hlsl
M clang/test/CodeGenObjC/constant-non-fragile-ivar-offset.m
M clang/test/CodeGenObjC/ivar-layout-64.m
M clang/test/CodeGenOpenCL/addr-space-struct-arg.cl
M clang/test/CodeGenOpenCL/amdgpu-abi-struct-arg-byref.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/atomics-cas-remarks-gfx90a.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-fp8.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx950-err.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gws-insts.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-make-buffer-rsrc.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-mfma.cl
R clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx940.cl
A clang/test/CodeGenOpenCL/builtins-fp-atomics-gfx942.cl
A clang/test/CodeGenOpenCL/implicit-addrspacecast-function-parameter.cl
A clang/test/Driver/Inputs/basic_cross_linux_tree/usr/x86_64-unknown-linux-gnu/bin/lld-wrapper
M clang/test/Driver/aarch64-mcpu.c
A clang/test/Driver/aix-rpath.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/amdgpu-openmp-toolchain.c
M clang/test/Driver/at_file_missing.c
M clang/test/Driver/cl-link.c
M clang/test/Driver/csky-toolchain.c
M clang/test/Driver/cuda-bad-arch.cu
M clang/test/Driver/experimental-library-flag.cpp
M clang/test/Driver/fat-lto-objects.c
M clang/test/Driver/freebsd.cpp
M clang/test/Driver/hip-macros.hip
M clang/test/Driver/linker-wrapper.c
M clang/test/Driver/linux-cross.cpp
M clang/test/Driver/linux-ld.c
M clang/test/Driver/loongarch-toolchain.c
M clang/test/Driver/mips-cs.cpp
M clang/test/Driver/mips-fsf.cpp
M clang/test/Driver/mips-img-v2.cpp
M clang/test/Driver/mips-img.cpp
M clang/test/Driver/mips-mti.cpp
M clang/test/Driver/openmp-offload.c
A clang/test/Driver/print-enabled-extensions/aarch64-grace.c
M clang/test/Driver/print-supported-cpus-aarch64.c
M clang/test/Driver/print-supported-extensions-riscv.c
A clang/test/Headers/no-xend.cpp
M clang/test/Index/Core/index-dependent-source.cpp
M clang/test/Index/comment-to-html-xml-conversion.cpp
A clang/test/Index/openmp-stripe.c
M clang/test/Lexer/cxx-features.cpp
M clang/test/Misc/target-invalid-cpu-note/aarch64.c
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/local-submodule-visibility-transitive-import.c
A clang/test/Modules/malformed-constraint-template-non-type-parm-decl.cpp
R clang/test/Modules/pr121245.cpp
A clang/test/Modules/pr127943.cppm
A clang/test/OpenMP/stripe_ast_print.cpp
A clang/test/OpenMP/stripe_codegen.cpp
A clang/test/OpenMP/stripe_messages.cpp
M clang/test/Parser/recovery.cpp
M clang/test/Preprocessor/embed_preprocess_to_file.c
A clang/test/Preprocessor/riscv-cf-protection-return.c
A clang/test/Preprocessor/zos-target.c
M clang/test/Sema/Inputs/lifetime-analysis.h
M clang/test/Sema/attr-model.cpp
M clang/test/Sema/bool-compare.c
A clang/test/Sema/gh106576.c
M clang/test/Sema/parentheses.cpp
A clang/test/Sema/pre-c2x-restrict-qualifier.c
A clang/test/Sema/restrict-qualifier.c
M clang/test/Sema/types.c
M clang/test/Sema/warn-lifetime-analysis-nocfg.cpp
M clang/test/SemaCXX/anonymous-struct.cpp
M clang/test/SemaCXX/bool-compare.cpp
M clang/test/SemaCXX/bool-increment-SFINAE.cpp
A clang/test/SemaCXX/builtin-assume-dereferenceable.cpp
A clang/test/SemaCXX/coroutine-noreturn.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2c-binding-pack.cpp
M clang/test/SemaCXX/cxx98-compat-flags.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/deprecated.cpp
M clang/test/SemaCXX/lambda-expressions.cpp
M clang/test/SemaCXX/undefined-internal.cpp
M clang/test/SemaCXX/unique_object_duplication.h
M clang/test/SemaHLSL/ArrayTemporary.hlsl
A clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCast-errors.hlsl
A clang/test/SemaHLSL/Language/AggregateSplatCasts.hlsl
A clang/test/SemaHLSL/Language/AssignArray.hlsl
M clang/test/SemaHLSL/Language/ElementwiseCast-errors.hlsl
A clang/test/SemaHLSL/Language/InitListAST.hlsl
A clang/test/SemaHLSL/Language/InitLists.hlsl
R clang/test/SemaOpenCL/builtins-amdgcn-error-gfx940-param.cl
A clang/test/SemaOpenCL/builtins-amdgcn-error-gfx942-param.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx950.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx940-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
M clang/test/SemaTemplate/recovery-crash.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/test/SemaTemplate/typo-dependent-name.cpp
M clang/test/SemaTemplate/typo-template-name.cpp
M clang/test/lit.site.cfg.py.in
M clang/tools/c-index-test/c-index-test.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-linker-wrapper/LinkerWrapperOpts.td
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/driver/CMakeLists.txt
M clang/tools/libclang/CIndex.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/Analysis/FlowSensitive/CachedConstAccessorsLatticeTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestObjC.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Interpreter/InterpreterTest.cpp
M clang/unittests/Lex/CMakeLists.txt
A clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Tooling/DependencyScanning/DependencyScannerTest.cpp
M clang/utils/perf-training/CMakeLists.txt
M clang/utils/perf-training/lit.cfg
M clang/utils/perf-training/lit.site.cfg.in
M clang/www/OpenProjects.html
M clang/www/cxx_status.html
M compiler-rt/include/fuzzer/FuzzedDataProvider.h
M compiler-rt/lib/asan/tests/asan_test.cpp
M compiler-rt/lib/builtins/arm/negdf2vfp.S
M compiler-rt/lib/profile/InstrProfilingFile.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_platform_limits_posix.h
M compiler-rt/test/hwasan/TestCases/libc_thread_freeres.c
A compiler-rt/test/orc/TestCases/Generic/Inputs/bar-ret-void-weak.ll
A compiler-rt/test/orc/TestCases/Generic/Inputs/baz-ret-void-hidden.ll
M compiler-rt/test/orc/TestCases/Generic/lazy-link.ll
M compiler-rt/test/sanitizer_common/TestCases/Posix/getpass.cpp
M compiler-rt/test/ubsan/TestCases/Misc/Posix/diag-stacktrace.cpp
M compiler-rt/test/ubsan/TestCases/Misc/missing_return.cpp
A flang-rt/.clang-format
A flang-rt/.clang-tidy
A flang-rt/CMakeLists.txt
A flang-rt/CODE_OWNERS.TXT
A flang-rt/LICENSE.TXT
A flang-rt/README.md
A flang-rt/cmake/config.h.cmake.in
A flang-rt/cmake/modules/AddFlangRT.cmake
A flang-rt/cmake/modules/AddFlangRTOffload.cmake
A flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang-rt/examples/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/CMakeLists.txt
A flang-rt/examples/ExternalHelloWorld/external-hello.cpp
A flang-rt/include/flang-rt/runtime/allocator-registry.h
A flang-rt/include/flang-rt/runtime/array-constructor.h
A flang-rt/include/flang-rt/runtime/assign-impl.h
A flang-rt/include/flang-rt/runtime/buffer.h
A flang-rt/include/flang-rt/runtime/connection.h
A flang-rt/include/flang-rt/runtime/derived.h
A flang-rt/include/flang-rt/runtime/descriptor.h
A flang-rt/include/flang-rt/runtime/emit-encoded.h
A flang-rt/include/flang-rt/runtime/environment.h
A flang-rt/include/flang-rt/runtime/file.h
A flang-rt/include/flang-rt/runtime/format-implementation.h
A flang-rt/include/flang-rt/runtime/format.h
A flang-rt/include/flang-rt/runtime/internal-unit.h
A flang-rt/include/flang-rt/runtime/io-error.h
A flang-rt/include/flang-rt/runtime/io-stmt.h
A flang-rt/include/flang-rt/runtime/lock.h
A flang-rt/include/flang-rt/runtime/memory.h
A flang-rt/include/flang-rt/runtime/namelist.h
A flang-rt/include/flang-rt/runtime/non-tbp-dio.h
A flang-rt/include/flang-rt/runtime/numeric-templates.h
A flang-rt/include/flang-rt/runtime/random-templates.h
A flang-rt/include/flang-rt/runtime/reduction-templates.h
A flang-rt/include/flang-rt/runtime/stat.h
A flang-rt/include/flang-rt/runtime/terminator.h
A flang-rt/include/flang-rt/runtime/tools.h
A flang-rt/include/flang-rt/runtime/type-code.h
A flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/utf.h
A flang-rt/lib/CMakeLists.txt
A flang-rt/lib/Testing/CMakeLists.txt
A flang-rt/lib/cuda/CMakeLists.txt
A flang-rt/lib/cuda/allocatable.cpp
A flang-rt/lib/cuda/allocator.cpp
A flang-rt/lib/cuda/descriptor.cpp
A flang-rt/lib/cuda/init.cpp
A flang-rt/lib/cuda/kernel.cpp
A flang-rt/lib/cuda/memmove-function.cpp
A flang-rt/lib/cuda/memory.cpp
A flang-rt/lib/cuda/pointer.cpp
A flang-rt/lib/cuda/registration.cpp
A flang-rt/lib/quadmath/CMakeLists.txt
A flang-rt/lib/quadmath/acos.cpp
A flang-rt/lib/quadmath/acosh.cpp
A flang-rt/lib/quadmath/asin.cpp
A flang-rt/lib/quadmath/asinh.cpp
A flang-rt/lib/quadmath/atan.cpp
A flang-rt/lib/quadmath/atan2.cpp
A flang-rt/lib/quadmath/atanh.cpp
A flang-rt/lib/quadmath/ceil.cpp
A flang-rt/lib/quadmath/complex-math.c
A flang-rt/lib/quadmath/complex-math.h
A flang-rt/lib/quadmath/cos.cpp
A flang-rt/lib/quadmath/cosh.cpp
A flang-rt/lib/quadmath/erf.cpp
A flang-rt/lib/quadmath/erfc.cpp
A flang-rt/lib/quadmath/exp.cpp
A flang-rt/lib/quadmath/exponent.cpp
A flang-rt/lib/quadmath/floor.cpp
A flang-rt/lib/quadmath/fma.cpp
A flang-rt/lib/quadmath/fraction.cpp
A flang-rt/lib/quadmath/hypot.cpp
A flang-rt/lib/quadmath/j0.cpp
A flang-rt/lib/quadmath/j1.cpp
A flang-rt/lib/quadmath/jn.cpp
A flang-rt/lib/quadmath/lgamma.cpp
A flang-rt/lib/quadmath/llround.cpp
A flang-rt/lib/quadmath/log.cpp
A flang-rt/lib/quadmath/log10.cpp
A flang-rt/lib/quadmath/lround.cpp
A flang-rt/lib/quadmath/math-entries.h
A flang-rt/lib/quadmath/mod-real.cpp
A flang-rt/lib/quadmath/modulo-real.cpp
A flang-rt/lib/quadmath/nearbyint.cpp
A flang-rt/lib/quadmath/nearest.cpp
A flang-rt/lib/quadmath/norm2.cpp
A flang-rt/lib/quadmath/numeric-template-specs.h
A flang-rt/lib/quadmath/pow.cpp
A flang-rt/lib/quadmath/random.cpp
A flang-rt/lib/quadmath/remainder.cpp
A flang-rt/lib/quadmath/round.cpp
A flang-rt/lib/quadmath/rrspacing.cpp
A flang-rt/lib/quadmath/scale.cpp
A flang-rt/lib/quadmath/set-exponent.cpp
A flang-rt/lib/quadmath/sin.cpp
A flang-rt/lib/quadmath/sinh.cpp
A flang-rt/lib/quadmath/spacing.cpp
A flang-rt/lib/quadmath/sqrt.cpp
A flang-rt/lib/quadmath/tan.cpp
A flang-rt/lib/quadmath/tanh.cpp
A flang-rt/lib/quadmath/tgamma.cpp
A flang-rt/lib/quadmath/trunc.cpp
A flang-rt/lib/quadmath/y0.cpp
A flang-rt/lib/quadmath/y1.cpp
A flang-rt/lib/quadmath/yn.cpp
A flang-rt/lib/runtime/CMakeLists.txt
A flang-rt/lib/runtime/ISO_Fortran_binding.cpp
A flang-rt/lib/runtime/ISO_Fortran_util.h
A flang-rt/lib/runtime/allocatable.cpp
A flang-rt/lib/runtime/allocator-registry.cpp
A flang-rt/lib/runtime/array-constructor.cpp
A flang-rt/lib/runtime/assign.cpp
A flang-rt/lib/runtime/buffer.cpp
A flang-rt/lib/runtime/character.cpp
A flang-rt/lib/runtime/command.cpp
A flang-rt/lib/runtime/complex-powi.cpp
A flang-rt/lib/runtime/complex-reduction.c
A flang-rt/lib/runtime/complex-reduction.h
A flang-rt/lib/runtime/connection.cpp
A flang-rt/lib/runtime/copy.cpp
A flang-rt/lib/runtime/copy.h
A flang-rt/lib/runtime/derived-api.cpp
A flang-rt/lib/runtime/derived.cpp
A flang-rt/lib/runtime/descriptor-io.cpp
A flang-rt/lib/runtime/descriptor-io.h
A flang-rt/lib/runtime/descriptor.cpp
A flang-rt/lib/runtime/dot-product.cpp
A flang-rt/lib/runtime/edit-input.cpp
A flang-rt/lib/runtime/edit-input.h
A flang-rt/lib/runtime/edit-output.cpp
A flang-rt/lib/runtime/edit-output.h
A flang-rt/lib/runtime/environment-default-list.h
A flang-rt/lib/runtime/environment.cpp
A flang-rt/lib/runtime/exceptions.cpp
A flang-rt/lib/runtime/execute.cpp
A flang-rt/lib/runtime/extensions.cpp
A flang-rt/lib/runtime/external-unit.cpp
A flang-rt/lib/runtime/extrema.cpp
A flang-rt/lib/runtime/file.cpp
A flang-rt/lib/runtime/findloc.cpp
A flang-rt/lib/runtime/format.cpp
A flang-rt/lib/runtime/inquiry.cpp
A flang-rt/lib/runtime/internal-unit.cpp
A flang-rt/lib/runtime/io-api-common.h
A flang-rt/lib/runtime/io-api-minimal.cpp
A flang-rt/lib/runtime/io-api.cpp
A flang-rt/lib/runtime/io-error.cpp
A flang-rt/lib/runtime/io-stmt.cpp
A flang-rt/lib/runtime/iostat.cpp
A flang-rt/lib/runtime/main.cpp
A flang-rt/lib/runtime/matmul-transpose.cpp
A flang-rt/lib/runtime/matmul.cpp
A flang-rt/lib/runtime/memory.cpp
A flang-rt/lib/runtime/misc-intrinsic.cpp
A flang-rt/lib/runtime/namelist.cpp
A flang-rt/lib/runtime/non-tbp-dio.cpp
A flang-rt/lib/runtime/numeric.cpp
A flang-rt/lib/runtime/pointer.cpp
A flang-rt/lib/runtime/product.cpp
A flang-rt/lib/runtime/pseudo-unit.cpp
A flang-rt/lib/runtime/ragged.cpp
A flang-rt/lib/runtime/random.cpp
A flang-rt/lib/runtime/reduce.cpp
A flang-rt/lib/runtime/reduction.cpp
A flang-rt/lib/runtime/stack.h
A flang-rt/lib/runtime/stat.cpp
A flang-rt/lib/runtime/stop.cpp
A flang-rt/lib/runtime/sum.cpp
A flang-rt/lib/runtime/support.cpp
A flang-rt/lib/runtime/temporary-stack.cpp
A flang-rt/lib/runtime/terminator.cpp
A flang-rt/lib/runtime/time-intrinsic.cpp
A flang-rt/lib/runtime/tools.cpp
A flang-rt/lib/runtime/transformational.cpp
A flang-rt/lib/runtime/type-code.cpp
A flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/unit-map.cpp
A flang-rt/lib/runtime/unit-map.h
A flang-rt/lib/runtime/unit.cpp
A flang-rt/lib/runtime/unit.h
A flang-rt/lib/runtime/utf.cpp
A flang-rt/test/CMakeLists.txt
A flang-rt/test/Driver/ctofortran.f90
A flang-rt/test/Driver/exec.f90
A flang-rt/test/NonGtestUnit/lit.cfg.py
A flang-rt/test/NonGtestUnit/lit.site.cfg.py.in
A flang-rt/test/Runtime/no-cpp-dep.c
A flang-rt/test/Unit/lit.cfg.py
A flang-rt/test/Unit/lit.site.cfg.py.in
A flang-rt/test/lit.cfg.py
A flang-rt/test/lit.site.cfg.py.in
A flang-rt/unittests/CMakeLists.txt
A flang-rt/unittests/Evaluate/CMakeLists.txt
A flang-rt/unittests/Evaluate/ISO-Fortran-binding.cpp
A flang-rt/unittests/Evaluate/reshape.cpp
A flang-rt/unittests/Runtime/AccessTest.cpp
A flang-rt/unittests/Runtime/Allocatable.cpp
A flang-rt/unittests/Runtime/ArrayConstructor.cpp
A flang-rt/unittests/Runtime/BufferTest.cpp
A flang-rt/unittests/Runtime/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Allocatable.cpp
A flang-rt/unittests/Runtime/CUDA/AllocatorCUF.cpp
A flang-rt/unittests/Runtime/CUDA/CMakeLists.txt
A flang-rt/unittests/Runtime/CUDA/Memory.cpp
A flang-rt/unittests/Runtime/CharacterTest.cpp
A flang-rt/unittests/Runtime/CommandTest.cpp
A flang-rt/unittests/Runtime/Complex.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.cpp
A flang-rt/unittests/Runtime/CrashHandlerFixture.h
A flang-rt/unittests/Runtime/Derived.cpp
A flang-rt/unittests/Runtime/ExternalIOTest.cpp
A flang-rt/unittests/Runtime/Format.cpp
A flang-rt/unittests/Runtime/Inquiry.cpp
A flang-rt/unittests/Runtime/ListInputTest.cpp
A flang-rt/unittests/Runtime/LogicalFormatTest.cpp
A flang-rt/unittests/Runtime/Matmul.cpp
A flang-rt/unittests/Runtime/MatmulTranspose.cpp
A flang-rt/unittests/Runtime/MiscIntrinsic.cpp
A flang-rt/unittests/Runtime/Namelist.cpp
A flang-rt/unittests/Runtime/Numeric.cpp
A flang-rt/unittests/Runtime/NumericalFormatTest.cpp
A flang-rt/unittests/Runtime/Pointer.cpp
A flang-rt/unittests/Runtime/Ragged.cpp
A flang-rt/unittests/Runtime/Random.cpp
A flang-rt/unittests/Runtime/Reduction.cpp
A flang-rt/unittests/Runtime/RuntimeCrashTest.cpp
A flang-rt/unittests/Runtime/Stop.cpp
A flang-rt/unittests/Runtime/Support.cpp
A flang-rt/unittests/Runtime/TemporaryStack.cpp
A flang-rt/unittests/Runtime/Time.cpp
A flang-rt/unittests/Runtime/Transformational.cpp
A flang-rt/unittests/Runtime/tools.h
M flang/CMakeLists.txt
M flang/cmake/modules/AddFlang.cmake
M flang/cmake/modules/AddFlangOffloadRuntime.cmake
A flang/cmake/modules/FlangCommon.cmake
M flang/docs/Directives.md
M flang/docs/GettingStarted.md
M flang/docs/ReleaseNotes.md
M flang/examples/ExternalHelloWorld/CMakeLists.txt
R flang/examples/ExternalHelloWorld/external-hello.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/AbstractConverter.h
M flang/include/flang/Optimizer/Analysis/AliasAnalysis.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/allocatable.h
R flang/include/flang/Runtime/allocator-registry.h
R flang/include/flang/Runtime/array-constructor.h
M flang/include/flang/Runtime/descriptor-consts.h
R flang/include/flang/Runtime/descriptor.h
R flang/include/flang/Runtime/memory.h
M flang/include/flang/Runtime/pointer.h
R flang/include/flang/Runtime/type-code.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/LangOptions.h
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.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/Utils.cpp
M flang/lib/Lower/OpenMP/Utils.h
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
M flang/lib/Optimizer/Analysis/CMakeLists.txt
M flang/lib/Optimizer/Builder/CMakeLists.txt
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/Target.cpp
M flang/lib/Optimizer/Dialect/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/Attributes/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CMakeLists.txt
M flang/lib/Optimizer/Dialect/CUF/CUFOps.cpp
M flang/lib/Optimizer/Dialect/Support/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/IR/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/OpenACC/CMakeLists.txt
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
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/Support/CMakeLists.txt
M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/io-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-cuda.cpp
M flang/lib/Semantics/check-io.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/module/__cuda_device.f90
M flang/module/cudadevice.f90
M flang/runtime/CMakeLists.txt
M flang/runtime/CUDA/CMakeLists.txt
R flang/runtime/CUDA/allocatable.cpp
R flang/runtime/CUDA/allocator.cpp
R flang/runtime/CUDA/descriptor.cpp
R flang/runtime/CUDA/init.cpp
R flang/runtime/CUDA/kernel.cpp
R flang/runtime/CUDA/memmove-function.cpp
R flang/runtime/CUDA/memory.cpp
R flang/runtime/CUDA/pointer.cpp
R flang/runtime/CUDA/registration.cpp
M flang/runtime/Float128Math/CMakeLists.txt
R flang/runtime/Float128Math/acos.cpp
R flang/runtime/Float128Math/acosh.cpp
R flang/runtime/Float128Math/asin.cpp
R flang/runtime/Float128Math/asinh.cpp
R flang/runtime/Float128Math/atan.cpp
R flang/runtime/Float128Math/atan2.cpp
R flang/runtime/Float128Math/atanh.cpp
R flang/runtime/Float128Math/ceil.cpp
R flang/runtime/Float128Math/complex-math.c
R flang/runtime/Float128Math/complex-math.h
R flang/runtime/Float128Math/cos.cpp
R flang/runtime/Float128Math/cosh.cpp
R flang/runtime/Float128Math/erf.cpp
R flang/runtime/Float128Math/erfc.cpp
R flang/runtime/Float128Math/exp.cpp
R flang/runtime/Float128Math/exponent.cpp
R flang/runtime/Float128Math/floor.cpp
R flang/runtime/Float128Math/fma.cpp
R flang/runtime/Float128Math/fraction.cpp
R flang/runtime/Float128Math/hypot.cpp
R flang/runtime/Float128Math/j0.cpp
R flang/runtime/Float128Math/j1.cpp
R flang/runtime/Float128Math/jn.cpp
R flang/runtime/Float128Math/lgamma.cpp
R flang/runtime/Float128Math/llround.cpp
R flang/runtime/Float128Math/log.cpp
R flang/runtime/Float128Math/log10.cpp
R flang/runtime/Float128Math/lround.cpp
R flang/runtime/Float128Math/math-entries.h
R flang/runtime/Float128Math/mod-real.cpp
R flang/runtime/Float128Math/modulo-real.cpp
R flang/runtime/Float128Math/nearbyint.cpp
R flang/runtime/Float128Math/nearest.cpp
R flang/runtime/Float128Math/norm2.cpp
R flang/runtime/Float128Math/numeric-template-specs.h
R flang/runtime/Float128Math/pow.cpp
R flang/runtime/Float128Math/random.cpp
R flang/runtime/Float128Math/remainder.cpp
R flang/runtime/Float128Math/round.cpp
R flang/runtime/Float128Math/rrspacing.cpp
R flang/runtime/Float128Math/scale.cpp
R flang/runtime/Float128Math/set-exponent.cpp
R flang/runtime/Float128Math/sin.cpp
R flang/runtime/Float128Math/sinh.cpp
R flang/runtime/Float128Math/spacing.cpp
R flang/runtime/Float128Math/sqrt.cpp
R flang/runtime/Float128Math/tan.cpp
R flang/runtime/Float128Math/tanh.cpp
R flang/runtime/Float128Math/tgamma.cpp
R flang/runtime/Float128Math/trunc.cpp
R flang/runtime/Float128Math/y0.cpp
R flang/runtime/Float128Math/y1.cpp
R flang/runtime/Float128Math/yn.cpp
R flang/runtime/ISO_Fortran_binding.cpp
R flang/runtime/ISO_Fortran_util.h
R flang/runtime/allocatable.cpp
R flang/runtime/allocator-registry.cpp
R flang/runtime/array-constructor.cpp
R flang/runtime/assign-impl.h
R flang/runtime/assign.cpp
R flang/runtime/buffer.cpp
R flang/runtime/buffer.h
R flang/runtime/character.cpp
R flang/runtime/command.cpp
R flang/runtime/complex-powi.cpp
R flang/runtime/complex-reduction.c
R flang/runtime/complex-reduction.h
R flang/runtime/config.h.cmake
R flang/runtime/connection.cpp
R flang/runtime/connection.h
R flang/runtime/copy.cpp
R flang/runtime/copy.h
R flang/runtime/derived-api.cpp
R flang/runtime/derived.cpp
R flang/runtime/derived.h
R flang/runtime/descriptor-io.cpp
R flang/runtime/descriptor-io.h
R flang/runtime/descriptor.cpp
R flang/runtime/dot-product.cpp
R flang/runtime/edit-input.cpp
R flang/runtime/edit-input.h
R flang/runtime/edit-output.cpp
R flang/runtime/edit-output.h
R flang/runtime/emit-encoded.h
R flang/runtime/environment-default-list.h
R flang/runtime/environment.cpp
R flang/runtime/environment.h
R flang/runtime/exceptions.cpp
R flang/runtime/execute.cpp
R flang/runtime/extensions.cpp
R flang/runtime/external-unit.cpp
R flang/runtime/extrema.cpp
R flang/runtime/file.cpp
R flang/runtime/file.h
R flang/runtime/findloc.cpp
R flang/runtime/format-implementation.h
R flang/runtime/format.cpp
R flang/runtime/format.h
R flang/runtime/inquiry.cpp
R flang/runtime/internal-unit.cpp
R flang/runtime/internal-unit.h
R flang/runtime/io-api-common.h
R flang/runtime/io-api-minimal.cpp
R flang/runtime/io-api.cpp
R flang/runtime/io-error.cpp
R flang/runtime/io-error.h
R flang/runtime/io-stmt.cpp
R flang/runtime/io-stmt.h
R flang/runtime/iostat.cpp
R flang/runtime/lock.h
R flang/runtime/main.cpp
R flang/runtime/matmul-transpose.cpp
R flang/runtime/matmul.cpp
R flang/runtime/memory.cpp
R flang/runtime/misc-intrinsic.cpp
R flang/runtime/namelist.cpp
R flang/runtime/namelist.h
R flang/runtime/non-tbp-dio.cpp
R flang/runtime/non-tbp-dio.h
R flang/runtime/numeric-templates.h
R flang/runtime/numeric.cpp
R flang/runtime/pointer.cpp
R flang/runtime/product.cpp
R flang/runtime/pseudo-unit.cpp
R flang/runtime/ragged.cpp
R flang/runtime/random-templates.h
R flang/runtime/random.cpp
R flang/runtime/reduce.cpp
R flang/runtime/reduction-templates.h
R flang/runtime/reduction.cpp
R flang/runtime/stack.h
R flang/runtime/stat.cpp
R flang/runtime/stat.h
R flang/runtime/stop.cpp
R flang/runtime/sum.cpp
R flang/runtime/support.cpp
R flang/runtime/temporary-stack.cpp
R flang/runtime/terminator.cpp
R flang/runtime/terminator.h
R flang/runtime/time-intrinsic.cpp
R flang/runtime/tools.cpp
R flang/runtime/tools.h
R flang/runtime/transformational.cpp
R flang/runtime/type-code.cpp
R flang/runtime/type-info.cpp
R flang/runtime/type-info.h
R flang/runtime/unit-map.cpp
R flang/runtime/unit-map.h
R flang/runtime/unit.cpp
R flang/runtime/unit.h
R flang/runtime/utf.cpp
R flang/runtime/utf.h
M flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-alloca.fir
A flang/test/Analysis/AliasAnalysis/load-ptr-designate.fir
M flang/test/CMakeLists.txt
R flang/test/Driver/ctofortran.f90
R flang/test/Driver/exec.f90
A flang/test/Driver/mabi-riscv.f90
M flang/test/Driver/optimization-remark.f90
M flang/test/Fir/CUDA/cuda-data-transfer.fir
M flang/test/Fir/alloc.fir
M flang/test/Fir/arrexp.fir
M flang/test/Fir/box.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/embox.fir
M flang/test/Fir/ignore-missing-type-descriptor.fir
M flang/test/Fir/polymorphic.fir
M flang/test/Fir/rebox.fir
M flang/test/Fir/struct-passing-aarch64-byval.fir
M flang/test/Integration/OpenMP/map-types-and-sizes.f90
M flang/test/Integration/OpenMP/private-global.f90
M flang/test/Integration/unroll-loops.f90
A flang/test/Integration/unroll_and_jam.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
A flang/test/Lower/CUDA/cuda-doconc.cuf
M flang/test/Lower/HLFIR/unroll-loops.fir
M flang/test/Lower/Intrinsics/acosh.f90
M flang/test/Lower/Intrinsics/asin.f90
M flang/test/Lower/Intrinsics/asinh.f90
M flang/test/Lower/Intrinsics/atanh.f90
R flang/test/Lower/OpenMP/Todo/map-mapper.f90
R flang/test/Lower/OpenMP/Todo/omp-declare-mapper.f90
M flang/test/Lower/OpenMP/Todo/omp-declare-reduction.f90
M flang/test/Lower/OpenMP/atomic-update.f90
A flang/test/Lower/OpenMP/declare-mapper.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
A flang/test/Lower/OpenMP/different_vars_lastprivate_barrier.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/loop-directive.f90
A flang/test/Lower/OpenMP/map-mapper.f90
M flang/test/Lower/OpenMP/parallel-reduction-mixed.f90
M flang/test/Lower/OpenMP/threadprivate-hlfir.f90
A flang/test/Lower/RISCV/riscv-target-abi.f90
M flang/test/Lower/allocatable-polymorphic.f90
M flang/test/Lower/common-block.f90
M flang/test/Lower/forall/character-1.f90
M flang/test/Lower/real-descriptors.f90
A flang/test/Lower/unroll_and_jam.f90
A flang/test/Parser/OpenMP/declare-reduction-unparse.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/compiler-directives.f90
R flang/test/Runtime/no-cpp-dep.c
M flang/test/Semantics/OpenMP/declarative-directive01.f90
A flang/test/Semantics/OpenMP/declare-reduction.f90
M flang/test/Semantics/OpenMP/threadprivate02.f90
M flang/test/Semantics/cuf09.cuf
M flang/test/Semantics/io03.f90
M flang/test/Semantics/io04.f90
M flang/test/Semantics/unsigned-errors.f90
M flang/test/Transforms/generic-loop-rewriting-todo.mlir
M flang/test/Transforms/generic-loop-rewriting.mlir
M flang/test/lib/Analysis/AliasAnalysis/CMakeLists.txt
M flang/test/lib/OpenACC/CMakeLists.txt
M flang/test/lit.cfg.py
M flang/test/lit.site.cfg.py.in
M flang/unittests/CMakeLists.txt
R flang/unittests/Evaluate/ISO-Fortran-binding.cpp
R flang/unittests/Evaluate/reshape.cpp
M flang/unittests/Optimizer/CMakeLists.txt
R flang/unittests/Runtime/AccessTest.cpp
R flang/unittests/Runtime/Allocatable.cpp
R flang/unittests/Runtime/ArrayConstructor.cpp
R flang/unittests/Runtime/BufferTest.cpp
M flang/unittests/Runtime/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Allocatable.cpp
R flang/unittests/Runtime/CUDA/AllocatorCUF.cpp
M flang/unittests/Runtime/CUDA/CMakeLists.txt
R flang/unittests/Runtime/CUDA/Memory.cpp
R flang/unittests/Runtime/CharacterTest.cpp
R flang/unittests/Runtime/CommandTest.cpp
R flang/unittests/Runtime/Complex.cpp
R flang/unittests/Runtime/CrashHandlerFixture.cpp
R flang/unittests/Runtime/CrashHandlerFixture.h
R flang/unittests/Runtime/Derived.cpp
R flang/unittests/Runtime/ExternalIOTest.cpp
R flang/unittests/Runtime/Format.cpp
R flang/unittests/Runtime/Inquiry.cpp
R flang/unittests/Runtime/ListInputTest.cpp
R flang/unittests/Runtime/LogicalFormatTest.cpp
R flang/unittests/Runtime/Matmul.cpp
R flang/unittests/Runtime/MatmulTranspose.cpp
R flang/unittests/Runtime/MiscIntrinsic.cpp
R flang/unittests/Runtime/Namelist.cpp
R flang/unittests/Runtime/Numeric.cpp
R flang/unittests/Runtime/NumericalFormatTest.cpp
R flang/unittests/Runtime/Pointer.cpp
R flang/unittests/Runtime/Ragged.cpp
R flang/unittests/Runtime/Random.cpp
R flang/unittests/Runtime/Reduction.cpp
R flang/unittests/Runtime/RuntimeCrashTest.cpp
R flang/unittests/Runtime/Stop.cpp
R flang/unittests/Runtime/Support.cpp
R flang/unittests/Runtime/TemporaryStack.cpp
R flang/unittests/Runtime/Time.cpp
R flang/unittests/Runtime/Transformational.cpp
R flang/unittests/Runtime/tools.h
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/aarch64/headers.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/arm/headers.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/baremetal/riscv/headers.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/dev/undefined_behavior.rst
M libc/docs/gpu/building.rst
M libc/docs/gpu/support.rst
M libc/docs/gpu/using.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/include/__llvm-libc-common.h
R libc/include/ctype.h.def
M libc/include/ctype.yaml
M libc/include/dlfcn.yaml
R libc/include/fenv.h.def
M libc/include/fenv.yaml
M libc/include/llvm-libc-macros/endian-macros.h
M libc/include/malloc.yaml
M libc/include/math.yaml
M libc/include/stdbit.yaml
A libc/include/stdlib-malloc.yaml
M libc/include/stdlib.yaml
M libc/include/time.yaml
M libc/include/unistd.yaml
M libc/src/__support/FPUtil/FMA.h
M libc/src/__support/FPUtil/multiply_add.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/big_int.h
M libc/src/math/CMakeLists.txt
A libc/src/math/acosf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/acosf16.cpp
M libc/src/math/generic/sqrtf128.cpp
M libc/src/stdio/scanf_core/CMakeLists.txt
R libc/src/stdio/scanf_core/reader.cpp
M libc/src/stdio/scanf_core/reader.h
M libc/src/stdio/scanf_core/vfscanf_internal.h
M libc/src/time/CMakeLists.txt
A libc/src/time/strftime.cpp
A libc/src/time/strftime.h
A libc/src/time/strftime_core/CMakeLists.txt
A libc/src/time/strftime_core/composite_converter.h
A libc/src/time/strftime_core/converter.cpp
A libc/src/time/strftime_core/converter.h
A libc/src/time/strftime_core/core_structs.h
A libc/src/time/strftime_core/num_converter.h
A libc/src/time/strftime_core/parser.h
A libc/src/time/strftime_core/str_converter.h
A libc/src/time/strftime_core/strftime_main.cpp
A libc/src/time/strftime_core/strftime_main.h
A libc/src/time/strftime_l.cpp
A libc/src/time/strftime_l.h
M libc/src/time/time_constants.h
M libc/src/unistd/CMakeLists.txt
A libc/src/unistd/getsid.h
M libc/src/unistd/linux/CMakeLists.txt
A libc/src/unistd/linux/getsid.cpp
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/HermeticTestUtils.cpp
M libc/test/UnitTest/LibcTest.h
M libc/test/integration/src/__support/GPU/CMakeLists.txt
A libc/test/integration/src/__support/GPU/match.cpp
M libc/test/integration/src/__support/GPU/scan_reduce.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/SqrtTest.h
A libc/test/src/math/acosf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/sqrtf128_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/SqrtTest.h
A libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/generic_sqrt_test.cpp
M libc/test/src/math/smoke/generic_sqrtf128_test.cpp
M libc/test/src/math/smoke/generic_sqrtf_test.cpp
M libc/test/src/math/smoke/generic_sqrtl_test.cpp
M libc/test/src/math/smoke/sqrt_test.cpp
M libc/test/src/math/smoke/sqrtf128_test.cpp
M libc/test/src/math/smoke/sqrtf16_test.cpp
M libc/test/src/math/smoke/sqrtf_test.cpp
M libc/test/src/math/smoke/sqrtl_test.cpp
M libc/test/src/stdio/scanf_core/CMakeLists.txt
M libc/test/src/time/CMakeLists.txt
A libc/test/src/time/strftime_test.cpp
M libc/test/src/unistd/CMakeLists.txt
A libc/test/src/unistd/getsid_test.cpp
M libc/utils/hdrgen/enumeration.py
M libc/utils/hdrgen/function.py
M libc/utils/hdrgen/gpu_headers.py
M libc/utils/hdrgen/header.py
M libc/utils/hdrgen/macro.py
M libc/utils/hdrgen/main.py
M libc/utils/hdrgen/object.py
A libc/utils/hdrgen/tests/expected_output/subdir/test.h
M libc/utils/hdrgen/tests/expected_output/test_header.h
A libc/utils/hdrgen/tests/expected_output/test_small.json
A libc/utils/hdrgen/tests/input/merge1.yaml
A libc/utils/hdrgen/tests/input/merge2.yaml
A libc/utils/hdrgen/tests/input/subdir/test.yaml
M libc/utils/hdrgen/tests/input/test_small.h.def
M libc/utils/hdrgen/tests/input/test_small.yaml
M libc/utils/hdrgen/tests/test_integration.py
M libc/utils/hdrgen/type.py
M libc/utils/hdrgen/yaml_to_classes.py
M libclc/CMakeLists.txt
M libclc/amdgcn/lib/cl_khr_int64_extended_atomics/minmax_helpers.ll
M libclc/clc/include/clc/clc_convert.h
M libclc/clc/include/clc/integer/gentype.inc
A libclc/clc/include/clc/math/clc_frexp.h
A libclc/clc/include/clc/math/clc_modf.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/unary_decl_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_decl_with_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_int_ptr.inc
A libclc/clc/include/clc/math/unary_def_with_ptr.inc
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/lib/generic/SOURCES
M libclc/clc/lib/generic/integer/clc_mad_sat.cl
M libclc/clc/lib/generic/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/integer/clc_rotate.inc
M libclc/clc/lib/generic/integer/clc_upsample.cl
A libclc/clc/lib/generic/math/clc_frexp.cl
A libclc/clc/lib/generic/math/clc_frexp.inc
A libclc/clc/lib/generic/math/clc_modf.cl
A libclc/clc/lib/generic/math/clc_modf.inc
M libclc/clc/lib/generic/math/clc_nextafter.cl
M libclc/clspv/lib/shared/vstore_half.inc
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/math/modf.h
R libclc/generic/include/clc/math/modf.inc
M libclc/generic/include/clc/math/nan.h
M libclc/generic/include/clc/math/nan.inc
M libclc/generic/include/clc/relational/select.h
M libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/ep_log.cl
M libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/frexp.cl
R libclc/generic/lib/math/frexp.inc
M libclc/generic/lib/math/maxmag.inc
M libclc/generic/lib/math/modf.cl
R libclc/generic/lib/math/modf.inc
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
M libclc/generic/lib/shared/vload_half.inc
M libclc/generic/lib/shared/vstore_half.inc
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
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/cmake/caches/NVPTX.cmake
M libcxx/docs/CodingGuidelines.rst
M libcxx/docs/DesignDocs/ExperimentalFeatures.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx17Issues.csv
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/Status/FormatPaper.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__algorithm/ranges_iterator_concept.h
M libcxx/include/__algorithm/stable_sort.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__bit_reference
M libcxx/include/__chrono/convert_to_tm.h
M libcxx/include/__chrono/formatter.h
A libcxx/include/__chrono/gps_clock.h
M libcxx/include/__chrono/ostream.h
M libcxx/include/__chrono/time_zone.h
M libcxx/include/__compare/common_comparison_category.h
M libcxx/include/__condition_variable/condition_variable.h
M libcxx/include/__config
M libcxx/include/__configuration/platform.h
M libcxx/include/__filesystem/directory_entry.h
M libcxx/include/__filesystem/path.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__format/formatter.h
M libcxx/include/__functional/function.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
M libcxx/include/__locale_dir/support/no_locale/characters.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/__mbstate_t.h
M libcxx/include/__memory/allocator.h
M libcxx/include/__memory/shared_ptr.h
M libcxx/include/__memory/unique_ptr.h
M libcxx/include/__memory_resource/polymorphic_allocator.h
M libcxx/include/__mutex/unique_lock.h
M libcxx/include/__ostream/basic_ostream.h
M libcxx/include/__random/clamp_to_integral.h
M libcxx/include/__ranges/elements_view.h
M libcxx/include/__ranges/zip_view.h
M libcxx/include/__string/extern_template_lists.h
M libcxx/include/__thread/thread.h
M libcxx/include/__type_traits/is_nothrow_convertible.h
M libcxx/include/__variant/monostate.h
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/any
M libcxx/include/array
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/experimental/__simd/utility.h
M libcxx/include/fstream
M libcxx/include/future
M libcxx/include/locale
M libcxx/include/map
M libcxx/include/module.modulemap
M libcxx/include/optional
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/string
M libcxx/include/string_view
M libcxx/include/unordered_map
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/modules/std/chrono.inc
M libcxx/src/chrono.cpp
M libcxx/src/condition_variable.cpp
M libcxx/src/experimental/tzdb.cpp
M libcxx/src/filesystem/error.h
M libcxx/src/filesystem/filesystem_clock.cpp
M libcxx/src/future.cpp
M libcxx/src/hash.cpp
M libcxx/src/ios.cpp
M libcxx/src/iostream.cpp
M libcxx/src/locale.cpp
M libcxx/src/memory_resource.cpp
M libcxx/src/mutex.cpp
M libcxx/src/print.cpp
M libcxx/src/random.cpp
M libcxx/src/std_stream.h
M libcxx/src/string.cpp
M libcxx/src/thread.cpp
R libcxx/test/benchmarks/algorithms/copy.bench.cpp
R libcxx/test/benchmarks/algorithms/copy_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/fill.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_backward.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_if.bench.cpp
A libcxx/test/benchmarks/algorithms/modifying/copy_n.bench.cpp
A libcxx/test/benchmarks/algorithms/move.bench.cpp
A libcxx/test/benchmarks/algorithms/move_backward.bench.cpp
M libcxx/test/benchmarks/algorithms/ranges_contains.bench.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
M libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
M libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.from_utc.pass.cpp
A libcxx/test/libcxx/time/time.clock/time.clock.gps/time.clock.gps.members/assert.to_utc.pass.cpp
A libcxx/test/libcxx/xopen_source.gen.py
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/pstl.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.copy/ranges.copy_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/pstl.fill_n.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/pstl.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.move/ranges.move_backward.pass.cpp
M libcxx/test/std/atomics/types.pass.cpp
A libcxx/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/ios_Init.global.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/atomic.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/ostream.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/print.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
M libcxx/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
M libcxx/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/gps_time.ostream.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/from_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/now.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/time.clock.gps.members/to_utc.pass.cpp
A libcxx/test/std/time/time.clock/time.clock.gps/types.compile.pass.cpp
A libcxx/test/std/time/time.syn/formatter.gps_time.pass.cpp
M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/to_sys_choose.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset_test_cases.h
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.equivalence.compile.pass.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
A libcxx/test/std/utilities/variant/variant.hash/hash.depr.verify.cpp
M libcxx/test/support/increasing_allocator.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/test_container_comparisons.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
R libcxx/test/tools/clang_tidy_checks/qualify_declval.cpp
R libcxx/test/tools/clang_tidy_checks/qualify_declval.hpp
M libcxx/test/tools/clang_tidy_checks/robust_against_adl.cpp
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/dsl.py
M libunwind/src/CMakeLists.txt
M libunwind/src/Registers.hpp
M libunwind/src/Unwind-wasm.c
M libunwind/src/UnwindCursor.hpp
M libunwind/src/UnwindLevel1.c
R libunwind/src/cet_unwind.h
A libunwind/src/shadow_stack_unwind.h
M lld/CMakeLists.txt
M lld/COFF/Chunks.cpp
M lld/COFF/Chunks.h
M lld/COFF/Config.h
M lld/COFF/Driver.cpp
M lld/COFF/Driver.h
M lld/COFF/DriverUtils.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/COFF/Writer.cpp
M lld/COFF/Writer.h
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/BPSectionOrderer.cpp
M lld/ELF/Driver.cpp
M lld/ELF/OutputSections.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/MachO/Arch/ARM64.cpp
M lld/MachO/BPSectionOrderer.cpp
M lld/MachO/ICF.cpp
M lld/MachO/Target.h
M lld/cmake/modules/AddLLD.cmake
M lld/include/lld/Common/BPSectionOrdererBase.inc
A lld/test/COFF/arm64x-altnames.s
A lld/test/COFF/arm64x-buildid.s
A lld/test/COFF/arm64x-crt-sec.s
A lld/test/COFF/arm64x-ctors-sec.s
M lld/test/COFF/arm64x-symtab.s
M lld/test/COFF/pdata-arm64ec.test
A lld/test/ELF/aarch64-execute-only.s
M lld/test/ELF/aarch64-feature-gcs.s
M lld/test/ELF/aarch64-relocs.s
A lld/test/ELF/aarch64-thunk-bti-execute-only.s
A lld/test/ELF/aarch64-thunk-execute-only.s
M lld/test/ELF/allow-shlib-undefined-weak.s
M lld/test/ELF/allow-shlib-undefined.s
M lld/test/ELF/arm-cmse-diagnostics.s
A lld/test/ELF/arm-thumb-jump8-11.s
M lld/test/ELF/avr-reloc-error.s
M lld/test/ELF/bp-section-orderer.s
M lld/test/ELF/common-archive-lookup.s
M lld/test/ELF/duplicated-synthetic-sym.s
M lld/test/ELF/input-section-flags.s
M lld/test/ELF/linkerscript/discard-section.s
M lld/test/ELF/linkerscript/input-relative.s
M lld/test/ELF/linkerscript/locationcountererr-arm-exidx.test
M lld/test/ELF/loongarch-relax-align.s
M lld/test/ELF/loongarch-relax-emit-relocs.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12-got-symbols.s
A lld/test/ELF/loongarch-relax-pc-hi20-lo12.s
M lld/test/ELF/lto/archive-mixed.test
A lld/test/ELF/lto/arm-rtlibcall.ll
M lld/test/ELF/lto/devirt_vcall_vis_export_dynamic.ll
M lld/test/ELF/lto/obj-path.ll
M lld/test/ELF/lto/parallel.ll
M lld/test/ELF/non-abs-reloc.s
M lld/test/ELF/print-archive-stats.s
M lld/test/ELF/remap-inputs.test
M lld/test/ELF/reproduce-deplibs.s
M lld/test/ELF/reproduce-lto.s
M lld/test/ELF/riscv-attributes.s
M lld/test/ELF/unknown-section.test
M lld/test/ELF/why-extract.s
M lld/test/MachO/arm64-thunks.s
M lld/test/MachO/bp-section-orderer.s
M lld/test/MachO/export-options.s
M lld/test/wasm/data-segments.ll
A lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/Inputs/libcall-truncsfhf2.ll
A lld/test/wasm/lto/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-truncsfhf2.ll
M lld/wasm/OutputSections.cpp
M lld/wasm/Writer.cpp
M lldb/cmake/modules/FindCursesAndPanel.cmake
M lldb/docs/index.rst
M lldb/examples/synthetic/libcxx.py
M lldb/include/lldb/API/SBCommandReturnObject.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/API/SBType.h
M lldb/include/lldb/API/SBValue.h
M lldb/include/lldb/Breakpoint/BreakpointList.h
M lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h
M lldb/include/lldb/Breakpoint/BreakpointLocationList.h
M lldb/include/lldb/Breakpoint/WatchpointList.h
M lldb/include/lldb/Breakpoint/WatchpointResource.h
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/IOHandler.h
M lldb/include/lldb/Core/IOHandlerCursesGUI.h
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/ModuleSpec.h
M lldb/include/lldb/Core/StreamAsynchronousIO.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
M lldb/include/lldb/DataFormatters/VectorIterator.h
M lldb/include/lldb/Expression/DWARFExpressionList.h
M lldb/include/lldb/Host/Editline.h
M lldb/include/lldb/Host/File.h
M lldb/include/lldb/Host/StreamFile.h
M lldb/include/lldb/Host/common/NativeProcessProtocol.h
M lldb/include/lldb/Interpreter/CommandReturnObject.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/CompilerType.h
M lldb/include/lldb/Symbol/Function.h
M lldb/include/lldb/Symbol/LineTable.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolContext.h
M lldb/include/lldb/Symbol/TypeList.h
M lldb/include/lldb/Symbol/TypeMap.h
M lldb/include/lldb/Target/LanguageRuntime.h
M lldb/include/lldb/Target/QueueList.h
M lldb/include/lldb/Target/TargetList.h
M lldb/include/lldb/Target/Thread.h
M lldb/include/lldb/Target/ThreadCollection.h
M lldb/include/lldb/Target/ThreadPlanTracer.h
M lldb/include/lldb/Utility/Iterable.h
M lldb/include/lldb/Utility/RangeMap.h
M lldb/include/lldb/ValueObject/ValueObjectList.h
M lldb/include/lldb/lldb-forward.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
M lldb/source/API/SBCommandReturnObject.cpp
M lldb/source/API/SBDebugger.cpp
M lldb/source/API/SBType.cpp
M lldb/source/Breakpoint/BreakpointOptions.cpp
M lldb/source/Commands/CommandObjectBreakpointCommand.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectDWIMPrint.cpp
M lldb/source/Commands/CommandObjectExpression.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Commands/CommandObjectGUI.cpp
M lldb/source/Commands/CommandObjectLog.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectSource.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/CommandObjectThread.cpp
M lldb/source/Commands/CommandObjectType.cpp
M lldb/source/Commands/CommandObjectWatchpointCommand.cpp
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/IOHandler.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/StreamAsynchronousIO.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/DataFormatters/TypeSummary.cpp
M lldb/source/DataFormatters/VectorType.cpp
M lldb/source/Expression/REPL.cpp
M lldb/source/Host/common/Editline.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/LoongArch/ABISysV_loongarch.cpp
M lldb/source/Plugins/ABI/RISCV/ABISysV_riscv.cpp
M lldb/source/Plugins/Disassembler/LLVMC/DisassemblerLLVMC.cpp
M lldb/source/Plugins/DynamicLoader/Darwin-Kernel/DynamicLoaderDarwinKernel.cpp
M lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
M lldb/source/Plugins/InstrumentationRuntime/UBSan/InstrumentationRuntimeUBSan.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/ReportRetriever.cpp
M lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/GenericBitset.cpp
M lldb/source/Plugins/Language/CPlusPlus/GenericOptional.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxxAtomic.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxProxyArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxQueue.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxRangesRefView.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSliceArray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxSpan.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
M lldb/source/Plugins/Language/ObjC/NSArray.cpp
M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
M lldb/source/Plugins/Language/ObjC/NSError.cpp
M lldb/source/Plugins/Language/ObjC/NSException.cpp
M lldb/source/Plugins/Language/ObjC/NSSet.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
A lldb/source/Plugins/Platform/AIX/CMakeLists.txt
A lldb/source/Plugins/Platform/AIX/PlatformAIX.cpp
A lldb/source/Plugins/Platform/AIX/PlatformAIX.h
M lldb/source/Plugins/Platform/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwin.cpp
M lldb/source/Plugins/Process/MacOSX-Kernel/ProcessKDP.cpp
M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
M lldb/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.cpp
M lldb/source/Plugins/Process/mach-core/ProcessMachCore.h
M lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
M lldb/source/Plugins/Process/scripted/ScriptedThread.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/SymbolFile/Breakpad/SymbolFileBreakpad.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
M lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp
M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
M lldb/source/Symbol/Block.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/LineTable.cpp
M lldb/source/Symbol/SymbolContext.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Thread.cpp
M lldb/source/Target/ThreadPlanShouldStopHere.cpp
M lldb/source/Target/ThreadPlanTracer.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/ValueObjectList.cpp
M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
M lldb/test/API/commands/frame/var/TestFrameVar.py
M lldb/test/API/functionalities/breakpoint/consecutive_breakpoints/TestConsecutiveBreakpoints.py
M lldb/test/API/functionalities/breakpoint/step_over_breakpoint/TestStepOverBreakpoint.py
M lldb/test/API/functionalities/dead-strip/TestDeadStrip.py
M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
A lldb/test/API/functionalities/gdb_remote_client/basic_eh_frame-riscv64.yaml
M lldb/test/API/functionalities/postmortem/elf-core/TestLinuxCore.py
M lldb/test/API/functionalities/scripted_process/TestStackCoreScriptedProcess.py
M lldb/test/API/functionalities/scripted_process/stack_core_scripted_process.py
M lldb/test/API/functionalities/target_var/TestTargetVar.py
M lldb/test/API/functionalities/thread/step_until/TestStepUntil.py
M lldb/test/API/lang/cpp/class-template-parameter-pack/TestTemplatePackArgs.py
A lldb/test/API/lang/cpp/enum_promotion/Makefile
A lldb/test/API/lang/cpp/enum_promotion/TestCPPEnumPromotion.py
A lldb/test/API/lang/cpp/enum_promotion/main.cpp
M lldb/test/API/lang/cpp/template-arguments/Makefile
M lldb/test/API/lang/cpp/template-arguments/TestCppTemplateArguments.py
M lldb/test/API/lang/cpp/template-arguments/main.cpp
A lldb/test/API/lang/cpp/thunk/Makefile
A lldb/test/API/lang/cpp/thunk/TestThunk.py
A lldb/test/API/lang/cpp/thunk/main.cpp
A lldb/test/API/macosx/thread_start_bps/Makefile
A lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
A lldb/test/API/macosx/thread_start_bps/main.c
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/output/main.c
A lldb/test/API/tools/lldb-dap/server/Makefile
A lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
A lldb/test/API/tools/lldb-dap/server/main.c
M lldb/test/API/tools/lldb-server/main.cpp
M lldb/test/Shell/Commands/command-disassemble.s
A lldb/test/Shell/Commands/command-source-list.s
M lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/Register/Inputs/loongarch64-gp-read.cpp
A lldb/test/Shell/Register/Inputs/riscv64-gp-read.cpp
A lldb/test/Shell/Register/loongarch64-gp-read.test
A lldb/test/Shell/Register/riscv64-gp-read.test
M lldb/test/Shell/ScriptInterpreter/Python/sb_function_ranges.s
M lldb/test/Shell/SymbolFile/DWARF/x86/simplified-template-names.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/IOStream.cpp
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/OutputRedirector.cpp
M lldb/tools/lldb-dap/OutputRedirector.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/TelemetryTest.cpp
M lldb/unittests/Editline/EditlineTest.cpp
M lldb/unittests/Symbol/CMakeLists.txt
A lldb/unittests/Symbol/LineTableTest.cpp
M lldb/unittests/Symbol/TestTypeSystemClang.cpp
M lldb/unittests/Utility/CMakeLists.txt
M lldb/unittests/Utility/ProcessInstanceInfoTest.cpp
M lldb/unittests/Utility/RangeMapTest.cpp
M llvm/CMakeLists.txt
M llvm/bindings/ocaml/llvm/llvm.ml
M llvm/bindings/ocaml/llvm/llvm.mli
M llvm/bindings/ocaml/llvm/llvm_ocaml.c
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
M llvm/docs/AMDGPU/AMDGPUAsmGFX940.rst
M llvm/docs/AMDGPUOperandSyntax.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/DeveloperPolicy.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/GitHub.rst
M llvm/docs/HowToAddABuilder.rst
M llvm/docs/LangRef.rst
M llvm/docs/NVPTXUsage.rst
M llvm/docs/OptBisect.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/tutorial/MyFirstLanguageFrontend/LangImpl03.rst
M llvm/include/llvm-c/Core.h
M llvm/include/llvm/ADT/SetOperations.h
M llvm/include/llvm/Analysis/CallGraph.h
M llvm/include/llvm/Analysis/CallGraphSCCPass.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/GlobalsModRef.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/CGData/CodeGenData.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/DIE.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/LiveRegUnits.h
M llvm/include/llvm/CodeGen/MachineFrameInfo.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/RDFRegisters.h
A llvm/include/llvm/CodeGen/RegAllocEvictionAdvisor.h
M llvm/include/llvm/CodeGen/RegAllocFast.h
A llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/ConstantRange.h
M llvm/include/llvm/IR/Constants.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Region.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/Error.h
M llvm/include/llvm/Support/ErrorOr.h
M llvm/include/llvm/Support/ModRef.h
M llvm/include/llvm/Support/ScopedPrinter.h
M llvm/include/llvm/Support/TrailingObjects.h
M llvm/include/llvm/Support/TypeName.h
M llvm/include/llvm/Target/TargetSchedule.td
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/include/llvm/Telemetry/Telemetry.h
A llvm/include/llvm/Transforms/IPO/FatLTOCleanup.h
A llvm/include/llvm/Transforms/Utils/LockstepReverseIterator.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/AssumeBundleQueries.cpp
M llvm/lib/Analysis/CGSCCPassManager.cpp
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/CallGraphSCCPass.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/GlobalsModRef.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/LazyValueInfo.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemoryProfileInfo.cpp
M llvm/lib/Analysis/PhiValues.cpp
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CGData/CodeGenData.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp
M llvm/lib/CodeGen/DetectDeadLanes.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/InlineSpiller.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/LiveStacks.cpp
M llvm/lib/CodeGen/MLRegAllocEvictAdvisor.cpp
M llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/MachineVerifier.cpp
M llvm/lib/CodeGen/PeepholeOptimizer.cpp
M llvm/lib/CodeGen/PrologEpilogInserter.cpp
M llvm/lib/CodeGen/RDFRegisters.cpp
M llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
R llvm/lib/CodeGen/RegAllocEvictionAdvisor.h
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/RegAllocGreedy.h
M llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
R llvm/lib/CodeGen/RegAllocPriorityAdvisor.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetRegisterInfo.cpp
M llvm/lib/CodeGen/WinEHPrepare.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVBinaryReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewVisitor.cpp
M llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
M llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/ConstantRange.cpp
M llvm/lib/IR/Constants.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/MC/DXContainerRootSignature.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/ObjCopy/MachO/MachOObjcopy.cpp
M llvm/lib/Object/DXContainer.cpp
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/Object/GOFFObjectFile.cpp
M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
M llvm/lib/ObjectYAML/DXContainerYAML.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/ProfileSummaryBuilder.cpp
M llvm/lib/SandboxIR/BasicBlock.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/SandboxIR/Region.cpp
M llvm/lib/SandboxIR/User.cpp
M llvm/lib/SandboxIR/Value.cpp
M llvm/lib/Support/ModRef.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Features.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
M llvm/lib/Target/AArch64/AArch64RegisterInfo.h
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h
M llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
M llvm/lib/Target/AMDGPU/GCNNSAReassign.cpp
A llvm/lib/Target/AMDGPU/GCNNSAReassign.h
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/R600OptimizeVectorRegisters.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.h
M llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp
A llvm/lib/Target/AMDGPU/SIFormMemoryClauses.h
M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
A llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.h
M llvm/lib/Target/AMDGPU/SIPostRABundler.cpp
A llvm/lib/Target/AMDGPU/SIPostRABundler.h
M llvm/lib/Target/AMDGPU/SIProgramInfo.cpp
M llvm/lib/Target/AMDGPU/SIProgramInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SISchedule.td
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUAsmUtils.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP2Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARC/ARCFrameLowering.cpp
M llvm/lib/Target/ARC/ARCOptAddrMode.cpp
R llvm/lib/Target/ARC/ARCTargetStreamer.h
A llvm/lib/Target/ARC/MCTargetDesc/ARCTargetStreamer.h
M llvm/lib/Target/ARM/ARMCallingConv.cpp
M llvm/lib/Target/ARM/ARMCallingConv.td
M llvm/lib/Target/ARM/ARMFrameLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMParallelDSP.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/Thumb1FrameLowering.cpp
M llvm/lib/Target/ARM/ThumbRegisterInfo.cpp
M llvm/lib/Target/AVR/AVRFrameLowering.cpp
M llvm/lib/Target/CSKY/CSKYFrameLowering.cpp
M llvm/lib/Target/DirectX/CMakeLists.txt
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
M llvm/lib/Target/DirectX/DXILOpBuilder.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.cpp
A llvm/lib/Target/DirectX/DXILRootSignature.h
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DirectX.h
M llvm/lib/Target/DirectX/DirectXPassRegistry.def
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/BitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
M llvm/lib/Target/Hexagon/HexagonCommonGEP.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
M llvm/lib/Target/Hexagon/HexagonGenInsert.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
R llvm/lib/Target/Hexagon/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
A llvm/lib/Target/Hexagon/MCTargetDesc/HexagonTargetStreamer.h
M llvm/lib/Target/Hexagon/RDFCopy.cpp
M llvm/lib/Target/LoongArch/LoongArchFrameLowering.cpp
M llvm/lib/Target/M68k/M68kFrameLowering.cpp
M llvm/lib/Target/MSP430/MSP430FrameLowering.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.h
M llvm/lib/Target/Mips/Mips16FrameLowering.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsRegisterInfo.cpp
M llvm/lib/Target/Mips/MipsSEFrameLowering.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
R llvm/lib/Target/Mips/MipsTargetStreamer.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXMachineFunctionInfo.h
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXRegisterInfo.h
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVPTXUtilities.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h
A llvm/lib/Target/PowerPC/MCTargetDesc/PPCTargetStreamer.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCFrameLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
R llvm/lib/Target/PowerPC/PPCTargetStreamer.h
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/CMakeLists.txt
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCV.td
M llvm/lib/Target/RISCV/RISCVFeatures.td
A llvm/lib/Target/RISCV/RISCVFoldMemOffset.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
A llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
A llvm/lib/Target/RISCV/RISCVSchedGenericOOO.td
M llvm/lib/Target/RISCV/RISCVSystemOperands.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/RISCV/RISCVVMV0Elimination.cpp
M llvm/lib/Target/RISCV/RISCVVectorMaskDAGMutation.cpp
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCCodeEmitter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M 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/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
A llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
M llvm/lib/Target/SystemZ/SystemZInstrFP.td
M llvm/lib/Target/SystemZ/SystemZInstrVector.td
R llvm/lib/Target/SystemZ/SystemZTargetStreamer.h
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySortRegion.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Target/X86/X86CallingConv.td
M llvm/lib/Target/X86/X86FastISel.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86FrameLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrAVX512.td
M llvm/lib/Target/X86/X86InstrBuilder.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/X86/X86LoadValueInjectionLoadHardening.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
M llvm/lib/Target/X86/X86PreTileConfig.cpp
A llvm/lib/Target/XCore/MCTargetDesc/XCoreTargetStreamer.h
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
M llvm/lib/Target/XCore/XCoreFrameLowering.cpp
R llvm/lib/Target/XCore/XCoreTargetStreamer.h
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/RISCVTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Telemetry/Telemetry.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/CMakeLists.txt
M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
M llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp
M llvm/lib/Transforms/IPO/AlwaysInliner.cpp
M llvm/lib/Transforms/IPO/CMakeLists.txt
A llvm/lib/Transforms/IPO/FatLTOCleanup.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/PartialInlining.cpp
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/IPO/SampleProfileMatcher.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
M llvm/lib/Transforms/Scalar/Reassociate.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/AssumeBundleBuilder.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/DependencyGraph.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/InstrMaps.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/SeedCollection.cpp
A llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/TransactionSave.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Scheduler.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp
M llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
M llvm/lib/Transforms/Vectorize/VPlanValue.h
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/projects/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
A llvm/test/Analysis/BasicAA/escape-source-aggregate.ll
M llvm/test/Analysis/CostModel/AArch64/fshl.ll
M llvm/test/Analysis/CostModel/AArch64/fshr.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-load-store.ll
A llvm/test/Analysis/DependenceAnalysis/PR51512.ll
M llvm/test/Analysis/GlobalsModRef/nonescaping-noalias.ll
M llvm/test/Analysis/LoopAccessAnalysis/multiple-strides-rt-memory-checks.ll
M llvm/test/Analysis/LoopAccessAnalysis/non-constant-distance-backward.ll
M llvm/test/Analysis/LoopAccessAnalysis/nusw-predicates.ll
A llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis-forked-pointers.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
A llvm/test/Analysis/LoopAccessAnalysis/runtime-checks-may-wrap.ll
M llvm/test/Analysis/LoopAccessAnalysis/symbolic-stride.ll
M llvm/test/Analysis/ProfileSummary/basic.ll
M llvm/test/Analysis/ScalarEvolution/trunc-simplify.ll
M llvm/test/Analysis/UniformityAnalysis/AMDGPU/intrinsics.ll
M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
M llvm/test/Analysis/ValueTracking/assume.ll
M llvm/test/Analysis/ValueTracking/known-non-equal.ll
M llvm/test/Assembler/ConstantExprFold.ll
M llvm/test/Assembler/flags.ll
M llvm/test/Assembler/memory-attribute-errors.ll
M llvm/test/Assembler/memory-attribute.ll
M llvm/test/Bindings/OCaml/core.ml
A llvm/test/Bitcode/Inputs/memory-attribute-upgrade.bc
M llvm/test/Bitcode/constexpr-to-instr-metadata-2.ll
M llvm/test/Bitcode/constexpr-to-instr-metadata.ll
A llvm/test/Bitcode/memory-attribute-upgrade.ll
M llvm/test/CodeGen/AArch64/16bit-float-promotion-with-nofp.ll
M llvm/test/CodeGen/AArch64/arm64-early-ifcvt.ll
M llvm/test/CodeGen/AArch64/arm64-storebytesmerge.ll
M llvm/test/CodeGen/AArch64/arm64-vabs.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fadd.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmax.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fmin.ll
M llvm/test/CodeGen/AArch64/atomicrmw-fsub.ll
M llvm/test/CodeGen/AArch64/br-to-eh-lpad.ll
M llvm/test/CodeGen/AArch64/br-undef-cond.ll
A llvm/test/CodeGen/AArch64/cmpbr-branch-relaxation.mir
A llvm/test/CodeGen/AArch64/cmpbr-early-ifcvt.mir
A llvm/test/CodeGen/AArch64/cmpbr-reg-imm-at-bounds.ll
A llvm/test/CodeGen/AArch64/cmpbr-reg-imm.ll
A llvm/test/CodeGen/AArch64/cmpbr-reg-reg.ll
M llvm/test/CodeGen/AArch64/cpus.ll
A llvm/test/CodeGen/AArch64/execute-only-section.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-scalar.ll
M llvm/test/CodeGen/AArch64/fptoui-sat-vector.ll
M llvm/test/CodeGen/AArch64/gep-nullptr.ll
M llvm/test/CodeGen/AArch64/machine-sink-getmemoperandwithoffset.mir
M llvm/test/CodeGen/AArch64/madd-combiner.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/optimize-cond-branch.ll
M llvm/test/CodeGen/AArch64/select-constant-xor.ll
M llvm/test/CodeGen/AArch64/select-to-and-zext.ll
M llvm/test/CodeGen/AArch64/select-with-and-or.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/select_const.ll
M llvm/test/CodeGen/AArch64/select_fmf.ll
M llvm/test/CodeGen/AArch64/selectcc-to-shiftand.ll
A llvm/test/CodeGen/AArch64/shift-const-ne-0.ll
M llvm/test/CodeGen/AArch64/shrink-wrap.ll
M llvm/test/CodeGen/AArch64/strictfp_f16_abi_promote.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
M llvm/test/CodeGen/AArch64/swift-error-unreachable-use.ll
M llvm/test/CodeGen/AArch64/tail-call-unused-zext.ll
M llvm/test/CodeGen/AArch64/tailcall-ssp-split-debug.ll
M llvm/test/CodeGen/AArch64/vecreduce-add.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmax.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_fmin.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd.v2f16-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.v2f16.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fma.ll
R llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx940.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/fp-atomics-gfx942.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.v2f16-rtn.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-atomicrmw.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.make.buffer.rsrc.ll
R llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.gfx940.mir
A llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.mfma.gfx942.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/sdivrem.ll
M llvm/test/CodeGen/AMDGPU/accvgpr-copy.mir
A llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers-assertion-after-ra-failure.xfail.ll
M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-non-kernel-declaration.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested-asan.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-nested.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access-no-kernel-lds-id.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-indirect-access.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-O0.ll
A llvm/test/CodeGen/AMDGPU/amdgpu-sw-lower-lds-static-lds-vector-ptrs.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
M llvm/test/CodeGen/AMDGPU/back-off-barrier-subtarget-feature.ll
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.v2f16-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd.v2f16-rtn.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointer-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
M llvm/test/CodeGen/AMDGPU/call-preserved-registers.ll
M llvm/test/CodeGen/AMDGPU/calling-conventions.ll
M llvm/test/CodeGen/AMDGPU/cgp-bitfield-extract.ll
M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
M llvm/test/CodeGen/AMDGPU/code-size-estimate.mir
M llvm/test/CodeGen/AMDGPU/collapse-endcf-broken.mir
M llvm/test/CodeGen/AMDGPU/constant-fold-imm-immreg.mir
M llvm/test/CodeGen/AMDGPU/copy-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/copy_phys_vgpr64.mir
M llvm/test/CodeGen/AMDGPU/ctpop64.ll
M llvm/test/CodeGen/AMDGPU/dagcomb-shuffle-vecextend-non2.ll
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/div_v2i128.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.ll
M llvm/test/CodeGen/AMDGPU/dpp64_combine.mir
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
A llvm/test/CodeGen/AMDGPU/dumpcode.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-sramecc.ll
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-s-add-i32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-scalar-bit-ops.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-co-u32.mir
M llvm/test/CodeGen/AMDGPU/eliminate-frame-index-v-add-u32.mir
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
M llvm/test/CodeGen/AMDGPU/flat-address-space.ll
M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f32.ll
M llvm/test/CodeGen/AMDGPU/flat-atomic-fadd.f64.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-scratch-svs.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/flat_atomics_i64_system.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmaximum3.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fminimum3.ll
M llvm/test/CodeGen/AMDGPU/fold-agpr-phis.mir
A llvm/test/CodeGen/AMDGPU/fold-literal-multiple-gfx10.mir
M llvm/test/CodeGen/AMDGPU/fold-operands-scalar-fmac.mir
M llvm/test/CodeGen/AMDGPU/fold-sgpr-multi-imm.mir
M llvm/test/CodeGen/AMDGPU/fold-vgpr-copy.mir
M llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-clear-kill-flags.mir
R llvm/test/CodeGen/AMDGPU/fp-atomics-gfx940.ll
A llvm/test/CodeGen/AMDGPU/fp-atomics-gfx942.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fptoi.i128.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/function-args.ll
R llvm/test/CodeGen/AMDGPU/gfx940-hazards.mir
A llvm/test/CodeGen/AMDGPU/gfx942-hazards.mir
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f32-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-no-rtn.ll
M llvm/test/CodeGen/AMDGPU/global-atomic-fadd.v2f16-rtn.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/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/idemponent-atomics.ll
M llvm/test/CodeGen/AMDGPU/identical-subrange-spill-infloop.ll
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/idot8u.ll
M llvm/test/CodeGen/AMDGPU/iglp-no-clobber.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/invalid-addrspacecast.ll
M llvm/test/CodeGen/AMDGPU/issue92561-restore-undef-scc-verifier-error.ll
M llvm/test/CodeGen/AMDGPU/kernel-args.ll
M llvm/test/CodeGen/AMDGPU/lds-dma-hazards.mir
M llvm/test/CodeGen/AMDGPU/lds-dma-waitcnt.mir
M llvm/test/CodeGen/AMDGPU/lds-limit-diagnostics.ll
M llvm/test/CodeGen/AMDGPU/limit-soft-clause-reg-pressure.mir
M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.dead.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.init.whole.wave-w32.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx940.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
R llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx940.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane16.swap.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane32.swap.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.ptr.buffer.atomic.fadd_rtn_errors.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_nortn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fadd_rtn.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmax.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.atomic.fmin.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.buffer.load.lds.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot2.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.udot8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.workitem.id-unsupported-calling-convention.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp.ll
M llvm/test/CodeGen/AMDGPU/llvm.exp10.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/llvm.round.f64.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i32.ll
M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fadd.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmin.ll
M llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx8.mir
M llvm/test/CodeGen/AMDGPU/local-stack-alloc-add-references.gfx9.mir
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-nontemporal-metadata.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lshl-add-u64.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/mad.u16.ll
M llvm/test/CodeGen/AMDGPU/madak.ll
R llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
A llvm/test/CodeGen/AMDGPU/mai-hazards-gfx942.mir
M llvm/test/CodeGen/AMDGPU/make-buffer-rsrc-lds-fails.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.gfx10.ll
M llvm/test/CodeGen/AMDGPU/materialize-frame-index-sgpr.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-global.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence-mmra-local.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-agent.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-singlethread.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-system.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-wavefront.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-workgroup.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-private-nontemporal.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.mir
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
M llvm/test/CodeGen/AMDGPU/mfma-no-register-aliasing.ll
R llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx940.ll
A llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select-gfx942.ll
M llvm/test/CodeGen/AMDGPU/mfma-vgpr-cd-select.ll
M llvm/test/CodeGen/AMDGPU/minimummaximum.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-atomicrmw-system.ll
M llvm/test/CodeGen/AMDGPU/mul.ll
M llvm/test/CodeGen/AMDGPU/mul_int24.ll
M llvm/test/CodeGen/AMDGPU/neighboring-mfma-padding.mir
M llvm/test/CodeGen/AMDGPU/no-hsa-graphics-shaders.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/peephole-fold-imm.mir
M llvm/test/CodeGen/AMDGPU/peephole-opt-fold-reg-sequence-subreg.mir
M llvm/test/CodeGen/AMDGPU/postra-bundle-memops.mir
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-IR-lowering.ll
A llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs-debug-info.ll
M llvm/test/CodeGen/AMDGPU/preload-implicit-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs-IR-lowering.ll
M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
M llvm/test/CodeGen/AMDGPU/preserve-hi16.ll
M llvm/test/CodeGen/AMDGPU/ptr-buffer-alias-scheduling.ll
A llvm/test/CodeGen/AMDGPU/reg-sequence-like-v-pk-mov-b32.mir
M llvm/test/CodeGen/AMDGPU/reserved-reg-in-clause.mir
M llvm/test/CodeGen/AMDGPU/select.f16.ll
M llvm/test/CodeGen/AMDGPU/shl.ll
A llvm/test/CodeGen/AMDGPU/shl64_reduce.ll
A llvm/test/CodeGen/AMDGPU/shl64_reduce_flags.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-fake16.mir
A llvm/test/CodeGen/AMDGPU/shrink-mad-fma-gfx10.mir
M llvm/test/CodeGen/AMDGPU/shrink-mad-fma.mir
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v4bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2bf16.v8bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v4f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f16.v8f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2f32.v8f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v3i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v4i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i16.v8i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i32.v8i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v2i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v3i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v4i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2i64.v8i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v2p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v3p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p0.v4p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v2p3.v8p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3bf16.v4bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f16.v4f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v3i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i16.v4i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v2i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v3i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3i64.v4i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v2p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v3p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p0.v4p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v3p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v2bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v3bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4bf16.v4bf16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v2f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v3f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f16.v4f16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v2f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v3f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4f32.v4f32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v2i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v3i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i16.v4i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v2i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v3i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i32.v4i32.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v2i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v3i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4i64.v4i64.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v2p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v3p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p0.v4p0.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v2p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v3p3.ll
M llvm/test/CodeGen/AMDGPU/shufflevector.v4p3.v4p3.ll
M llvm/test/CodeGen/AMDGPU/smem-no-clause-coalesced.mir
M llvm/test/CodeGen/AMDGPU/smfmac_no_agprs.ll
M llvm/test/CodeGen/AMDGPU/soft-clause-dbg-value.mir
M llvm/test/CodeGen/AMDGPU/spill-regpressure-less.mir
M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
M llvm/test/CodeGen/AMDGPU/spill-vgpr.ll
M llvm/test/CodeGen/AMDGPU/spill_more_than_wavesize_csr_sgprs.ll
M llvm/test/CodeGen/AMDGPU/sra.ll
M llvm/test/CodeGen/AMDGPU/srl.ll
M llvm/test/CodeGen/AMDGPU/stack-realign.ll
M llvm/test/CodeGen/AMDGPU/strict_fptrunc.ll
M llvm/test/CodeGen/AMDGPU/udiv.ll
M llvm/test/CodeGen/AMDGPU/uint_to_fp.i64.ll
M llvm/test/CodeGen/AMDGPU/uniform-select.ll
M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
M llvm/test/CodeGen/AMDGPU/v_mov_b64_expansion.mir
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/verifier-sdwa-cvt.mir
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/vgpr-liverange-ir.ll
A llvm/test/CodeGen/AMDGPU/vgpr-remat-v_pk_mov_b32.mir
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
M llvm/test/CodeGen/ARM/2008-04-04-ScavengerAssert.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-function.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-value.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-no-root-element-list.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-root-element-not-mdnode.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Validation-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-NullFunction-Error.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/wave-ops.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
A llvm/test/CodeGen/Hexagon/iss127296.ll
M llvm/test/CodeGen/LoongArch/fp16-promote.ll
M llvm/test/CodeGen/LoongArch/statepoint-call-lowering.ll
M llvm/test/CodeGen/MIR/NVPTX/expected-floating-point-literal.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
M llvm/test/CodeGen/MIR/NVPTX/floating-point-invalid-type-error.mir
M llvm/test/CodeGen/Mips/fp16-promote.ll
M llvm/test/CodeGen/Mips/ldexp.ll
A llvm/test/CodeGen/Mips/readcyclecounter.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/local-stack-frame.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/prefetch.ll
A llvm/test/CodeGen/NVPTX/redux-sync-f32.ll
M llvm/test/CodeGen/NVPTX/surf-read.ll
M llvm/test/CodeGen/NVPTX/surf-write.ll
A llvm/test/CodeGen/NVPTX/tcgen05-cp.ll
A llvm/test/CodeGen/NVPTX/tcgen05-shift.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/handle-f16-storage-type.ll
A llvm/test/CodeGen/PowerPC/licm-xxsplti.ll
A llvm/test/CodeGen/PowerPC/llvm.modf.ll
A llvm/test/CodeGen/PowerPC/pr127298.ll
M llvm/test/CodeGen/PowerPC/pr48519.ll
M llvm/test/CodeGen/PowerPC/pr49092.ll
M llvm/test/CodeGen/PowerPC/vector-llrint.ll
M llvm/test/CodeGen/PowerPC/vector-lrint.ll
M llvm/test/CodeGen/RISCV/GlobalISel/add-imm.ll
M llvm/test/CodeGen/RISCV/GlobalISel/combine-neg-abs.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-arith.ll
M llvm/test/CodeGen/RISCV/GlobalISel/freeze.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/shifts.ll
M llvm/test/CodeGen/RISCV/GlobalISel/stacksave-stackrestore.ll
M llvm/test/CodeGen/RISCV/GlobalISel/vararg.ll
M llvm/test/CodeGen/RISCV/GlobalISel/wide-scalar-shift-by-byte-multiple-legalization.ll
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
M llvm/test/CodeGen/RISCV/abds-neg.ll
M llvm/test/CodeGen/RISCV/abds.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/add-before-shl.ll
M llvm/test/CodeGen/RISCV/add-imm.ll
M llvm/test/CodeGen/RISCV/alloca.ll
M llvm/test/CodeGen/RISCV/alu64.ll
M llvm/test/CodeGen/RISCV/atomic-rmw-discard.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/bf16-promote.ll
M llvm/test/CodeGen/RISCV/bfloat-convert.ll
M llvm/test/CodeGen/RISCV/bfloat-mem.ll
M llvm/test/CodeGen/RISCV/bfloat.ll
M llvm/test/CodeGen/RISCV/bittest.ll
M llvm/test/CodeGen/RISCV/branch-on-zero.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr32s.ll
M llvm/test/CodeGen/RISCV/callee-saved-fpr64s.ll
M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
M llvm/test/CodeGen/RISCV/calling-conv-half.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32d.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64e.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32.ll
M llvm/test/CodeGen/RISCV/calling-conv-rv32f-ilp32e.ll
M llvm/test/CodeGen/RISCV/calls.ll
M llvm/test/CodeGen/RISCV/codemodel-lowering.ll
M llvm/test/CodeGen/RISCV/condbinops.ll
M llvm/test/CodeGen/RISCV/condops.ll
M llvm/test/CodeGen/RISCV/copysign-casts.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/double-calling-conv.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/double-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/double-imm.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
M llvm/test/CodeGen/RISCV/double-select-fcmp.ll
M llvm/test/CodeGen/RISCV/double-stack-spill-restore.ll
M llvm/test/CodeGen/RISCV/fastcc-bf16.ll
M llvm/test/CodeGen/RISCV/fastcc-float.ll
M llvm/test/CodeGen/RISCV/fastcc-half.ll
M llvm/test/CodeGen/RISCV/fastcc-without-f-reg.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/float-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/float-select-fcmp.ll
M llvm/test/CodeGen/RISCV/fold-addi-loadstore.ll
A llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/forced-atomics.ll
M llvm/test/CodeGen/RISCV/fp-fcanonicalize.ll
M llvm/test/CodeGen/RISCV/fp128.ll
M llvm/test/CodeGen/RISCV/fpclamptosat.ll
M llvm/test/CodeGen/RISCV/get-setcc-result-type.ll
M llvm/test/CodeGen/RISCV/half-arith.ll
M llvm/test/CodeGen/RISCV/half-convert-strict.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/half-fcmp-strict.ll
M llvm/test/CodeGen/RISCV/half-intrinsics.ll
M llvm/test/CodeGen/RISCV/half-mem.ll
M llvm/test/CodeGen/RISCV/half-select-fcmp.ll
M llvm/test/CodeGen/RISCV/iabs.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-d-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-constraint-f.ll
M llvm/test/CodeGen/RISCV/inline-asm-f-modifier-N.ll
M llvm/test/CodeGen/RISCV/inline-asm-zfinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm-zhinx-constraint-r.ll
M llvm/test/CodeGen/RISCV/inline-asm.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts-vscale.ll
M llvm/test/CodeGen/RISCV/legalize-fneg.ll
M llvm/test/CodeGen/RISCV/llvm.exp10.ll
M llvm/test/CodeGen/RISCV/llvm.frexp.ll
M llvm/test/CodeGen/RISCV/loop-strength-reduce-add-cheaper-than-mul.ll
A llvm/test/CodeGen/RISCV/machine-outliner-call-x5-liveout.mir
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/machinelicm-address-pseudos.ll
M llvm/test/CodeGen/RISCV/macro-fusion-lui-addi.ll
M llvm/test/CodeGen/RISCV/mem.ll
M llvm/test/CodeGen/RISCV/mem64.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
M llvm/test/CodeGen/RISCV/memmove.ll
M llvm/test/CodeGen/RISCV/memset-pattern.ll
M llvm/test/CodeGen/RISCV/mul.ll
M llvm/test/CodeGen/RISCV/neg-abs.ll
M llvm/test/CodeGen/RISCV/orc-b-patterns.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr51206.ll
M llvm/test/CodeGen/RISCV/pr58511.ll
M llvm/test/CodeGen/RISCV/pr63816.ll
M llvm/test/CodeGen/RISCV/pr69586.ll
M llvm/test/CodeGen/RISCV/push-pop-popret.ll
M llvm/test/CodeGen/RISCV/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rotl-rotr.ll
M llvm/test/CodeGen/RISCV/rv32-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv32zbb.ll
M llvm/test/CodeGen/RISCV/rv32zbs.ll
M llvm/test/CodeGen/RISCV/rv64-double-convert.ll
M llvm/test/CodeGen/RISCV/rv64-half-convert.ll
M llvm/test/CodeGen/RISCV/rv64-inline-asm-pairs.ll
M llvm/test/CodeGen/RISCV/rv64-trampoline.ll
M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-array.ll
M llvm/test/CodeGen/RISCV/rvv/alloca-load-store-scalable-struct.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/calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/ceil-vp.ll
M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
M llvm/test/CodeGen/RISCV/rvv/commutable.ll
M llvm/test/CodeGen/RISCV/rvv/concat-vector-insert-elt.ll
M llvm/test/CodeGen/RISCV/rvv/constant-folding-crash.ll
M llvm/test/CodeGen/RISCV/rvv/copyprop.mir
M llvm/test/CodeGen/RISCV/rvv/ctlz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ctlz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/dont-sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/double-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/expandload.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-i1.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-int-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fceil-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/ffloor-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vector-i8-index-cornercase.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast-large-vector.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-buildvec-of-binop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ceil-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-ctpop.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-elen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fceil-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ffloor-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-floor-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-setcc.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fpowi.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptosi-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptoui-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fround.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-froundeven.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access-zve32x.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-lrint.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-store-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-rint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-roundtozero-vp.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-sext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-changes-length.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-exact-vlen.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-rotate.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-transpose.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-vslide1up.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shufflevector-vnsrl.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-sitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-store-merge-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-store-asm.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-uitofp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-unaligned.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vcopysign-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-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-vfneg-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpload.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-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsadd-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vsaddu-vp.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-vselect.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssub-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vssubu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd-mask.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-mask.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/fixed-vectors-zext-vp.ll
M llvm/test/CodeGen/RISCV/rvv/float-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/floor-vp.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/fnearbyint-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fnearbyint-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/fold-vector-cmp.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/fround-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fround-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/froundeven-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/fshr-fshl-vp.ll
M llvm/test/CodeGen/RISCV/rvv/half-round-conv.ll
M llvm/test/CodeGen/RISCV/rvv/localvar.ll
A llvm/test/CodeGen/RISCV/rvv/mask-exts-not.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tama.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tamu.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tuma.ll
M llvm/test/CodeGen/RISCV/rvv/masked-tumu.ll
M llvm/test/CodeGen/RISCV/rvv/memcpy-inline.ll
M llvm/test/CodeGen/RISCV/rvv/memory-args.ll
M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mscatter-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/mutate-prior-vsetvli-avl.ll
M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/nearbyint-vp.ll
M llvm/test/CodeGen/RISCV/rvv/no-reserved-frame.ll
M llvm/test/CodeGen/RISCV/rvv/pr125306.ll
M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
M llvm/test/CodeGen/RISCV/rvv/pr95865.ll
M llvm/test/CodeGen/RISCV/rvv/reg-alloc-reserve-bp.ll
M llvm/test/CodeGen/RISCV/rvv/round-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundeven-vp.ll
M llvm/test/CodeGen/RISCV/rvv/roundtozero-vp.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-args-by-mem.ll
M llvm/test/CodeGen/RISCV/rvv/rvv-peephole-vmerge-vops.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/shrinkwrap.ll
M llvm/test/CodeGen/RISCV/rvv/sink-splat-operands.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpload.ll
M llvm/test/CodeGen/RISCV/rvv/strided-vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/umulo-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/unmasked-tu.ll
M llvm/test/CodeGen/RISCV/rvv/urem-seteq-vec.ll
M llvm/test/CodeGen/RISCV/rvv/vadd-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vcpop-compute-known-bits.ll
A llvm/test/CodeGen/RISCV/rvv/vcpop-shl-zext-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.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-combine.ll
M llvm/test/CodeGen/RISCV/rvv/vfma-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfmin-vp.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/vfptrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-constrained-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vfsqrt-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vfsub-vp.ll
A llvm/test/CodeGen/RISCV/rvv/vl-opt-evl-tail-folding.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.mir
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
M llvm/test/CodeGen/RISCV/rvv/vleff.ll
M llvm/test/CodeGen/RISCV/rvv/vmax-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmaxu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmin-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vminu-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.s.x.ll
M llvm/test/CodeGen/RISCV/rvv/vmv0-elimination.ll
M llvm/test/CodeGen/RISCV/rvv/vp-combine-store-reverse.ll
M llvm/test/CodeGen/RISCV/rvv/vp-cttz-elts.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/vpgather-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vpload.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/vpstore.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16-subreg-liveness.ll
M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
M llvm/test/CodeGen/RISCV/rvv/vselect-fp.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/vsetvli-insert.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvli-regression.ll
M llvm/test/CodeGen/RISCV/rvv/vtrunc-vp.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vwsub-mask-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert-out-of-loop.ll
M llvm/test/CodeGen/RISCV/rvv/vxrm-insert.ll
M llvm/test/CodeGen/RISCV/rvv/wrong-chain-fixed-load.ll
M llvm/test/CodeGen/RISCV/scmp.ll
M llvm/test/CodeGen/RISCV/select-and.ll
M llvm/test/CodeGen/RISCV/select-bare.ll
M llvm/test/CodeGen/RISCV/select-cc.ll
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
M llvm/test/CodeGen/RISCV/select-optimize-multiple.ll
M llvm/test/CodeGen/RISCV/select-or.ll
M llvm/test/CodeGen/RISCV/sextw-removal.ll
M llvm/test/CodeGen/RISCV/shift-amount-mod.ll
M llvm/test/CodeGen/RISCV/shifts.ll
M llvm/test/CodeGen/RISCV/shl-cttz.ll
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/a63f09e94b85...af42b1142a54
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