[all-commits] [llvm/llvm-project] 4e4cb4: [RISCV][MC] Enable printing of zext.b alias (#133502)
Peter Collingbourne via All-commits
all-commits at lists.llvm.org
Mon Apr 7 18:28:37 PDT 2025
Branch: refs/heads/users/pcc/spr/aarch64-relax-x16x17-constraint-on-aut-in-certain-cases
Home: https://github.com/llvm/llvm-project
Commit: 4e4cb4359ae915b5a14c94914e39a8cc94e98963
https://github.com/llvm/llvm-project/commit/4e4cb4359ae915b5a14c94914e39a8cc94e98963
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/GlobalISel/alu-roundtrip.ll
M llvm/test/CodeGen/RISCV/GlobalISel/div-by-constant.ll
M llvm/test/CodeGen/RISCV/GlobalISel/double-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/float-convert.ll
M llvm/test/CodeGen/RISCV/GlobalISel/fp128.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbb-zbkb.ll
M llvm/test/CodeGen/RISCV/GlobalISel/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/abdu-neg.ll
M llvm/test/CodeGen/RISCV/abdu.ll
M llvm/test/CodeGen/RISCV/alu8.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
M llvm/test/CodeGen/RISCV/atomic-rmw.ll
M llvm/test/CodeGen/RISCV/atomic-signext.ll
M llvm/test/CodeGen/RISCV/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/RISCV/avgceilu.ll
M llvm/test/CodeGen/RISCV/avgflooru.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
M llvm/test/CodeGen/RISCV/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/calling-conv-sext-zext.ll
M llvm/test/CodeGen/RISCV/csr-first-use-cost.ll
M llvm/test/CodeGen/RISCV/ctlz-cttz-ctpop.ll
M llvm/test/CodeGen/RISCV/div-by-constant.ll
M llvm/test/CodeGen/RISCV/div.ll
M llvm/test/CodeGen/RISCV/double-convert.ll
M llvm/test/CodeGen/RISCV/float-convert.ll
M llvm/test/CodeGen/RISCV/fold-mem-offset.ll
M llvm/test/CodeGen/RISCV/half-convert.ll
M llvm/test/CodeGen/RISCV/intrinsic-cttz-elts.ll
M llvm/test/CodeGen/RISCV/machine-combiner.ll
M llvm/test/CodeGen/RISCV/machine-sink-load-immediate.ll
M llvm/test/CodeGen/RISCV/memset-inline.ll
M llvm/test/CodeGen/RISCV/overflow-intrinsics.ll
M llvm/test/CodeGen/RISCV/pr65025.ll
M llvm/test/CodeGen/RISCV/rem.ll
M llvm/test/CodeGen/RISCV/rv32zbkb.ll
M llvm/test/CodeGen/RISCV/rv64zbkb.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-i1.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/fold-scalar-load-crash.ll
M llvm/test/CodeGen/RISCV/rvv/memset-inline.ll
M llvm/test/CodeGen/RISCV/rvv/vec3-setcc-crash.ll
M llvm/test/CodeGen/RISCV/rvv/vector-extract-last-active.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvl-ext.ll
M llvm/test/CodeGen/RISCV/rvv/vsetvlmax-ext.ll
M llvm/test/CodeGen/RISCV/sext-zext-trunc.ll
M llvm/test/CodeGen/RISCV/simplify-condbr.ll
M llvm/test/CodeGen/RISCV/split-store.ll
M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
M llvm/test/CodeGen/RISCV/uadd_sat_plus.ll
M llvm/test/CodeGen/RISCV/usub_sat_plus.ll
M llvm/test/CodeGen/RISCV/zbb-logic-neg-imm.ll
M llvm/test/CodeGen/RISCV/zcb-regalloc-hints.ll
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
Log Message:
-----------
[RISCV][MC] Enable printing of zext.b alias (#133502)
The comment shows that at the time we were worried about producing the
alias in assembly that might be ingested by a binutils version that
doesn't yet support it. binutils gained support over 4 years ago
<https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=c2137f55ad04e451d834048d4bfec1de2daea20e>.
With all the changes in areas such as ELF attributes, if you tried to
use LLVM's RISC-V assembler output with a binutils that old then zext.b
would be the least of your worries.
Commit: 70f083f068ef0c6c589897d44e809ca18d5d1148
https://github.com/llvm/llvm-project/commit/70f083f068ef0c6c589897d44e809ca18d5d1148
Author: David Green <david.green at arm.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
Log Message:
-----------
[LV][AArch64] Test cleanup of low_trip_count_predicates.ll. NFC
Post commit cleanup from #132170
Commit: 864c76a181dd054a2c74ffa58b02bc554a8a1f83
https://github.com/llvm/llvm-project/commit/864c76a181dd054a2c74ffa58b02bc554a8a1f83
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV] Rename operands used for branch and compressed jump targets. NFC (#133364)
The current names look just like predicates we use for regular
immediates, but branches and jumps also allow bare symbols.
While I was there I realized I could use PredicateMethod to have the
AsmMatcher directly call the template function we use in the asm parser.
Commit: 77ba6918a14ddef4ee639bf6221cc2eb95adf320
https://github.com/llvm/llvm-project/commit/77ba6918a14ddef4ee639bf6221cc2eb95adf320
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fuse-with-reshape-by-collapsing.mlir
Log Message:
-----------
[mlir][linalg] Fix FoldReshapeWithGenericOpByCollapsing insertion point (#133476)
Fixes dominance verifier error with
`FoldReshapeWithGenericOpByCollapsing` by setting the insertion point
after `producer`. The `tensor.collapse_shape` op only has a single
operand (`producer`) so it is safe to insert after the producer.
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 1bfc61064ab46e44865453d2c2176f5e7f96987c
https://github.com/llvm/llvm-project/commit/1bfc61064ab46e44865453d2c2176f5e7f96987c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-parent-operands-in-spill.ll
Log Message:
-----------
[SLP]Fix spill cost analysis for split vectorized nodes
If the entry is SplitVectorize, it can be skipped in favor of its
operands, operands allow correctly detect spill costs.
Fixes #133288
Commit: d4dc5712c47dab5f5dcfc329db8121059b591fb1
https://github.com/llvm/llvm-project/commit/d4dc5712c47dab5f5dcfc329db8121059b591fb1
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Allow setting a base directory for hosted pages (#132482)
Currently, when we set URLs from JS, we set them only using the protocol
and host locations. This works fine when docs are served from the base
directory of the site, but if you want to nest it under another
directory, our JS fails to set the correct path, leading to broken
links.
This patch adds a --base option to specify the path prefix to use, which
is set in the generated index_json.js file. index.json can then fill in
the prefix appropriately when generating links in a browser. This flag
has no effect for non HTML output.
Given an index hosted at: www.docs.com/base_directory/index.html
we used to generate the following link:
www.docs.com/file.html
Using --base base_directory we now generate:
www.docs.com/base_directory/file.html
This allows such links to work when hosting pages without using a custom
index.js.
Commit: c8246f69f4e17b877bf42643f3d4360a89232f68
https://github.com/llvm/llvm-project/commit/c8246f69f4e17b877bf42643f3d4360a89232f68
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/include/__tree
Log Message:
-----------
[libc++] Remove friend declarations from __tree (#133237)
Instead, make the few functions `map` relies on public. This makes it
more clear what is private to `__tree` and what is part of the
library-internal interface.
Commit: 45b9e24b1ea8f34230cb2a746d624bd7e64e484b
https://github.com/llvm/llvm-project/commit/45b9e24b1ea8f34230cb2a746d624bd7e64e484b
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
M compiler-rt/test/metadata/lit.cfg.py
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M llvm/include/llvm/ProfileData/InstrProfData.inc
Log Message:
-----------
Fix some small typos in compiler-rt. NFC (#133388)
Commit: 91d2ecf0d563b03d75380375e8ac26a291bed9d7
https://github.com/llvm/llvm-project/commit/91d2ecf0d563b03d75380375e8ac26a291bed9d7
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/src/__support/CPP/atomic.h
M mlir/include/mlir/Analysis/Presburger/Simplex.h
M mlir/include/mlir/AsmParser/AsmParser.h
M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_loose.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f16-f16-accum.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/sm80/transform-mma-sync-matmul-f32.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f16.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32-bare-ptr.mlir
M mlir/test/Integration/GPU/CUDA/TensorCore/wmma-matmul-f32.mlir
M mlir/test/mlir-tblgen/op-properties-predicates.td
Log Message:
-----------
[NFC] Fix some typos in libc and mlir comments (#133374)
Commit: 812efdb0940f82fbfd2a139573764364cb55cdc2
https://github.com/llvm/llvm-project/commit/812efdb0940f82fbfd2a139573764364cb55cdc2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Bump the version to 0.2.11
Commit: c0952a931c7d556ca9f0073d86d591a37eb60477
https://github.com/llvm/llvm-project/commit/c0952a931c7d556ca9f0073d86d591a37eb60477
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/bounds-checking-debuginfo.c
Log Message:
-----------
[clang] [sanitizer] add pseudofunction to indicate array-bounds check (#128977)
With this, we can:
* use profilers to estimate how many cycles we spend on these checks
(subject to caveats),
* more easily see why we crashed.
Commit: 812e02a74c0afb8bce8bf7ac7cc606ace188e30d
https://github.com/llvm/llvm-project/commit/812e02a74c0afb8bce8bf7ac7cc606ace188e30d
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/f16-instructions.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fast-math.ll
A llvm/test/CodeGen/NVPTX/frem.ll
Log Message:
-----------
[NVPTX] Use fast-math flags when lowering sin, cos, frem (#133121)
Update the lowering rules for sin, cos, and frem to respect the
instruction-level flags in addition to the global and function-level
options. For sin and cos, the TableGen lowering has been updated to
check the `afn` flag on the node. The lowering for frem has been pulled
to custom instruction legalization in order to allow for DAG Combiner
optimizations to operate over the expanded instructions.
Commit: 83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
https://github.com/llvm/llvm-project/commit/83c4cb36aaa41cc58f8d9fed5cb364e46e5c7db5
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Make Root Signature lexer keywords case-insensitive (#132967)
>From the corrections to the Root Signature specification here:
https://github.com/llvm/wg-hlsl/issues/192. It was denoted that keywords
are also case-insensitive in DXC.
This pr adjusts the lexer to adhere to the updated spec.
We also have a NFC to add a missing license to a file while in the area.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 0c811053734e49151fb436f8afbb87b396bcb15e
https://github.com/llvm/llvm-project/commit/0c811053734e49151fb436f8afbb87b396bcb15e
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M llvm/test/tools/llvm-profdata/malformed-ptr-to-counter-array.test
M offload/test/offloading/gpupgo/pgo1.c
M offload/test/offloading/gpupgo/pgo2.c
Log Message:
-----------
[PGO][Offload] Disable PGO on NVPTX (#133522)
Commit: 3026fa0eb61904d6dde1dba8c93a3c757c2d4056
https://github.com/llvm/llvm-project/commit/3026fa0eb61904d6dde1dba8c93a3c757c2d4056
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
Log Message:
-----------
[HLSL] add CustomTypeChecking to float builtins (#133441)
- Add CustomTypeChecking to HLSL builtins that take float arguments
- Add new builtin tests to confirm CustomTypeChecking doesn't promote
scalar float arguments aren't promoted to double
- fixes #133440
Commit: 783a846507683c7b515473b833c9cf02cd2b1993
https://github.com/llvm/llvm-project/commit/783a846507683c7b515473b833c9cf02cd2b1993
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-vplan.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vplan-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/X86/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains-vplan.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/uncountable-early-exit-vplan.ll
M llvm/test/Transforms/LoopVectorize/vplan-dot-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge-vf1.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
M llvm/test/Transforms/LoopVectorize/vplan-widen-struct-return.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Add VF as operand to VPScalarIVStepsRecipe.
Similarly to other recipes, update VPScalarIVStepsRecipe to also take
the runtime VF as argument. This removes some unnecessary runtime VF
computations for scalable vectors. It will also allow dropping the
UF == 1 restriction for narrowing interleave groups required in
577631f0a528.
Commit: bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
https://github.com/llvm/llvm-project/commit/bf02dfcd8c69f45f5ea0e273fc63cc34675ae5c2
Author: Mohammed Keyvanzadeh <mohammadkeyvanzade94 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/AddressRanges.h
Log Message:
-----------
[llvm][ADT] Some AddressRanges.h improvements (#132847)
- Rename parameter to adhere to the project's parameter naming
convention.
- Remove redundant template argument.
- Remove redundant name-qualification.
- Change non-explicit conversion operator to an explicit one to avoid
surprising implicit conversions.
Commit: 457970d25d7216d793734915ab675701e50c292c
https://github.com/llvm/llvm-project/commit/457970d25d7216d793734915ab675701e50c292c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
Log Message:
-----------
[libc++][NFC] Format std::num_put tests
Commit: 77913b5d1dc970e3e053ab1ab160da897560b1b4
https://github.com/llvm/llvm-project/commit/77913b5d1dc970e3e053ab1ab160da897560b1b4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add instantiation of VPUnrollPartAccessor<3> to fix link error.
Fix link errors with GCC by providing an explicit instantiation.
Commit: 5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
https://github.com/llvm/llvm-project/commit/5a073f1f3ad99e70138e9ef8097ccc2b7fad05b2
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[doc][IR] Add documentation for `llvm.vector.(de)interleave3/5/7` (#133519)
I put the documentation of all factors into the same (de)interleave
entries because I really don't see a reason to separate them in an
already long LangRef page.
Commit: 021a1f69742aab7d650887a0978db5cf007967d3
https://github.com/llvm/llvm-project/commit/021a1f69742aab7d650887a0978db5cf007967d3
Author: Alex <alejandro.duran at intel.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M offload/include/OffloadPolicy.h
M offload/libomptarget/PluginManager.cpp
Log Message:
-----------
[OFFLOAD] Stricter enforcement of user offload disable (#133470)
If user specifies offload is disabled (e.g.,
OMP_TARGET_OFFLOAD=disable), disable library almost completely. This
reduces resources spent to a minimum and ensures all APIs behave as if
the only available device is the host device.
Currently some of the APIs behave as if there were devices avaible for
offload even when under OMP_TARGET_OFFLOAD=disable.
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 973bf4d53b9cfac4400a9954d9c527092b238a86
https://github.com/llvm/llvm-project/commit/973bf4d53b9cfac4400a9954d9c527092b238a86
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Remove unnecessary if guard before calling SignExtend64<6> in decodeCLUIImmOperand. NFC (#133514)
Commit: 5bdce305793f161cfa1bf69a65954089c99ccf0b
https://github.com/llvm/llvm-project/commit/5bdce305793f161cfa1bf69a65954089c99ccf0b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
Log Message:
-----------
[AMDGPU][True16][CodeGen] remove v2i16 from srl pattern (#133458)
remove v2i16 from srl true16 pattern since 16bit right shift on v2i16
should not be applied with this pattern
Commit: 48408954670e1f564bd92eed6b54bf155238201c
https://github.com/llvm/llvm-project/commit/48408954670e1f564bd92eed6b54bf155238201c
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
Log Message:
-----------
[libc] implement `memalignment` (#132493)
This patch adds the `memalignment` function to LLVM-libc, following its
description in [WG14 N3220,
ยง7.24.2.1](https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf#page=387).
- [x] Add the implementation of `memalignment` in
[`/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/src/stdlib)
- [x] Add tests for `memalignment` in
[`/test/src/stdlib`](https://github.com/llvm/llvm-project/tree/main/libc/test/src/stdlib)
- [x] Add `memalignment` to
[`entrypoints.txt`](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `memalignment` to
[`include/stdlib.yaml`](https://github.com/llvm/llvm-project/blob/main/libc/include/stdlib.yaml)
Closes #132300
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 5252bb1d74cc7bcbba4d0f6826486f43a124d01c
https://github.com/llvm/llvm-project/commit/5252bb1d74cc7bcbba4d0f6826486f43a124d01c
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Interfaces/InferIntRangeInterface.cpp
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir] IntegerRangeAnalysis: return initialized state for noninteger values (#133541)
Otherwise, the state for noninteger values remains uninitialized,
causing the analysis to return bogus results.
Commit: 934f2557bacbbe914878c1ba56a17a8c6eae83c9
https://github.com/llvm/llvm-project/commit/934f2557bacbbe914878c1ba56a17a8c6eae83c9
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
[mlir][analysis] Commit missing check lines
Commit: b394babddcec466a4cb8f31ea94b99c1b934ea71
https://github.com/llvm/llvm-project/commit/b394babddcec466a4cb8f31ea94b99c1b934ea71
Author: Ahmed Bougacha <ahmed at bougacha.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
A llvm/test/Transforms/HotColdSplit/musttail.ll
Log Message:
-----------
[HotColdSplit] Don't outline musttail calls. (#133177)
musttail calls have several restrictions, generally enforcing matching
calling conventions between the caller parent and musttail callee. We
can't usually honor them, because the extracted function has a different
signature altogether, taking inputs/outputs and returning a control-flow
identifier rather than the actual return value.
Don't consider musttail calls as valid for extraction.
Commit: e29f228a0732b126cca3ee2ff2536f08c1e49434
https://github.com/llvm/llvm-project/commit/e29f228a0732b126cca3ee2ff2536f08c1e49434
Author: Mogball <jeffniu22 at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/test/Dialect/Arith/int-range-interface.mlir
Log Message:
-----------
actually fix the test
Commit: 1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
https://github.com/llvm/llvm-project/commit/1462c26a9f5505c899a3ddbd78fd0caa6675c5fd
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
Log Message:
-----------
[HLSL] Add WaveReadLaneAt unsigned integer overloads (#133520)
Add WaveReadLaneAt unsigned integer overloads
2nd argument of WaveReadLaneAt should be a uint32_t and not an int32_t
add tests
Closes #133473
Commit: 1e00bb16f488492198df692ae2e2abc405a138f3
https://github.com/llvm/llvm-project/commit/1e00bb16f488492198df692ae2e2abc405a138f3
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
Log Message:
-----------
[sanitizer] actually run preadv2 test (#133529)
it seems the %run was accidentally omitted, otherwise the `assert` calls
would not make sense
Commit: c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
https://github.com/llvm/llvm-project/commit/c8a70f4c6e24076ac3fc18bfb9e2a41ece83e7fc
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A llvm/include/llvm/Analysis/StaticDataProfileInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/Analysis/CMakeLists.txt
A llvm/lib/Analysis/StaticDataProfileInfo.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
A llvm/test/CodeGen/X86/global-variable-partition.ll
Log Message:
-----------
[CodeGen][StaticDataPartitioning]Place local-linkage global variables in hot or unlikely prefixed sections based on profile information (#125756)
In this PR, static-data-splitter pass finds out the local-linkage global
variables in {`.rodata`, `.data.rel.ro`, `bss`, `.data`} sections by
analyzing machine instruction operands, and aggregates their accesses
from code across functions.
A follow-up item is to analyze global variable initializers and count
for access from data.
* This limitation is demonstrated by `bss2` and `data3` in
`llvm/test/CodeGen/X86/global-variable-partition.ll`.
Some stats of static-data-splitter with this patch:
**section**|**bss**|**rodata**|**data**
:-----:|:-----:|:-----:|:-----:
hot-prefixed section coverage|99.75%|97.71%|91.30%
unlikely-prefixed section size percentage|67.94%|39.37%|63.10%
1. The coverage is defined as `#perf-sample-in-hot-prefixed <data>
section / #perf-sample in <data.*> section` for each <data> section.
* The perf command samples
`MEM_INST_RETIRED.ALL_LOADS:u:pinned:precise=2` events at a high
frequency (`perf -c 2251`) for 30 seconds. The profiled binary is built
as non-PIE so `data.rel.ro` coverage data is not available.
2. The unlikely-prefixed `<data>` section size percentage is defined as
`unlikely <data> section size / the sum size of <data>.* sections` for
each `<data>` section
Commit: 515d1ae679ea25687423be37abec74565d755921
https://github.com/llvm/llvm-project/commit/515d1ae679ea25687423be37abec74565d755921
Author: Mohamed Emad <73320969+hulxv at users.noreply.github.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
Log Message:
-----------
[clang-doc] Add --repository-line-prefix argument (#131280)
This PR adds a new command-line option that allows users to specify the
prefix used for line-based anchors in repository URLs. Different
repository interfaces use different formats for line anchors (GitHub
uses `#L123`, googlesource uses `#123`, etc.). This option enables users
to customize the line prefix to match their repository platform without
requiring hard-coded values for each service.
Fixes #59814
Commit: 6cc208cd3c80a57c535ad2ea7e8a189d02966682
https://github.com/llvm/llvm-project/commit/6cc208cd3c80a57c535ad2ea7e8a189d02966682
Author: Michael Jones <michaelrj at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A libc/Maintainers.rst
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/index.rst
M llvm/Maintainers.md
Log Message:
-----------
[libc] Add maintainers file (#133471)
Based on #133297 by jhuber.
LLVM-libc needs a maintainers file, this patch adds an initial set.
The file is based on `clang/maintainers.rst` and
https://llvm.org/docs/DeveloperPolicy.html#maintainers.
Commit: 8dc64e93cb203904c778ba7c390f8b7adc85bb02
https://github.com/llvm/llvm-project/commit/8dc64e93cb203904c778ba7c390f8b7adc85bb02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
Log Message:
-----------
llvm-reduce: Avoid double map lookup (#133447)
Commit: 27b53e90a50428456e48a04b606fc366d48520a9
https://github.com/llvm/llvm-project/commit/27b53e90a50428456e48a04b606fc366d48520a9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName instead of setName when cloning functions (#133393)
Commit: 4324f236ac8e8487f82c2f5e9fff1560600019c8
https://github.com/llvm/llvm-project/commit/4324f236ac8e8487f82c2f5e9fff1560600019c8
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Analysis/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port c8a70f4c6e24
Commit: bb047b9ea37f8183941bdbffde00886fa4ab2407
https://github.com/llvm/llvm-project/commit/bb047b9ea37f8183941bdbffde00886fa4ab2407
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/lib/SandboxIR/Constant.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement missing ConstantVector member functions (#131390)
This patch implements get(), getSplat(), getSplatValue() and getType(),
mirroring LLVM IR.
Commit: fb0cd9899d79211a497f0b560f73d2bca67d7d9d
https://github.com/llvm/llvm-project/commit/fb0cd9899d79211a497f0b560f73d2bca67d7d9d
Author: AdityaK <hiraditya at msn.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/IR/Verifier.cpp
Log Message:
-----------
NFC: Remove unused includes (#133474)
Commit: 304b3c500021a9281a1d03cf3a63380ca31f7451
https://github.com/llvm/llvm-project/commit/304b3c500021a9281a1d03cf3a63380ca31f7451
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.RawPtrRefMemberChecker] The checker doesn't warn Objective-C types in ivars. (#132833)
This PR fixes the bug that we weren't generating warnings when a raw
poiner is used to point to a NS type in Objective-C ivars. Also fix the
bug that we weren't suppressing this warning in system headers.
Commit: 84c1afe69e51018fd48462d95190797f880d5195
https://github.com/llvm/llvm-project/commit/84c1afe69e51018fd48462d95190797f880d5195
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
Log Message:
-----------
llvm-reduce: Simplify instruction reduction to avoid worklist (#133391)
Commit: b2e2950358ff6fc201e408145b30db63b33d486b
https://github.com/llvm/llvm-project/commit/b2e2950358ff6fc201e408145b30db63b33d486b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
R llvm/test/tools/llvm-reduce/remove-ifunc-constantexpr.ll
Log Message:
-----------
llvm-reduce: Remove xfailed test for ifunc with constant expression (#133389)
The verifier does reject this now
Commit: 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
https://github.com/llvm/llvm-project/commit/8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
A llvm/test/tools/llvm-reduce/Inputs/flaky-test.py
A llvm/test/tools/llvm-reduce/flaky-interestingness.ll
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Do not assert if the input is no longer interesting (#133386)
If the interestingness script is flaky, we should not assert. Print
a warning, and continue. This could still happen as a result of an
llvm-reduce bug, so make a note of that.
Add a --skip-verify-interesting-after-counting-chunks option to
avoid the extra run of the reduction script, and to silence the
warning.
Commit: 842f25a5fb781491c14102d0db1886a78a190ed5
https://github.com/llvm/llvm-project/commit/842f25a5fb781491c14102d0db1886a78a190ed5
Author: Florian Mayer <fmayer at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
Log Message:
-----------
[NFC] [dataflow] generalize smart pointer caching (#133350)
This allows us to use it for classes that use other names than get /
value.
Commit: 8726e973459d93d34653946ba1e01ad198cdf11f
https://github.com/llvm/llvm-project/commit/8726e973459d93d34653946ba1e01ad198cdf11f
Author: Thurston Dang <thurston at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/sse2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx-intrinsics-i386.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/mmx-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/sse2-intrinsics-i386.ll
Log Message:
-----------
[msan] Handle SSE2 cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps using handleSSEVectorConvertIntrinsicByProp (#132815)
cvt(t?)ps2dq/cvt(t?)pd2dq and cvtpd2ps are currently handled strictly.
This patch handles them using handleSSEVectorConvertIntrinsicByProp
(from https://github.com/llvm/llvm-project/pull/130705), generalized to
handle SSE intrinsics that do not have a rounding mode parameter.
Commit: 724f2096cedd6e179c79eaddf41accaad1218c96
https://github.com/llvm/llvm-project/commit/724f2096cedd6e179c79eaddf41accaad1218c96
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/distinct-dimetadata-nullptr.ll
M llvm/test/tools/llvm-reduce/operands-to-args-metadata.ll
M llvm/test/tools/llvm-reduce/reduce-distinct-metadata.ll
M llvm/test/tools/llvm-reduce/remove-attributes-from-intrinsics.ll
M llvm/test/tools/llvm-reduce/remove-function-bodies.ll
M llvm/test/tools/llvm-reduce/remove-instructions.ll
M llvm/test/tools/llvm-reduce/remove-metadata.ll
M llvm/test/tools/llvm-reduce/remove-module-data.ll
M llvm/test/tools/llvm-reduce/remove-multiple-use-of-args-in-same-instruction.ll
M llvm/test/tools/llvm-reduce/skip-delta-passes.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode-split.ll
M llvm/test/tools/llvm-reduce/temporary-files-as-bitcode.ll
Log Message:
-----------
llvm-reduce: Add -abort-on-invalid-reduction to more tests (#133390)
If I flip the default, the only failures are in MIR tests.
Commit: 22a11be8ab6f31cd3621f37d675e44988218f314
https://github.com/llvm/llvm-project/commit/22a11be8ab6f31cd3621f37d675e44988218f314
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/invalid.mlir
Log Message:
-----------
[mlir][vector] Fix parser of `vector.contract` (#133434)
This PR adds a check in the parser to prevent a crash when
`vector.contract` lacks the `iterator_types` attribute.
Fixes #132886.
Commit: 55430f8673b9f8b27779faad3fe9c59954d539df
https://github.com/llvm/llvm-project/commit/55430f8673b9f8b27779faad3fe9c59954d539df
Author: peterbell10 <peterbell10 at openai.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/Transforms/SLPVectorizer/NVPTX/v2f16.ll
Log Message:
-----------
[NVPTX] Customize getScalarizationOverhead (#128077)
We've observed that the SLPVectorizer is too conservative on NVPTX
because it over-estimates the cost to build a vector. PTX has a single
`mov` instruction that can build e.g. `<2 x half>` vectors from scalars,
however the SLPVectorizer over-estimates it as the cost of 2 insert
elements.
To fix this I customize `getScalarizationOverhead` to lower the cost for
building 2x16 types.
Commit: 539ef5eee2c26b93923ed7872c6f847ff54c71ae
https://github.com/llvm/llvm-project/commit/539ef5eee2c26b93923ed7872c6f847ff54c71ae
Author: John Harrison <harjohn at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Addressing ubsan enum usage. (#133542)
Running tests with ubsan enabled showed that the current
`protocol::AdapterFeature` and `protocol::ClientFeature` enums are
incorrectly defined if we want to use them in a `llvm::DenseSet`. The
enums are currently untyped and this results in the undefined behavior.
Adding `FLAGS_ENUM()` wrappers to all the enums in the
`lldb-dap::protocol` namespace to ensure they're typed so they can be
used with types like `llvm::DenseSet`.
Commit: f8ffbaebed1a7ac82a445a22630fefb769f0d08b
https://github.com/llvm/llvm-project/commit/f8ffbaebed1a7ac82a445a22630fefb769f0d08b
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[test] Test absolute/relative relocations referencing undefined non-weak symbol
Commit: edef028029c4785dfe23c06731de4fc9f34d5cd5
https://github.com/llvm/llvm-project/commit/edef028029c4785dfe23c06731de4fc9f34d5cd5
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xqciio-aliases-valid.s
A llvm/test/MC/RISCV/xqciio-invalid.s
A llvm/test/MC/RISCV/xqciio-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqciio (External Input Output) extension (#132721)
This extension adds two external input output instructions for
non-memory-mapped device.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.7.0
This patch adds assembler only support.
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: b33cc642ed398b13875dbb9099916affce355b49
https://github.com/llvm/llvm-project/commit/b33cc642ed398b13875dbb9099916affce355b49
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
Log Message:
-----------
[lldb] Use *Set::insert_range and a range constructor (NFC) (#133548)
This patch uses *Set::insert_range and a range constructor of DenseSet
to clean up the code to populate sets.
Commit: d4427f308eb6e42790a36b56d61b482cbc9f67ba
https://github.com/llvm/llvm-project/commit/d4427f308eb6e42790a36b56d61b482cbc9f67ba
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/tools/llvm-extract/llvm-extract.cpp
M llvm/unittests/ADT/DirectedGraphTest.cpp
Log Message:
-----------
[llvm] Use range constructors of *Set (NFC) (#133549)
Commit: d3c10a3897ccd060090ca273de4cedb91cd2d605
https://github.com/llvm/llvm-project/commit/d3c10a3897ccd060090ca273de4cedb91cd2d605
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
Log Message:
-----------
[CodeGen] Use llvm::reverse (NFC) (#133550)
Commit: f915015a3e22d569f23dee0e042bfd6f4ee74509
https://github.com/llvm/llvm-project/commit/f915015a3e22d569f23dee0e042bfd6f4ee74509
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[llvm] Remove extraneous calls to make_range (NFC) (#133551)
Commit: 854d795985d404236346340cb015409c30078e46
https://github.com/llvm/llvm-project/commit/854d795985d404236346340cb015409c30078e46
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/tools/mlir-tblgen/RewriterGen.cpp
Log Message:
-----------
[mlir] Use llvm::reverse (NFC) (#133552)
Commit: 63bb0078f824143f580225ad92464b21186f646e
https://github.com/llvm/llvm-project/commit/63bb0078f824143f580225ad92464b21186f646e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CMakeLists.txt
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
Log Message:
-----------
[ctxprof] Auto root detection: trie for stack samples (#133106)
An initial patch for supporting automated root detection. The auto-detector is introduced subsequently, but this patch introduces a datastructure for capturing sampled stacks, per thread, in a trie, and inferring from such samples which functions are reasonable roots.
Commit: 1d4801f22ab1fd6205b1cf625b690aefc554cd4c
https://github.com/llvm/llvm-project/commit/1d4801f22ab1fd6205b1cf625b690aefc554cd4c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
Log Message:
-----------
[mlir] fix `maybeReplaceWithConstant` in IntRangeOptimizations (#133556)
If a dialect is caching/reusing constants when materializing then such
constants might already have `IntegerValueRangeLattice`s associated with
them and the range endpoint bit widths might not match the new
replacement (amongst other possible wackiness).
I observed this with `%true = arith.constant true` which was
materialized but had an existing `IntegerValueRangeLattice` (i.e.,
`solver.getOrCreateState<dataflow::IntegerValueRangeLattice>` was not
uninitalized) with range endpoint bit widths:
```
umin bit width: 32
umax bit width: 32
smin bit width: 32
smax bit width: 32
```
while the widths of the range end points for something like `%20 =
arith.cmpi slt, %19, %c1_i32` (a replacement candidate) would be
```
umin bit width: 1
umax bit width: 1
smin bit width: 1
smax bit width: 1
```
Thus, we should be clearing the analysis state each time a constant is
reused.
Commit: ba2de8f22d0cac86d89c1806fb54ed3463349342
https://github.com/llvm/llvm-project/commit/ba2de8f22d0cac86d89c1806fb54ed3463349342
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Allow absolute relocation referencing symbol index 0 in PIC mode
The value of an absolute relocation, like R_RISCV_HI20 or R_PPC64_LO16,
with a symbol index of 0, the resulting value should be treated as
absolute and permitted in both -pie and -shared links.
This change also resolves an absolute relocation referencing an
undefined symbol in statically-linked executables.
PPC64 has unfortunate exceptions:
* R_PPC64_TOCBASE uses symbol index 0 but it should be treated as
referencing the linker-defined .TOC.
* R_PPC64_PCREL_OPT (https://reviews.llvm.org/D84360) could no longer
rely on `isAbsoluteValue` return false.
Commit: 8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
https://github.com/llvm/llvm-project/commit/8e1d9f2d844a22f7d1cba93c604a9a094636f7a2
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Move 2 implementation functions up in `CtxInstrProfiling.cpp` (#133146)
Commit: 31fe0d20fc49b0e0f653c95496b7955328f2983b
https://github.com/llvm/llvm-project/commit/31fe0d20fc49b0e0f653c95496b7955328f2983b
Author: vporpo <vporpodas at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Vectorizers.rst
Log Message:
-----------
[SandboxVec][Doc] Add documentation for the Sandbox Vectorizer (#133504)
Commit: 2898c3e0bbf904c68efb194525bcdfeedb3014c2
https://github.com/llvm/llvm-project/commit/2898c3e0bbf904c68efb194525bcdfeedb3014c2
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .github/workflows/pr-code-format.yml
Log Message:
-----------
[Github] Simplify Getting Changed Files in Code Formatting Workflow (#133023)
This patch changes getting changed files in the pr code format job to
just checking out the previous two commits (the merge commit and its
porent, the current commit latest in main), which allows us to just diff
the merge commit. This means we do not have to checkout the ref through
the merge base, which should save approximately a minute per job (or
much more in some cases where the PR is particularly out of date).
Commit: 1e03408d4b17a792da5fd01b30f05ff055cfbd79
https://github.com/llvm/llvm-project/commit/1e03408d4b17a792da5fd01b30f05ff055cfbd79
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
A llvm/test/CodeGen/DirectX/remove-dead-intriniscs.ll
Log Message:
-----------
[DirectX] Remove intrinsic definitions with no use (#133459)
Do cleanup in DXILFinalizeLinkage.cpp where intrinsic declares are getting orphaned.
This change reduces "Unsupported intrinsic for DXIL lowering" errors
when compiling DML shaders from 12218 to 415. and improves our
compilation success rate from less than 1% to 44%.
Commit: 40c1d50024f8f0306b8601559d69663ae3d2d9bb
https://github.com/llvm/llvm-project/commit/40c1d50024f8f0306b8601559d69663ae3d2d9bb
Author: Kaitlin Peng <kaitlinpeng at microsoft.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll
A llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll
Log Message:
-----------
[HLSL] Implement the `smoothstep` intrinsic (#132288)
Closes #99156.
Tasks completed:
- Implement `smoothstep` using HLSL source in `hlsl_intrinsics.h`
- Implement the `smoothstep` SPIR-V target built-in in
`clang/include/clang/Basic/BuiltinsSPIRV.td`
- Add sema checks for `smoothstep` to `CheckSPIRVBuiltinFunctionCall` in
`clang/lib/Sema/SemaSPIRV.cpp`
- Add codegen for spv `smoothstep` to `EmitSPIRVBuiltinExpr` in
`clang/lib/CodeGen/TargetBuiltins/SPIR.cpp`
- Add codegen tests to `clang/test/CodeGenHLSL/builtins/smoothstep.hlsl`
- Add spv codegen test to
`clang/test/CodeGenSPIRV/Builtins/smoothstep.c`
- Add sema tests to
`clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl`
- Add spv sema tests to
`clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c`
- Create the `int_spv_smoothstep` intrinsic in `IntrinsicsSPIRV.td`
- In SPIRVInstructionSelector.cpp create the `smoothstep` lowering and
map it to `int_spv_smoothstep` in
`SPIRVInstructionSelector::selectIntrinsic`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/hlsl-intrinsics/smoothstep.ll`
- Create SPIR-V backend test case in
`llvm/test/CodeGen/SPIRV/opencl/smoothstep.ll`
Commit: 34d858635f0887cc083ccbe3ac69fd34f107b4f6
https://github.com/llvm/llvm-project/commit/34d858635f0887cc083ccbe3ac69fd34f107b4f6
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/generate-buildkite-pipeline-premerge
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI] Move CI over to new project computation script
This patch migrates the CI over to the new compute_projects.py script
for calculating what projects need to be tested based on a change to
LLVM.
Reviewers: lnihlen, ldionne, tstellar, Endilll, joker-eph, Keenuts
Reviewed By: Keenuts, tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/132642
Commit: 21eeca3db0341fef4ab4a6464ffe38b2eba5810c
https://github.com/llvm/llvm-project/commit/21eeca3db0341fef4ab4a6464ffe38b2eba5810c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude docs directories from triggering rebuilds
Currently when someone touches a docs directory in a subproject, it is
treated as if the source code of that project got touched, so the
project is built, it is tested, and the same for all of its enumerated
dependents. This is wasteful, particularly for patches just touching
docs in places like LLVM where we might spend an hour of node time to do
nothing useful given changes in the docs shouldn't cause test failures
and there is already another workflow that tests the documentation build
completes successfully.
Reviewers: Keenuts, tstellar, lnihlen
Reviewed By: tstellar
Pull Request: https://github.com/llvm/llvm-project/pull/133185
Commit: 41c906fe2b62a8266874a1146b9c85d96f1fa8fa
https://github.com/llvm/llvm-project/commit/41c906fe2b62a8266874a1146b9c85d96f1fa8fa
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
A .ci/generate_test_report_github.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
Log Message:
-----------
[CI] Add rich build information for github workflows
This patch adds rich test failure information to the Github output,
using the same library that is used for the buildkite pipeline.
Eventually I think we want to add more information like reproduction
information using the containers, but that is very divergent between
Github and Buildkite, so we probably want to wait until we've switched
over before doing that.
Reviewers: Keenuts, tstellar, lnihlen, DavidSpickett
Reviewed By: DavidSpickett, Keenuts
Pull Request: https://github.com/llvm/llvm-project/pull/133197
Commit: 1e62a3505fa0d0ef1f706549ce62f645f3091cfa
https://github.com/llvm/llvm-project/commit/1e62a3505fa0d0ef1f706549ce62f645f3091cfa
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-28 (Fri, 28 Mar 2025)
Changed paths:
M llvm/test/MC/RISCV/linker-relaxation.s
Log Message:
-----------
[RISCV] Test %hi(absolute_symbol)
Commit: e87bec622c0d10ae736e160a9335055d466d76ab
https://github.com/llvm/llvm-project/commit/e87bec622c0d10ae736e160a9335055d466d76ab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/fail-execute-test.test
A llvm/test/tools/llvm-reduce/fail-output-file.test
M llvm/tools/llvm-reduce/TestRunner.cpp
Log Message:
-----------
llvm-reduce: Make some error messages more consistent (#133563)
The coding standards states that error messages should start with
a lowercase. Also use WithColor, and add missing test coverage for
the failed to write to output file case.
Commit: 5b3e152e16950e551530b640335bb17dcc70a2fa
https://github.com/llvm/llvm-project/commit/5b3e152e16950e551530b640335bb17dcc70a2fa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/run-ir-passes-error.ll
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
Log Message:
-----------
llvm-reduce: Make run-ir-passes error more consistent (#133564)
Avoid capitalized Error. This loses the "Error constructing pass pipeline"
part, and just forwards the error to the default report_fatal_error case. Not
sure if it's worth trying to keep.
Commit: 1878259c3960daeee91e2c95d487514d9e2984a4
https://github.com/llvm/llvm-project/commit/1878259c3960daeee91e2c95d487514d9e2984a4
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
Log Message:
-----------
[mlir][spirv] Update verifier for `spirv.mlir.merge` (#133427)
- Moves the verification logic to the `verifyRegions` method of the
parent operation.
- Fixes a crash during verification when the last block lacks a
terminator.
Fixes #132850.
Commit: fa5025b76034bcdd65d3a96eb29ae1edc18b876e
https://github.com/llvm/llvm-project/commit/fa5025b76034bcdd65d3a96eb29ae1edc18b876e
Author: Marco Elver <elver at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Add entry for pcsections Metadata (#133423)
Add an entry for pcsections Metadata that references the PC Sections
Metadata document.
Fixes: https://github.com/llvm/llvm-project/issues/130552
Commit: 646ad89108da1e1f9aac9c20f348b2053da6fc4d
https://github.com/llvm/llvm-project/commit/646ad89108da1e1f9aac9c20f348b2053da6fc4d
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__type_traits/is_referenceable.h
Log Message:
-----------
[libc++] Unify __can_reference and __is_referenceable_v (#133278)
Both traits do the same thing. This patch renames __can_reference to
__referenceable and moves it to the is_referenceable header.
Commit: 5b5f40283da2244f777eb606c722e4483fee4fab
https://github.com/llvm/llvm-project/commit/5b5f40283da2244f777eb606c722e4483fee4fab
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing callsite attributes in operand-to-args (#133420)
Commit: d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
https://github.com/llvm/llvm-project/commit/d3d4a242de047f41589b4e2a27ecbcc3273d4cbf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing fast math flags in operands-to-args (#133421)
Commit: d852cc5311e22d845b3d626c80a310570628fa2c
https://github.com/llvm/llvm-project/commit/d852cc5311e22d845b3d626c80a310570628fa2c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args-preserve-fmf.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix losing call metadata in operands-to-args (#133422)
Commit: 1d0005a69ac812ea0ff069052daf4c2ea0242a48
https://github.com/llvm/llvm-project/commit/1d0005a69ac812ea0ff069052daf4c2ea0242a48
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/utils/gn/secondary/llvm/lib/CodeGen/GlobalISel/BUILD.gn
Log Message:
-----------
[GlobalISel][NFC] Rename GISelKnownBits to GISelValueTracking (#133466)
- rename `GISelKnownBits` to `GISelValueTracking` to analyze more than
just `KnownBits` in the future
Commit: d22e35be1768ed619269e6d0843260b25b52cb34
https://github.com/llvm/llvm-project/commit/d22e35be1768ed619269e6d0843260b25b52cb34
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/asinhf16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add asinhf16 function (#131351)
Implement asinh for Float16 along with tests. Closes #131001
Commit: 9451617d563d3b0f43d86b25fd1b6a6528d0afc2
https://github.com/llvm/llvm-project/commit/9451617d563d3b0f43d86b25fd1b6a6528d0afc2
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC] LLVM reduce: fix unused variable (#133584)
Commit: 1c7ab39f3d6959c64d01c8f275d672bd56315155
https://github.com/llvm/llvm-project/commit/1c7ab39f3d6959c64d01c8f275d672bd56315155
Author: YunQiang Su <syq at debian.org>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/test/CodeGen/Mips/brdelayslot.ll
A llvm/test/Transforms/LoopStrengthReduce/Mips/lit.local.cfg
M llvm/test/Transforms/LoopStrengthReduce/Mips/long-array-initialize.ll
Log Message:
-----------
MIPS: Set EnableLoopTermFold (#133454)
Setting `EnableLoopTermFold` enables `loop-term-fold` pass.
Commit: 0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
https://github.com/llvm/llvm-project/commit/0bed72160c5f8ee4574d46c2b5f342c4a868d8c4
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
Revert "[NFC] LLVM reduce: remove unused variable" (#133586)
Reverts llvm/llvm-project#133584
Commit: 3e742b517a0606bfed329dfcb8c34c614ed73ea7
https://github.com/llvm/llvm-project/commit/3e742b517a0606bfed329dfcb8c34c614ed73ea7
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
Log Message:
-----------
[NFC][AMDGPU] clang-format `AMDGPUBaseInfo.[h,cpp]` (#133559)
Commit: 374a5bea522f97f0879f30dacd5079297bdcfb39
https://github.com/llvm/llvm-project/commit/374a5bea522f97f0879f30dacd5079297bdcfb39
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
Log Message:
-----------
[Flang][OpenMP] Add PointerAssociateScalar to Cray Pointer used in the DSA (#133232)
Issue: Cray Pointer is not associated to Cray Pointee, leading to
Segmentation fault
Fix: GetUltimate, retrieves the base symbol in the current scope, which
gets passed all the references and returns the original symbol
---------
Co-authored-by: Michael Klemm <michael.klemm at amd.com>
Commit: 847cdd46e5433434661f4d7aa950dd5c5b28c063
https://github.com/llvm/llvm-project/commit/847cdd46e5433434661f4d7aa950dd5c5b28c063
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
[NFC][llvm-reduce] Fix an used variable warning in `ReduceOperandsToArgs.cpp`
Commit: e16541e1a6c02b32124e8893b29882bff072fd46
https://github.com/llvm/llvm-project/commit/e16541e1a6c02b32124e8893b29882bff072fd46
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__flat_set/flat_set.h
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
Log Message:
-----------
[libc++] fix `flat_set`'s transparent `insert` (#133402)
Unlike `flat_map` and `flat_multimap`, The two function template
overloads `flat_set::insert`'s wording strongly suggest we should use
the transparent comparator
https://eel.is/c++draft/flat.set#modifiers-1
Both the code and the tests were not using the transparent comparator,
which needs to be fixed
Commit: 1ff74917b56e9e57dd13286123144b5f13e9a517
https://github.com/llvm/llvm-project/commit/1ff74917b56e9e57dd13286123144b5f13e9a517
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/ELF/Driver.cpp
M lld/MachO/Driver.cpp
Log Message:
-----------
[lld] Use *Set::insert_range (NFC) (#133565)
Commit: 3db5be79d24bb48a38e844fafc3db054f8d8cc58
https://github.com/llvm/llvm-project/commit/3db5be79d24bb48a38e844fafc3db054f8d8cc58
Author: vporpo <vporpodas at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
A llvm/test/Transforms/SandboxVectorizer/print_region_pass.ll
Log Message:
-----------
[SandboxVec] Add print-region pass (#131019)
This patch implements a simple printing pass for regions. This is meant
to be used in tests and for debugging.
Commit: 666faa7fd98b7a58e089a38083f33c067ed5b955
https://github.com/llvm/llvm-project/commit/666faa7fd98b7a58e089a38083f33c067ed5b955
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/pr42905.ll
M llvm/test/CodeGen/X86/sad.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-fmin-fast.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-fmin-nnan.ll
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - accumulate SimplifyDemandedVectorElts demanded elts across all EXTRACT_SUBVECTOR uses (REAPPLIED) (#133401)
Similar to what is done for visitEXTRACT_VECTOR_ELT - if all uses of a vector are EXTRACT_SUBVECTOR, then determine the accumulated demanded elts across all users and call SimplifyDemandedVectorElts in "AssumeSingleUse" use.
Second try after #133130 was reverted by #133331 due to it affecting reverted test files
Commit: fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
https://github.com/llvm/llvm-project/commit/fe6fb910df9d1b9a9e2e7a6e8228d020668e0129
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/MC/ELF/rtti-proxy-gotpcrel.ll
M llvm/test/MC/RISCV/data-directive-specifier.s
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-invalid.s
Log Message:
-----------
[RISCV] Replace @plt/@gotpcrel in data directives with %pltpcrel %gotpcrel
clang -fexperimental-relative-c++-abi-vtables might generate `@plt` and
`@gotpcrel` specifiers in data directives. The syntax is not used in
humand-written assembly code, and is not supported by GNU assembler.
Note: the `@plt` in `.word foo at plt` is different from
the legacy `call func at plt` (where `@plt` is simply ignored).
The `@plt` syntax was selected was simply due to a quirk of AsmParser:
the syntax was supported by all targets until I updated it
to be an opt-in feature in a0671758eb6e52a758bd1b096a9b421eec60204c
RISC-V favors the `%specifier(expr)` syntax following MIPS and Sparc,
and we should follow this convention.
This PR adds support for `.word %pltpcrel(foo+offset)` and
`.word %gotpcrel(foo)`, and drops `@plt` and `@gotpcrel`.
* MCValue::SymA can no longer have a SymbolVariant. Add an assert
similar to that of AArch64ELFObjectWriter.cpp before
https://reviews.llvm.org/D81446 (see my analysis at
https://maskray.me/blog/2025-03-16-relocation-generation-in-assemblers
if intrigued)
* `jump foo at plt, x31` now has a different diagnostic.
Pull Request: https://github.com/llvm/llvm-project/pull/132569
Commit: b9b39db5d7677710f1d00dc8ff5844ad2abb269f
https://github.com/llvm/llvm-project/commit/b9b39db5d7677710f1d00dc8ff5844ad2abb269f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/test/MC/RISCV/insn.s
M llvm/test/MC/RISCV/linker-relaxation.s
M llvm/test/MC/RISCV/rv32i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-aliases-valid.s
M llvm/test/MC/RISCV/rv64i-valid.s
M llvm/test/MC/RISCV/rvd-valid.s
M llvm/test/MC/RISCV/rvf-valid.s
M llvm/test/MC/RISCV/rvi-valid.s
M llvm/test/MC/RISCV/rvzfbfmin-valid.s
M llvm/test/MC/RISCV/rvzfh-valid.s
M llvm/test/MC/RISCV/rvzfhmin-valid.s
Log Message:
-----------
RISCVAsmParser: Don't treat operands with relocation specifier as parse-time constants
An immediate operand is encoded as an `MCExpr`, with `RISCVMCExpr`
specifying an operand that includes a relocation specifier. When
https://reviews.llvm.org/D23568 added initial fixup and relocation
support in 2017, it adapted code from `PPCMCExpr` (for `@l` `@ha`) to
evaluate the `RISCVMCExpr` operand. (PPCAsmParser had considerable
technical debt, though Iโve recently streamlined it somewhat, e.g.
8560da28c69de481f3ad147722577e87b902facb)
Evaluating RISCVMCExpr during parsing is unnecessary. For example,
there's no need to treat `lui a0, %hi(2)` differently from `lui a0,
%hi(foo)` when foo has not been defined yet.
This evaluation introduces unnecessary complexity. For instance, parser
functions require an extra check like `VK == RISCVMCExpr::VK_None`, as
seen in these examples:
```
if (!evaluateConstantImm(getImm(), Imm, VK) || VK != RISCVMCExpr::VK_None)
return IsConstantImm && isUInt<N>(Imm) && VK == RISCVMCExpr::VK_None;
```
This PR eliminates the parse-time evaluation of `RISCVMCExpr`, aligning
it more closely with other targets.
---
`abs = 0x12345; lui t3, %hi(abs)` now generates
R_RISCV_HI20/R_RISCV_RELAX with linker relaxation.
(Tested by test/MC/RISCV/linker-relaxation.s)
(Notably, since commit ba2de8f22d0cac86d89c1806fb54ed3463349342 in
lld/ELF, the linker can handle R_RISCV_HI relocations with a symbol
index of 0 in -pie mode.)
Pull Request: https://github.com/llvm/llvm-project/pull/133377
Commit: 2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
https://github.com/llvm/llvm-project/commit/2ec88374e07f8ec395b7bf414bf1bdda88cebfc6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
Log Message:
-----------
[X86] Use MCRegister. NFC
Commit: 3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
https://github.com/llvm/llvm-project/commit/3ef33066bb32a9d9b76d72c6de6a7ae9ff72ddcc
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
A llvm/test/Transforms/LoopUnrollAndJam/delete_middle_loop.ll
Log Message:
-----------
[UnrollAndJam] Do not preserve loop nests if a loop was fully unrolled. (#133510)
If UnJ completely unrolls a loop and removes it entirely, the loop
remains in the current loop nest. If the loop nest gets reused the loops
will no longer be valid. As there is no way to remove a loop from a
LoopNest, this patch removes the preserve of the LoopNestAnalysis so
that it will be regenerated.
Fixes #124518
Commit: 884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
https://github.com/llvm/llvm-project/commit/884b19ab40c8b6e5d1fb54894c0418fd27bb93f9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
Log Message:
-----------
[clang-tools-extra] Use *Set::insert_range (NFC) (#133589)
Commit: 9c6eca28cbd4689173bc8b0733ffe39363481103
https://github.com/llvm/llvm-project/commit/9c6eca28cbd4689173bc8b0733ffe39363481103
Author: David Green <david.green at arm.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
Log Message:
-----------
[AArch64] Return an invalid cost for vscale x 2 x i128 srem.
This protects against invalid size requests on scalable vectors by checking the
original VT, not the legalized type when checking for scalars. The cost
returned is now invalid, which lines up with the codegen not being able to
produce a result.
Commit: 0cd82327ff71282b2bfc51090074a3fd63e4842d
https://github.com/llvm/llvm-project/commit/0cd82327ff71282b2bfc51090074a3fd63e4842d
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/BoundsSafety.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/SanitizerCoverage.rst
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Tooling/ExecutionTest.cpp
Log Message:
-----------
Fix some typos (NFC) (#133558)
Commit: 6b9813446625408393c5a2b4d0d54470f7932944
https://github.com/llvm/llvm-project/commit/6b9813446625408393c5a2b4d0d54470f7932944
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[VPlan] Re-enable narrowing interleave groups with interleaving.
Remove the UF = 1 restriction introduced by 577631f0a5 building on top
of 783a846507683, which allows updating all relevant users of the VF,
VPScalarIVSteps in particular.
This restores the full functionality of
https://github.com/llvm/llvm-project/pull/106441.
Commit: be7f185ca16e990614113519d003bfe3685f489b
https://github.com/llvm/llvm-project/commit/be7f185ca16e990614113519d003bfe3685f489b
Author: Alcaro <floating at muncher.se>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
Log Message:
-----------
[NFC][analyzer] Fix typo in VirtualCall checker docs (#133593)
Commit: 3d43739753f3b50824a09343efe40a2a476488df
https://github.com/llvm/llvm-project/commit/3d43739753f3b50824a09343efe40a2a476488df
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M clang/include/clang/Basic/TargetInfo.h
Log Message:
-----------
[Basic] Use SmallSet::insert_range (NFC) (#133594)
Commit: d66af9c69b6960ad5f903cc6c0db99395dace6af
https://github.com/llvm/llvm-project/commit/d66af9c69b6960ad5f903cc6c0db99395dace6af
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp
M mlir/lib/Tools/lsp-server-support/CompilationDatabase.cpp
Log Message:
-----------
[mlir] Use SetVector::insert_range (NFC) (#133595)
Commit: abf9c1a18d2875b6a8f98eba3761b8389818e1bf
https://github.com/llvm/llvm-project/commit/abf9c1a18d2875b6a8f98eba3761b8389818e1bf
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++] Switch a few attribute to use the C++11 syntax (#133293)
Using the C++11 attribute syntax makes it more strict where attributes
can be applied, reducing the number of possible positions an attribute
can appear in.
Commit: 31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
https://github.com/llvm/llvm-project/commit/31c37a4a5ebc0d13d86a91c300e15177e9d77ddf
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
Log Message:
-----------
[RISCV][TTI] Adjust VLS shuffle costing to account for sub-mask reuse (#129793)
If we have a shuffle which can be split via VLA where two or more of the
destinations have exactly the same elements, then we only need to
account for them once in costing. The duplicate copies are are (at
worst) whole register moves.
Note that this change only handles the single source case. Doing the
multiple source case seemed a bit more complicated, and I didn't have a
motivating test case.
Commit: 2f5c836e08164ce8835d520001042efe93caf950
https://github.com/llvm/llvm-project/commit/2f5c836e08164ce8835d520001042efe93caf950
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
Log Message:
-----------
[SBProgress] Add swig support for `with` statement in Python (#133527)
We recently added an explicit finalize to SBProgress, #128966. I
realized while adding some additional implementations of SBProgress that
we should to add `with` support for ease of use. This patch addresses
adding and `__enter()__` method (which a no-op) and an `__exit()__` to
swig. I also refactor the emitter for the test to leverage `with`
instead of explicitly calling finalize, and I've updated the docstrings.
Commit: f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
https://github.com/llvm/llvm-project/commit/f8ee58a3cbbe4de2ac6d006fad8363ae6d24aa57
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int-interleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-zipeven-zipodd.ll
Log Message:
-----------
[RISCV] Initial codegen support for the XRivosVizip extension (#131933)
This implements initial code generation support for a subset of the
xrivosvizip extension. Specifically, this adds support for vzipeven,
vzipodd, and vzip2a, but not vzip2b, vunzip2a, or vunzip2b. The others
will follow in separate patches.
One review note: The zipeven/zipodd matchers were recently rewritten to
better match upstream style, so careful review there would be
appreciated. The matchers don't yet support type coercion to wider
types. This will be done in a future patch.
Commit: e8059467ef0041f6735b23ef680eb9070e308e33
https://github.com/llvm/llvm-project/commit/e8059467ef0041f6735b23ef680eb9070e308e33
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Fix -Wsign-compare warning from f8ee58a
lib/Target/RISCV/RISCVISelLowering.cpp:4629:26: error: comparison of integers of different signs: 'unsigned int' and 'int' [-Werror,-Wsign-compare]
4629 | for (unsigned i = 0; i != NumElts; ++i) {
| ~ ^ ~~~~~~~
1 error generated.
Commit: 0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
https://github.com/llvm/llvm-project/commit/0c7be9392f1b8ab81be28d0ff1ebb374553ad70f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/lib/Core/BinaryFunction.cpp
Log Message:
-----------
[BOLT] Use *Set::insert_range (NFC) (#133601)
Commit: 8f5c3deadd79a19c8585e014581288e92462a97c
https://github.com/llvm/llvm-project/commit/8f5c3deadd79a19c8585e014581288e92462a97c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Use llvm::append_range (NFC) (#133602)
Commit: e3a3f78f35e091f005197bdd8f0464684546b5a0
https://github.com/llvm/llvm-project/commit/e3a3f78f35e091f005197bdd8f0464684546b5a0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
M llvm/lib/CodeGen/WindowScheduler.cpp
Log Message:
-----------
[CodeGen] Use llvm::append_range (NFC) (#133603)
Commit: f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
https://github.com/llvm/llvm-project/commit/f7228f38b72d6bf043aa4a412ba6ebb1d5971c53
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
Log Message:
-----------
MCValue: Simplify code with getSubSym
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: 02af13aacb477d1f0a89375646f09b638055e3b9
https://github.com/llvm/llvm-project/commit/02af13aacb477d1f0a89375646f09b638055e3b9
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
Log Message:
-----------
[RISCV] Simplify evaluateAsRelocatableImpl. NFC
RISCVMCExpr is not created with VK_None.
Commit: ad1ba15ea894ac47b0f2447db191a14ebe1b301d
https://github.com/llvm/llvm-project/commit/ad1ba15ea894ac47b0f2447db191a14ebe1b301d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
[Target] Use llvm::append_range (NFC) (#133606)
Commit: d8b078d5509d84da987c18cb357aac867051881c
https://github.com/llvm/llvm-project/commit/d8b078d5509d84da987c18cb357aac867051881c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133607)
Commit: db603a09dabefc6847423c8968578ce6d54a7a2d
https://github.com/llvm/llvm-project/commit/db603a09dabefc6847423c8968578ce6d54a7a2d
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[MC] Move ELF-specific handleAddSubRelocations to ELFObjectWriter::recordRelocation
Commit: d9b3209e8640e69d328b7ead169c5304a80dd1be
https://github.com/llvm/llvm-project/commit/d9b3209e8640e69d328b7ead169c5304a80dd1be
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[X86] applyFixup: Remove unneeded Target.isAbsolute() and isResolved
Target and isResolved are only used by ARM.
Commit: c6d0e0435dba0a02ad1970e89083ad61922f7245
https://github.com/llvm/llvm-project/commit/c6d0e0435dba0a02ad1970e89083ad61922f7245
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
Log Message:
-----------
[M68k] applyFixup: don't reference Target and IsResolved
They are workarounds only needed by ARM and might be removed.
Commit: eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
https://github.com/llvm/llvm-project/commit/eba3734f04be9a830a7fe1c8e97a4b3c50f9c869
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M polly/lib/Analysis/ScopBuilder.cpp
M polly/lib/Analysis/ScopDetection.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
M polly/lib/Support/SCEVValidator.cpp
M polly/lib/Transform/MaximalStaticExpansion.cpp
Log Message:
-----------
[polly] Use *Set::insert_range (NFC) (#133609)
Commit: 976a384ba67adf059ab9fe5550e7e67b6fc53396
https://github.com/llvm/llvm-project/commit/976a384ba67adf059ab9fe5550e7e67b6fc53396
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
Log Message:
-----------
[clang] implement common-sugar for adjusted member-pointers (#133613)
Commit: 9747bb182f430bb1bd3525b7f42e88df626e28e5
https://github.com/llvm/llvm-project/commit/9747bb182f430bb1bd3525b7f42e88df626e28e5
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/constant-pool-partition.ll
A llvm/test/CodeGen/X86/constant-pool-partition.ll
Log Message:
-----------
[CodeGen][StaticDataSplitter]Support constant pool partitioning (#129781)
This is a follow-up patch of
https://github.com/llvm/llvm-project/pull/125756
In this PR, static-data-splitter pass produces the aggregated profile
counts of constants for constant pools in a global state
(`StateDataProfileInfo`), and asm printer consumes the profile counts to
produce `.hot` or `.unlikely` prefixes.
This implementation covers both x86 and aarch64 asm printer.
Commit: fea6b388055284f37852e615fbf5b40a3ba34249
https://github.com/llvm/llvm-project/commit/fea6b388055284f37852e615fbf5b40a3ba34249
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaManager.cpp
A llvm/tools/llvm-reduce/DeltaPass.h
A llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/Delta.cpp
M llvm/tools/llvm-reduce/deltas/Delta.h
M llvm/tools/llvm-reduce/deltas/ReduceAliases.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAliases.h
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.h
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceBasicBlocks.h
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDIMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.h
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceDistinctMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctionBodies.h
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalObjects.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVarInitializers.h
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.cpp
M llvm/tools/llvm-reduce/deltas/ReduceGlobalVars.h
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.cpp
M llvm/tools/llvm-reduce/deltas/ReduceIRReferences.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlags.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionFlagsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructions.h
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInstructionsMIR.h
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceInvokes.h
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMemoryOperations.h
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.cpp
M llvm/tools/llvm-reduce/deltas/ReduceMetadata.h
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.cpp
M llvm/tools/llvm-reduce/deltas/ReduceModuleData.h
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOpcodes.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.h
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsSkip.h
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterDefs.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterMasks.h
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.cpp
M llvm/tools/llvm-reduce/deltas/ReduceRegisterUses.h
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.cpp
M llvm/tools/llvm-reduce/deltas/ReduceSpecialGlobals.h
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.h
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
M llvm/tools/llvm-reduce/deltas/RunIRPasses.cpp
M llvm/tools/llvm-reduce/deltas/RunIRPasses.h
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.h
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.cpp
M llvm/tools/llvm-reduce/deltas/StripDebugInfo.h
Log Message:
-----------
[llvm-reduce]: print short form, actionable names in the log (#133561)
Closes #132696
before the patch like this:
```
----------------------------
*** Reducing GlobalObjects...
----------------------------
*** Reducing GV Initializers...
----------------------------
*** Reducing GlobalVariables...
----------------------------
```
after the patch like this:
```
----------------------------
*** Reducing GlobalObjects (global-objects)...
----------------------------
*** Reducing GV Initializers (global-initializers)...
----------------------------
*** Reducing GlobalVariables (global-variables)...
----------------------------
```
Commit: 825ecfed9e08f27ecb65b960bb754f6d300ff625
https://github.com/llvm/llvm-project/commit/825ecfed9e08f27ecb65b960bb754f6d300ff625
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
Log Message:
-----------
[ExecutionEngine] Avoid repeated hash lookups (NFC) (#133615)
Commit: 8db434a4815737e4d665aeedd1495369e80ea208
https://github.com/llvm/llvm-project/commit/8db434a4815737e4d665aeedd1495369e80ea208
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-29 (Sat, 29 Mar 2025)
Changed paths:
M llvm/tools/bugpoint/CrashDebugger.cpp
M llvm/tools/bugpoint/OptimizerDriver.cpp
M llvm/tools/bugpoint/ToolRunner.cpp
M llvm/tools/dsymutil/Reproducer.cpp
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/tools/llvm-debuginfod/llvm-debuginfod.cpp
M llvm/tools/llvm-libtool-darwin/DependencyInfo.h
M llvm/tools/llvm-lipo/llvm-lipo.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/llvm-xray/xray-stacks.cpp
M llvm/tools/lto/lto.cpp
M llvm/tools/obj2yaml/elf2yaml.cpp
M llvm/tools/obj2yaml/macho2yaml.cpp
Log Message:
-----------
[bugpoint] Avoid repeated hash lookups (NFC) (#133616)
Commit: a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
https://github.com/llvm/llvm-project/commit/a03367fd0135a0fe1be4d6e4b8e0dd59ed332003
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/DeltaPasses.def
Log Message:
-----------
llvm-reduce: Remove trailing whitespace
Commit: 057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
https://github.com/llvm/llvm-project/commit/057b3c245234e9d9fa3a25fbf04d20e7f3fe2cff
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceArguments.cpp
M llvm/tools/llvm-reduce/deltas/ReduceArguments.h
M llvm/tools/llvm-reduce/deltas/Utils.h
Log Message:
-----------
llvm-reduce: Trim unnecessary includes
Commit: 1cb6ba5c60c3ce19785948eb327036a455dd1457
https://github.com/llvm/llvm-project/commit/1cb6ba5c60c3ce19785948eb327036a455dd1457
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Improve const correctness of constraint normalization (#133633)
Follow up to #132849
Commit: faefb70c7a771ae646df3d5defe122cfff2aac7c
https://github.com/llvm/llvm-project/commit/faefb70c7a771ae646df3d5defe122cfff2aac7c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DLL_VIS
This macro is only ever used inside the definiton for the various
visibility macros on windows. There, it's defined in multiple places
with different expansions, which makes it more confusing than helpful
when trying to figure out what macro expands to what.
Commit: 10dd404d9fbe505fb189972565c577318a6b577b
https://github.com/llvm/llvm-project/commit/10dd404d9fbe505fb189972565c577318a6b577b
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Make DeltaPasses.def available for fea6b388055284f37852e615fbf5b40a3ba34249
Commit: 4dbcefe3806f9970c0e4f4b08d98df5253517f14
https://github.com/llvm/llvm-project/commit/4dbcefe3806f9970c0e4f4b08d98df5253517f14
Author: Alexander Kornienko <alexfh at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86WinEHState.cpp
Log Message:
-----------
Revert the llvm::append_range change in lib/Target/X86/X86WinEHState.cpp
This reverts a single file from ad1ba15ea894ac47b0f2447db191a14ebe1b301d.
llvm::append_range in this context fails to compile with recent Clang and
libc++:
libcxx/include/__algorithm/copy_backward.h:221:68: error: invalid operands to
binary expression ('llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock>'
and 'long')
...
llvm-project/llvm/lib/Target/X86/X86WinEHState.cpp:724:11: note: in
instantiation of function template specialization
'llvm::append_range<std::deque<llvm::BasicBlock *>,
llvm::iterator_range<llvm::SuccIterator<llvm::Instruction, llvm::BasicBlock
>>>' requested here
724 | llvm::append_range(Worklist, successors(BB));
| ^
Commit: 9a913a39442d986cf8315f88666f8f5ebd6a4a94
https://github.com/llvm/llvm-project/commit/9a913a39442d986cf8315f88666f8f5ebd6a4a94
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Analysis/InlineCost.cpp
Log Message:
-----------
InlineCostAnnotationPrinter: Fix constructing random TargetTransformInfo (#133637)
Query the correct TTI for the current target instead of constructing
some random default one. Also query the pass manager for
ProfileSummaryInfo.
This should only change the printing, not the actual result.
Commit: 424c8f9217b7f746eb10c97be7314556c24065cd
https://github.com/llvm/llvm-project/commit/424c8f9217b7f746eb10c97be7314556c24065cd
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanHelpers.h
Log Message:
-----------
[VPlan] Remove dead UF argument from VPTransformState ctor (NFC).
Commit: 5b65b4d46412f0d5838b0d67b81b6dc03c93908f
https://github.com/llvm/llvm-project/commit/5b65b4d46412f0d5838b0d67b81b6dc03c93908f
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV] Remove dead code from evaluateTargetFixup
AUIPCTarget as a relocatable expression cannot have a SubSym or
@-specifier.
Commit: 5715510d00d44d97a0024caf864e649225372281
https://github.com/llvm/llvm-project/commit/5715510d00d44d97a0024caf864e649225372281
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
Log Message:
-----------
[RISCV] Remove unused declarations and getSpecifier. NFC
Remove unused declarations after #132569.
Simplify some code as we no longer use MCSymbolRefExpr::VariantKind.
Commit: 1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
https://github.com/llvm/llvm-project/commit/1f7f268f304d02f0cea33ab63a21de57ba4a5a3c
Author: Liqiang TAO <taolq at outlook.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
StackProtector: use isInTailCallPosition to verify tail call position (#68997)
The issue is caused by [D133860](https://reviews.llvm.org/D133860).
The guard would be inserted in wrong place in some cases, like the test
case showed below.
This patch fixed the issue by using `isInTailCallPosition()` to verify
whether the tail call is in right position.
Commit: 52639d69acbed0e49fd855c8c04cd9307405e2e6
https://github.com/llvm/llvm-project/commit/52639d69acbed0e49fd855c8c04cd9307405e2e6
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
Log Message:
-----------
[clang-tidy][NFC][doc] improve "options" sections of `bugprone-` and `modernize-` checks (#133525)
Improved "options" sections of `bugprone-` and `modernize-` checks:
1. Added `Options` keyword to be a delimiter between "body" and
"options" parts of docs
2. Added default values where was absent.
3. Improved readability of some default values by converting `1` to
`true`.
Commit: 8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
https://github.com/llvm/llvm-project/commit/8ecb2f9c4a8e39620935c1933fe1fbd2b96c723a
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/unittests/ADT/DenseMapTest.cpp
M llvm/unittests/ADT/DenseSetTest.cpp
Log Message:
-----------
[ADT] Add `DenseMap::insert_range` (#133600)
This PR add `DenseMap::insert_range` to `DenseMap` for consistency with
existing `DenseSet::insert_range`, `SmallSet::insert_range` and
`std::map::insert_range`.
Commit: 5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
https://github.com/llvm/llvm-project/commit/5a3d4036cff159e32aa4ab1b11fd6a25a50a456c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
Log Message:
-----------
Move relocation specifiers to AMDGPUMCExpr::Specifier
Similar to previous migration done for all other ELF targets.
Switch from the confusing `VariantKind` to `Specifier`, which aligns
with Arm and IBM AIX's documentation.
Moving forward, relocation specifiers should be integrated into
AMDGPUMCExpr rather than MCSymbolRefExpr::SubclassData.
(Note: the term AMDGPUMCExpr::VariantKind is for expressions
without relocation specifiers:
https://github.com/llvm/llvm-project/pull/82022
It's up to AMDGPU maintainers to integrate these constants into Specifier.
)
Pull Request: https://github.com/llvm/llvm-project/pull/133608
Commit: 8a8c89a4c6f92412643f2bbe46a20800197321b0
https://github.com/llvm/llvm-project/commit/8a8c89a4c6f92412643f2bbe46a20800197321b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64] Use llvm::erase_if (NFC) (#133647)
Commit: 1c8647a25a5a7527ea546212ddff56ef88ab27b9
https://github.com/llvm/llvm-project/commit/1c8647a25a5a7527ea546212ddff56ef88ab27b9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133648)
Commit: 2c73711995e4fe0f706de351eef4122b8cd8a4d7
https://github.com/llvm/llvm-project/commit/2c73711995e4fe0f706de351eef4122b8cd8a4d7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DXILEmitter.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[TableGen] Use llvm::append_range (NFC) (#133649)
Commit: 06cb7b1e14a117e8fe19b72689c8616c772c0807
https://github.com/llvm/llvm-project/commit/06cb7b1e14a117e8fe19b72689c8616c772c0807
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
Log Message:
-----------
[Transforms] Use llvm::append_range (NFC) (#133650)
Commit: fd8fb7148674456ce3fb338864c9aa9f576feb22
https://github.com/llvm/llvm-project/commit/fd8fb7148674456ce3fb338864c9aa9f576feb22
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Handle scalar casts and blend in isUniformAfterVectorization.
Currently should be NFC, but will be used by
https://github.com/llvm/llvm-project/pull/117506.
Commit: 5f56eaff8b033e5d87818bdc9543c1463cc0a755
https://github.com/llvm/llvm-project/commit/5f56eaff8b033e5d87818bdc9543c1463cc0a755
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUtils.h
Log Message:
-----------
[VPlan] Remove duplicated VPDerivedIVRecipe handling (NFC).
Also handled by an earlier, more general if above.
Commit: 848faf49f793968ae6dee1577f507d4cc68b157e
https://github.com/llvm/llvm-project/commit/848faf49f793968ae6dee1577f507d4cc68b157e
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
Log Message:
-----------
[lldb] Combine disassembler gtest binaries for efficiency (#133539)
Each of these executables is 642MB for me locally with split DWARF, and
we don't need 3 statically linked gtest binaries when one will do.
Commit: 92e591684576e7244d53722b04e840f28c3f03c3
https://github.com/llvm/llvm-project/commit/92e591684576e7244d53722b04e840f28c3f03c3
Author: Reid Kleckner <rnk at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/unittests/Disassembler/CMakeLists.txt
Log Message:
-----------
[lldb] Fix cmake logic when no targets are configured
Should fix reported lldb-remote-linux-ubuntu bot post-submit failure
Commit: 3b3d1a5c261419da864d0883eccd040c2b72e237
https://github.com/llvm/llvm-project/commit/3b3d1a5c261419da864d0883eccd040c2b72e237
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Log Message:
-----------
[NFC][clang-tidy] Add type annotations to check_clang_tidy (#133140)
```
> python3 -m mypy --strict clang-tools-extra/test/clang-tidy/check_clang_tidy.py
Success: no issues found in 1 source file
```
Commit: 2796e41ade306c3bf0f2e21311dff406bcf65652
https://github.com/llvm/llvm-project/commit/2796e41ade306c3bf0f2e21311dff406bcf65652
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/source/Core/Telemetry.cpp
Log Message:
-----------
[lldb] Remove unused Version.h include in Telemetry.cpp (NFC)
Commit: e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
https://github.com/llvm/llvm-project/commit/e5fcbfa2aa8291a57e5eb03cd458935b458c73c0
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add an option for editing enum trailing commas (#133576)
Also refactor the code that removes/replaces a token.
Commit: 3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
https://github.com/llvm/llvm-project/commit/3acccf042ab8a7b7e663bb2b2fac328d9bf65b38
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/pr58516.ll
M llvm/test/CodeGen/AArch64/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/AArch64/wineh-catchret-label-generation.ll
M llvm/test/CodeGen/AArch64/wineh-try-catch.ll
M llvm/test/CodeGen/Mips/ehframe-indirect.ll
M llvm/test/CodeGen/Mips/indirect-jump-hazard/long-branch.ll
M llvm/test/CodeGen/Mips/jtstat.ll
M llvm/test/CodeGen/Mips/load-store-left-right.ll
M llvm/test/CodeGen/Mips/longbranch.ll
M llvm/test/CodeGen/Mips/mcount.ll
M llvm/test/CodeGen/Mips/micromips-mtc-mfc.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/Mips/reloc-jalr.ll
M llvm/test/CodeGen/Mips/shrink-wrapping.ll
M llvm/test/CodeGen/Mips/unalignedload.ll
M llvm/test/CodeGen/Mips/xray-mips-attribute-instrumentation.ll
M llvm/test/CodeGen/X86/catchpad-reuse.ll
M llvm/test/CodeGen/X86/dollar-name.ll
M llvm/test/CodeGen/X86/seh-unwind-inline-asm-codegen.ll
M llvm/test/CodeGen/X86/stack-coloring-wineh.ll
M llvm/test/CodeGen/X86/win-catchpad-nested-cxx.ll
M llvm/test/CodeGen/X86/win-catchpad.ll
M llvm/test/CodeGen/X86/win-cleanuppad.ll
M llvm/test/CodeGen/X86/win-funclet-cfi.ll
M llvm/test/CodeGen/X86/win32-eh.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppCatchDotDotDot.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-CppDtors01.ll
M llvm/test/DebugInfo/COFF/jump-table.ll
M llvm/test/MC/ARM/arm-branches.s
M llvm/test/MC/AsmParser/dollars-in-identifiers.s
M llvm/test/MC/MachO/dollar-identifier.s
M llvm/test/MC/Mips/expansion-jal-sym-pic.s
M llvm/test/MC/Mips/macro-div.s
M llvm/test/MC/Mips/macro-divu.s
M llvm/test/MC/Mips/macro-rem.s
M llvm/test/MC/Mips/macro-remu.s
M llvm/test/MC/Mips/mips-fpu-instructions.s
M llvm/test/MC/Mips/mips1/valid.s
M llvm/test/MC/Mips/mips2/valid.s
M llvm/test/MC/Mips/mips32/valid.s
M llvm/test/MC/Mips/mips32r2/valid.s
M llvm/test/MC/Mips/mips32r3/valid.s
M llvm/test/MC/Mips/mips32r5/valid.s
M llvm/test/MC/Mips/mips32r6/valid.s
M llvm/test/MC/Mips/mips64r6/valid.s
M llvm/test/MC/Mips/mips_directives.s
M llvm/test/MC/Mips/reloc-directive-label-offset.s
Log Message:
-----------
[MC] Don't print () around $ names
This MIPS behavior from edb9d84dcc4824865e86f963e52d67eb50dde7f5 (2010)
is obsoleted and misleading. This caused confusion in
https://reviews.llvm.org/D123702 ([NVPTX] Disable parens for identifiers
starting with '$')
Note: $tmp was rejected by AsmParser before
https://reviews.llvm.org/D75111 (2020)
Commit: 5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
https://github.com/llvm/llvm-project/commit/5b6386dcbd68d3f7c1ce98dd7acdd4477d5724ad
Author: John Harrison <harjohn at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
Log Message:
-----------
[lldb-dap] Swapping to not use FLAG_ENUM and just defining typed enums. (#133622)
Small tweak to the previous patch to make the enums in
`lldb_dap::protocol` typed to work with types like `llvm::DenseSet`
found by ubsan.
Commit: c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
https://github.com/llvm/llvm-project/commit/c9d90f15af0c5ed6ad5c5cd3aa988139a2cc34e4
Author: Roman Belenov <103195329+r-belenov at users.noreply.github.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp
Log Message:
-----------
[Exegesis][AArch64] Use more generic cycles counter (#133376)
CPU_CYCLES counter does not work on some Aarch64 CPUs; CYCLES is more
generic and is equivalent to CPU_CYCLES in case the latter is supported.
Longer story - CPU_CYCLES work only on CPU models explicitly recognized
by libpfm4 ( via pfm_arm_detect_*() functions in
https://sourceforge.net/p/perfmon2/libpfm4/ci/master/tree/lib/pfmlib_arm_armv8.c
) and its name is consistent with ARM documentation. However, the
counter is architectural and is supported on all ARMv8 CPUs; libpfm4
recognizes generic PMU on unknown ARMv8 CPUs, but does not provide
CPU_CYCLES event. Instead, CYCLES is provided (an alias to
PERF_COUNT_HW_CPU_CYCLES). Physically, it is the same event with code
0x11. On supported architectures CYCLES also work, so the change should
not introduce regression.
Commit: 94122d58fc77079a291a3d008914006cb509d9db
https://github.com/llvm/llvm-project/commit/94122d58fc77079a291a3d008914006cb509d9db
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/Lint.h
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
Log Message:
-----------
Lint: Replace -lint-abort-on-error cl::opt with pass parameter (#132933)
Commit: 6257621f41d1deb31cfbfcee993a75991a0bca13
https://github.com/llvm/llvm-project/commit/6257621f41d1deb31cfbfcee993a75991a0bca13
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TileShapeInfo.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/utils/not/not.cpp
Log Message:
-----------
[llvm] Use llvm::append_range (NFC) (#133658)
Commit: 65734de9b93bef5b3211298b4fcc5dc79d18d31e
https://github.com/llvm/llvm-project/commit/65734de9b93bef5b3211298b4fcc5dc79d18d31e
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Remove the redundant MainOp and AltOp find process. (#133642)
Commit: dad86f5931453ff3d14ba5adb93855ee780298b2
https://github.com/llvm/llvm-project/commit/dad86f5931453ff3d14ba5adb93855ee780298b2
Author: Lang Hames <lhames at apple.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
Log Message:
-----------
[ORC] MapperJITLinkMemoryManager should deinitialize on abandon, not deallocate.
The JITLinkMemoryManager::InFlightAlloc::abandon method should only abandon
memory for the current allocation, not any other allocations. In
MapperJITLinkMemoryManager this corresponds to the deinitialize operation, not
the deallocate operation (which releases whole slabs of memory that may be
shared by many allocations).
No testcase: This was spotted by inspection. The failing program was linking
concurrently when one linker instance raised an error. Through the call to
abandon an entire underlying slab was deallocated, resulting in segfaults in
other concurrent links that were sharing that slab.
Commit: c9095aa3103460c967fd5ee5dcc695284793ef3c
https://github.com/llvm/llvm-project/commit/c9095aa3103460c967fd5ee5dcc695284793ef3c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Cleanup assembler predicates after #133377. (#133652)
Make isSImm12 look more like isUImm20LUI.
Move variables closer to their use.
Fold some function calls into if statements.
Commit: 04a67528d303ac4be7943b2ae57222f9c9fd509a
https://github.com/llvm/llvm-project/commit/04a67528d303ac4be7943b2ae57222f9c9fd509a
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/test/CodeGen/AMDGPU/agpr-register-count.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/recursion.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/GlobalISel/thumb-isel-globals-pic.ll
M llvm/test/CodeGen/ARM/elf-preemption.ll
M llvm/test/CodeGen/ARM/globals.ll
M llvm/test/CodeGen/ARM/litpool-licm.ll
M llvm/test/CodeGen/ARM/load-global.ll
M llvm/test/CodeGen/ARM/load-global2.ll
M llvm/test/CodeGen/ARM/plt-relative-reloc.ll
M llvm/test/CodeGen/ARM/stack-guard-elf.ll
M llvm/test/CodeGen/ARM/stack-guard-rwpi.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-dynamic-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess.ll
M llvm/test/CodeGen/PowerPC/aix-small-local-exec-tls-largeaccess2.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-funcattr.ll
M llvm/test/CodeGen/PowerPC/aix-small-tls-globalvarattr-targetattr.ll
M llvm/test/CodeGen/RISCV/dso_local_equivalent.ll
M llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
M llvm/test/CodeGen/Thumb2/tpsoft.ll
M llvm/test/CodeGen/X86/abi-isel.ll
M llvm/test/CodeGen/X86/atomic-minmax-i6432.ll
M llvm/test/CodeGen/X86/callbr-asm-instr-scheduling.ll
M llvm/test/CodeGen/X86/inline-asm-i-constraint-i1.ll
M llvm/test/CodeGen/X86/relptr-rodata.ll
M llvm/test/CodeGen/X86/wineh-coreclr.ll
M llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
M llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AMDGPU/expressions.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
M llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
M llvm/test/MC/AMDGPU/mcexpr_amd.s
M llvm/test/MC/ARM/basic-arm-instructions.s
M llvm/test/MC/ARM/elf-movt.s
M llvm/test/MC/ARM/macho-word-reloc-thumb.s
M llvm/test/MC/AVR/inst-brbc.s
M llvm/test/MC/AVR/inst-brbs.s
M llvm/test/MC/AVR/inst-brcc.s
M llvm/test/MC/AVR/inst-brcs.s
M llvm/test/MC/AVR/inst-breq.s
M llvm/test/MC/AVR/inst-brge.s
M llvm/test/MC/AVR/inst-brhc.s
M llvm/test/MC/AVR/inst-brhs.s
M llvm/test/MC/AVR/inst-brid.s
M llvm/test/MC/AVR/inst-brie.s
M llvm/test/MC/AVR/inst-brlo.s
M llvm/test/MC/AVR/inst-brlt.s
M llvm/test/MC/AVR/inst-brmi.s
M llvm/test/MC/AVR/inst-brne.s
M llvm/test/MC/AVR/inst-brpl.s
M llvm/test/MC/AVR/inst-brsh.s
M llvm/test/MC/AVR/inst-brtc.s
M llvm/test/MC/AVR/inst-brts.s
M llvm/test/MC/AVR/inst-brvc.s
M llvm/test/MC/AVR/inst-brvs.s
M llvm/test/MC/AVR/inst-rcall.s
M llvm/test/MC/AVR/inst-rjmp.s
M llvm/test/MC/AsmParser/directive_fill.s
M llvm/test/MC/AsmParser/expr_symbol_modifiers.s
M llvm/test/MC/COFF/cross-section-relative.ll
M llvm/test/MC/ELF/reloc-directive.s
M llvm/test/MC/Lanai/memory.s
M llvm/test/MC/MachO/AArch64/cstexpr-gotpcrel.ll
M llvm/test/MC/Mips/expr1.s
M llvm/test/MC/Mips/memory-offsets.s
M llvm/test/MC/PowerPC/ppc32-tls.s
M llvm/test/MC/RISCV/rvi-pseudos.s
M llvm/test/MC/SystemZ/insn-good-z196.s
M llvm/test/MC/SystemZ/insn-good-zEC12.s
M llvm/test/MC/SystemZ/insn-good.s
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-disassembly.test
M llvm/test/tools/llvm-objdump/MachO/ARM/symbolized-subtractor.test
Log Message:
-----------
[MC] Simplify MCBinaryExpr/MCUnaryExpr printing by reducing parentheses (#133674)
The existing pretty printer generates excessive parentheses for
MCBinaryExpr expressions. This update removes unnecessary parentheses
of MCBinaryExpr with +/- operators and MCUnaryExpr.
Since relocatable expressions only use + and -, this change improves
readability in most cases.
Examples:
- (SymA - SymB) + C now prints as SymA - SymB + C.
This updates the output of -fexperimental-relative-c++-abi-vtables for
AArch64 and x86 to `.long _ZN1B3fooEv at PLT-_ZTV1B-8`
- expr + (MCTargetExpr) now prints as expr + MCTargetExpr, with this
change primarily affecting AMDGPUMCExpr.
Commit: c6b3fd799962577488a0ecbdac806f4753e14d3c
https://github.com/llvm/llvm-project/commit/c6b3fd799962577488a0ecbdac806f4753e14d3c
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/test/MC/ELF/gnu-type-diagnostics.s
Log Message:
-----------
[MC] maybeParseSectionType: test CommentString instead of AllowAtInIdentifier
Rework https://reviews.llvm.org/D31026
AllowAtInIdentifier is a misnomer: it should be false for ELF targets,
but is currently true as a hack to parse expr at specifier.
Commit: 6fb674174ecc1d27b0d303c89c666d949f7afee5
https://github.com/llvm/llvm-project/commit/6fb674174ecc1d27b0d303c89c666d949f7afee5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
Log Message:
-----------
[RISCV] Fix the operand types for shift instructions in RISCVInstrInfoSFB.td. NFC
Due to a copy paste mistake we used simm12 instead of the correct
type. This doesn't matter in practice because we only generate these
instructions with C++ code and we expand them before the AsmPrinter.
Commit: 60199ee5396c2242c7d3cfa882e28312e6895c2a
https://github.com/llvm/llvm-project/commit/60199ee5396c2242c7d3cfa882e28312e6895c2a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[clang] Use DenseMap::insert_range (NFC) (#133655)
Commit: 2fc08d4c31285ecec64fda7e0833d583503f10d0
https://github.com/llvm/llvm-project/commit/2fc08d4c31285ecec64fda7e0833d583503f10d0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[Vectorize] Use DenseMap::insert_range (NFC) (#133656)
Commit: fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
https://github.com/llvm/llvm-project/commit/fff8f035ac781a60f42f5ca88bdcdcdf5ed74d76
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-30 (Sun, 30 Mar 2025)
Changed paths:
M polly/include/polly/CodeGen/IRBuilder.h
M polly/lib/CodeGen/BlockGenerators.cpp
M polly/lib/CodeGen/IslNodeBuilder.cpp
Log Message:
-----------
[polly] Use DenseMap::insert_range (NFC) (#133657)
Commit: d63cc4c87689a79d25521c9aa2ce4a335e5984e3
https://github.com/llvm/llvm-project/commit/d63cc4c87689a79d25521c9aa2ce4a335e5984e3
Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
A clang/test/Analysis/lvalue_elements.c
Log Message:
-----------
[analyzer] Unknown array lvalue element in Store (#133381)
Remove the early return for BaseRegions of type ElementRegion. Return
meaningful MemRegionVal for these cases as well.
Previous discussion:
https://discourse.llvm.org/t/lvalueelement-returns-unknownval-for-multi-dimensional-arrays/85476
Commit: 809f857d2c8edffe1dac317982b68a467710f877
https://github.com/llvm/llvm-project/commit/809f857d2c8edffe1dac317982b68a467710f877
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Support early-exit loops in optimizeForVFAndUF. (#131539)
Update optimizeForVFAndUF to support early-exit loops by handling
BranchOnCond(Or(..., CanonicalIV == TripCount)) via SCEV
PR: https://github.com/llvm/llvm-project/pull/131539
Commit: 842b57b77520abf202999946d3bb01b5dcabb179
https://github.com/llvm/llvm-project/commit/842b57b77520abf202999946d3bb01b5dcabb179
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/Basic/ABI.h
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
M clang/test/Modules/vtable-windows.cppm
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
Log Message:
-----------
Reland [MS][clang] Add support for vector deleting destructors (#133451)
Whereas it is UB in terms of the standard to delete an array of objects
via pointer whose static type doesn't match its dynamic type, MSVC
supports an extension allowing to do it.
Aside from array deletion not working correctly in the mentioned case,
currently not having this extension implemented causes clang to generate
code that is not compatible with the code generated by MSVC, because
clang always puts scalar deleting destructor to the vftable. This PR
aims to resolve these problems.
It was reverted due to link time errors in chromium with sanitizer
coverage enabled,
which is fixed by https://github.com/llvm/llvm-project/pull/131929 .
The second commit of this PR also contains a fix for a runtime failure
in chromium reported
in
https://github.com/llvm/llvm-project/pull/126240#issuecomment-2730216384
.
Fixes https://github.com/llvm/llvm-project/issues/19772
Commit: 5c65a321778b99f745d193629975fb6ced34fe07
https://github.com/llvm/llvm-project/commit/5c65a321778b99f745d193629975fb6ced34fe07
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare-asm.ll
M llvm/test/CodeGen/RISCV/rvv/riscv-codegenprepare.ll
Log Message:
-----------
[RISCV] Vectorize phi for loop carried @llvm.vp.reduce.* (#131974)
LLVM vector predication reduction intrinsics return a scalar result, but
on RISC-V vector reduction instructions write the result in the first
element of a vector register. So when a reduction in a loop uses a
scalar phi, we end up with unnecessary scalar moves:
```asm
loop:
vmv.s.x v8, zero
vredsum.vs v8, v10, v8
vmv.x.s a0, v8
````
This mainly affects vector predication reduction. This tries to
vectorize any scalar phis that feed into a vector predication reduction
in RISCVCodeGenPrepare, converting:
```llvm
vector.body:
%red.phi = phi i32 [ ..., %entry ], [ %red, %vector.body ]
%red = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %red.phi, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
```
to
```llvm
vector.body:
%red.phi = phi <vscale x 2 x i32> [ ..., %entry ], [ %acc.vec, %vector.body]
%phi.scalar = extractelement <vscale x 2 x i32> %red.phi, i64 0
%acc = tail call i32 @llvm.vp.reduce.add.nxv4i32(i32 %phi.scalar, <vscale x 4 x i32> %wide.load, <vscale x 4 x i1> splat (i1 true), i32 %evl)
%acc.vec = insertelement <vscale x 2 x i32> poison, float %acc, i64 0
```
Which eliminates the scalar -> vector -> scalar crossing during
instruction selection.
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: 9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
https://github.com/llvm/llvm-project/commit/9d61eaa9ecd9a46d22a8a4efc67d31b9abba3616
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Make GetRowForFunctionOffset compatible with discontinuous functions (#133250)
The function had special handling for -1, but that is incompatible with
functions whose entry point is not the first address. Use std::nullopt
instead.
Commit: 0ec94983c4cf9183f0768d6e76b363e5ebc6b255
https://github.com/llvm/llvm-project/commit/0ec94983c4cf9183f0768d6e76b363e5ebc6b255
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
A lld/test/ELF/loongarch-relax-tlsdesc.s
Log Message:
-----------
[lld][LoongArch] Relax TLSDESC code sequence (#123677)
Relax TLSDESC code sequence.
Original code sequence:
* pcalau12i $a0, %desc_pc_hi20(sym_desc)
* addi.d $a0, $a0, %desc_pc_lo12(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
Cannot convert to LE/IE, but relax:
* pcaddi $a0, %desc_pcrel_20(sym_desc)
* ld.d $ra, $a0, %desc_ld(sym_desc)
* jirl $ra, $ra, %desc_call(sym_desc)
TODO: The transition from TLSDESC GD/LD to IE/LE will implement in a
future patch.
Commit: 1dee12531d6070170ed1e90a654b744d365cc56e
https://github.com/llvm/llvm-project/commit/1dee12531d6070170ed1e90a654b744d365cc56e
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPI.td
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
A mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
R mlir/test/Conversion/MPIToLLVM/ops.mlir
A mlir/test/Dialect/MPI/mpiops.mlir
R mlir/test/Dialect/MPI/ops.mlir
Log Message:
-----------
[mlir][mpi] Lowering MPI_Allreduce (#133133)
Lowering of mpi.all_reduce to LLVM function call
Commit: 606e0b4806b92481e8be35f4e0cfccd0074c6ee7
https://github.com/llvm/llvm-project/commit/606e0b4806b92481e8be35f4e0cfccd0074c6ee7
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/dllexport.ll
Log Message:
-----------
[ARM64EC] Add support for function aliases on ARM64EC (#132295)
Required for mingw-w64, which uses the alias attribute in its CRT.
Follows ARM64EC mangling rules by mangling the alias symbol and emitting
an unmangled anti-dependency alias. Since metadata is not allowed on
GlobalAlias objects, extend arm64ec_unmangled_name to support multiple
unmangled names and attach the alias anti-dependency name to the target
function's metadata.
Commit: f82283a84ed897f06a1aaac028accbad0d5057c7
https://github.com/llvm/llvm-project/commit/f82283a84ed897f06a1aaac028accbad0d5057c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/Delta.cpp
Log Message:
-----------
llvm-reduce: Use 80 dashes for section separator in status printing (#133686)
Commit: 78777a204ad9a3f17f04f90040f88855f47aa50f
https://github.com/llvm/llvm-project/commit/78777a204ad9a3f17f04f90040f88855f47aa50f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
Log Message:
-----------
[LV]Split store-load forward distance analysis from other checks, NFC (#121156)
The patch splits the store-load forwarding distance analysis from other
dependency analysis in LAA. Currently it supports only power-of-2
distances, required to support non-power-of-2 distances in future.
Part of #100755
Commit: f4d25c498a20d73b9d3e4828023486a7b2591f38
https://github.com/llvm/llvm-project/commit/f4d25c498a20d73b9d3e4828023486a7b2591f38
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/sve-cond-inv-loads.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
Log Message:
-----------
[LV][NFC] Regenerate some SVE tests using --filter-out-after option (#132174)
I recently added a new option to update_test_checks.py that can
filter out all CHECK lines after a certain point. We usually don't
care about checking for the original scalar loop after the vector
loop because it doesn't change. Cutting out unnecessary CHECK
lines makes the files smaller and hopefully the tests run quicker.
Commit: aad9630e42d70b4cbfd6bc544576bd96844e737d
https://github.com/llvm/llvm-project/commit/aad9630e42d70b4cbfd6bc544576bd96844e737d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - pull out common variables. NFC. (#133705)
Reduces diff for an updated version of #133083
Commit: 2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
https://github.com/llvm/llvm-project/commit/2e54b4f9ea3fb7e83b5fc5fe19235ea82f0d4549
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
[ARM] Silence signed comparison warning. NFC
After f4ec179bf5295f92aa0346392a58fad54f9b458e, AbsImm is no longer signed and cannot be < 0.
Commit: b9b9addae6c79c72394c8260106f8ba5281e9747
https://github.com/llvm/llvm-project/commit/b9b9addae6c79c72394c8260106f8ba5281e9747
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
Log Message:
-----------
[AArch64] Add bitcast + extend tests. NFC
Commit: 9b32f3d0966723f443328d8b49c149bde6725899
https://github.com/llvm/llvm-project/commit/9b32f3d0966723f443328d8b49c149bde6725899
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/load-local-redundant-copies.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[DAG] visitEXTRACT_SUBVECTOR - don't return early on failure of EXTRACT_SUBVECTOR(INSERT_SUBVECTOR()) -> BITCAST fold (#133695)
Always allow later folds to try to match as well.
Commit: cb54026d92191e347629265d4082f5cc2cc28020
https://github.com/llvm/llvm-project/commit/cb54026d92191e347629265d4082f5cc2cc28020
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/FormatToken.h
M clang/unittests/Format/FormatTestVerilog.cpp
Log Message:
-----------
[clang-format] Recognize wait fork in Verilog (#132042)
before
```Verilog
wait fork
;
wait fork
;
wait fork
;
```
after
```Verilog
wait fork;
wait fork;
wait fork;
```
The `wait fork` statement should not start a block. Previously the
formatter treated the `fork` part as the start of a new block. Now the
problem is fixed.
Commit: ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
https://github.com/llvm/llvm-project/commit/ab7cee8a0ecf29fdb47c64c8d431a694d63390d2
Author: sstwcw <su3e8a96kzlver at posteo.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
[clang-format] Handle C++ keywords in other languages better (#132941)
There is some code to make sure that C++ keywords that are identifiers
in the other languages are not treated as keywords. Right now, the kind
is set to identifier, and the identifier info is cleared. The latter is
probably so that the code for identifying C++ structures does not
recognize those structures by mistake when formatting a language that
does not have those structures. But we did not find an instance where
the language can have the sequence of tokens, the code tries to parse
the structure as if it is C++ using the identifier info instead of the
token kind, but without checking for the language setting. However,
there are places where the code checks whether the identifier info field
is null or not. They are places where an identifier and a keyword are
treated the same way. For example, the name of a function in
JavaScript. This patch removes the lines that clear the identifier
info. This way, a C++ keyword gets treated in the same way as an
identifier in those places.
JavaScript
New
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Old
```JavaScript
async function
union(
myparamnameiswaytooloooong) {
}
```
Java
New
```Java
enum union { ABC, CDE }
```
Old
```Java
enum
union { ABC, CDE }
```
Commit: 0794d5cfba4b78b1bf7980a5f9434382a697df23
https://github.com/llvm/llvm-project/commit/0794d5cfba4b78b1bf7980a5f9434382a697df23
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
Log Message:
-----------
[clang][Sema] Fix typo in 'offsetof' diagnostics (#133448)
Before:
```
offset of on non-POD type
```
After:
```
offsetof on non-POD type
```
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 96efb21e8865e8f43192979991fdccf08f1a6da4
https://github.com/llvm/llvm-project/commit/96efb21e8865e8f43192979991fdccf08f1a6da4
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/CodeGen/X86/insert-subvector-broadcast.ll
Log Message:
-----------
[X86] Add regression test for insert_subvector(x,extract_subvector(broadcast)) pattern identified in #133083
Infinite loop check
Commit: 8d69e953b5a894c215b0cff7c6b0687b2b492318
https://github.com/llvm/llvm-project/commit/8d69e953b5a894c215b0cff7c6b0687b2b492318
Author: Stefan Pintilie <pintilie at synopsys.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/reassoc-shl-addi-add.ll
Log Message:
-----------
[RISCV] Add combine for shadd family of instructions. (#130829)
For example for the following situation:
%6:gpr = SLLI %2:gpr, 2
%7:gpr = ADDI killed %6:gpr, 24
%8:gpr = ADD %0:gpr, %7:gpr
If we swap the two add instrucions we can merge the shift and add. The
final code will look something like this:
%7 = SH2ADD %0, %2
%8 = ADDI %7, 24
Commit: c7572ae213d215d54a10c8a03db75cc01f6291bd
https://github.com/llvm/llvm-project/commit/c7572ae213d215d54a10c8a03db75cc01f6291bd
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
Log Message:
-----------
[X86][AVX10] Re-target mavx10.1 and emit warning for mavx10.x-256/512 and m[no-]evex512 (#132542)
The 256-bit maximum vector register size control was removed from AVX10
whitepaper, ref: https://cdrdv2.intel.com/v1/dl/getContent/784343
- Re-target m[no-]avx10.1 to enable AVX10.1 with 512-bit maximum vector
register size;
- Emit warning for mavx10.x-256, noting AVX10/256 is not supported;
- Emit warning for mavx10.x-512, noting to use m[no-]avx10.x instead;
- Emit warning for m[no-]evex512, noting AVX10/256 is not supported;
This patch only changes Clang driver behavior. The features
avx10.x-256/512 keep unchanged and will be removed in the next release.
Commit: 8078665bca1e16e33a09aea0310102077d429ada
https://github.com/llvm/llvm-project/commit/8078665bca1e16e33a09aea0310102077d429ada
Author: Tejas Vipin <alissxlace at proton.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/math/CMakeLists.txt
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/hypotf16.cpp
A libc/src/math/hypotf16.h
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/hypotf16_test.cpp
Log Message:
-----------
[libc][math][c23] Add hypotf16 function (#131991)
Implement hypot for Float16 along with tests.
Commit: a61cc1b99a50d832c650132cc9956320bfe594f5
https://github.com/llvm/llvm-project/commit/a61cc1b99a50d832c650132cc9956320bfe594f5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
A llvm/test/CodeGen/AMDGPU/dpp_combine-true16.mir
M llvm/test/CodeGen/AMDGPU/dpp_combine.ll
A llvm/test/CodeGen/AMDGPU/vopc_dpp-true16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] Skip combineDpp with t16 instructions (#128918)
We only emits v_mov_b32/64_dpp. Don't combine t16 instructions with mov
dpp. Update the test inputs to be legal.
It is future work to emit v_mov_b16_dpp, and then update GCNDPPCombine
to combine it with the 16-bit instructions.
Commit: 4007de00a0574141695ace7a8d34aaf740a2c2e4
https://github.com/llvm/llvm-project/commit/4007de00a0574141695ace7a8d34aaf740a2c2e4
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Enable unnecessary-virtual-specifier by default (#133265)
This turns on the unnecessary-virtual-specifier warning in general, but
disables it when building LLVM. It also tweaks the warning description
to be slightly more accurate.
Background: I've been working on cleaning up this warning in two
codebases: LLVM and chromium (plus its dependencies). The chromium
cleanup has been straightforward. Git archaeology shows that there are
two reasons for the warnings: classes to which `final` was added after
they were initially committed, and classes with virtual destructors that
nobody remarks on. Presumably the latter case is because people are just
very used to destructors being virtual.
The LLVM cleanup was more surprising: I discovered that we have an [old
policy](https://llvm.org/docs/CodingStandards.html#provide-a-virtual-method-anchor-for-classes-in-headers)
about including out-of-line virtual functions in every class with a
vtable, even `final` ones. This means our codebase has many virtual
"anchor" functions which do nothing except control where the vtable is
emitted, and which trigger the warning. I looked into alternatives to
satisfy the policy, such as using destructors instead of introducing a
new function, but it wasn't clear if they had larger implications.
Overall, it seems like the warning is genuinely useful in most codebases
(evidenced by chromium and its dependencies), and LLVM is an unusual
case. Therefore we should enable the warning by default, and turn it off
only for LLVM builds.
Commit: 68947342b75cc71f3ac9041d11db086d8d074336
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/AsmParser/LLToken.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/Metadata.def
M llvm/lib/AsmParser/LLLexer.cpp
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/unittests/IR/DebugInfoTest.cpp
Log Message:
-----------
Add support for fixed-point types (#129596)
This adds DWARF generation for fixed-point types. This feature is needed
by Ada.
Note that a pre-existing GNU extension is used in one case. This has
been emitted by GCC for years, and is needed because standard DWARF is
otherwise incapable of representing these types.
Commit: 74b7abf15452574808834c0a08dd2af6bada2648
https://github.com/llvm/llvm-project/commit/74b7abf15452574808834c0a08dd2af6bada2648
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
Log Message:
-----------
[IRBuilder] Add new overload for CreateIntrinsic (#131942)
Add a new `CreateIntrinsic` overload with no `Types`, useful for
creating calls to non-overloaded intrinsics that don't need additional
mangling.
Commit: 50949ebf523cc09cc911a12691fb79b6ac97102a
https://github.com/llvm/llvm-project/commit/50949ebf523cc09cc911a12691fb79b6ac97102a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interfaces.swig
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Expose the Target API mutex through the SB API (#133295)
Expose u target API mutex through the SB API. This is motivated by
lldb-dap, which is built on top of the SB API and needs a way to execute
a series of SB API calls in an atomic manner (see #131242).
We can solve this problem by either introducing an additional layer of
locking at the DAP level or by exposing the existing locking at the SB
API level. This patch implements the second approach.
This was discussed in an RFC on Discourse [0]. The original
implementation exposed a move-only lock rather than a mutex [1] which
doesn't work well with SWIG 4.0 [2]. This implement the alternative
solution of exposing the mutex rather than the lock. The SBMutex
conforms to the BasicLockable requirement [3] (which is why the methods
are called `lock` and `unlock` rather than Lock and Unlock) so it can be
used as `std::lock_guard<lldb::SBMutex>` and
`std::unique_lock<lldb::SBMutex>`.
[0]: https://discourse.llvm.org/t/rfc-exposing-the-target-api-lock-through-the-sb-api/85215/6
[1]: https://github.com/llvm/llvm-project/pull/131404
[2]: https://discourse.llvm.org/t/rfc-bumping-the-minimum-swig-version-to-4-1-0/85377/9
[3]: https://en.cppreference.com/w/cpp/named_req/BasicLockable
Commit: 945c494e2c3c078e26ff521ef3e9455e0ff764ac
https://github.com/llvm/llvm-project/commit/945c494e2c3c078e26ff521ef3e9455e0ff764ac
Author: Yuval Deutscher <yuvald at sweet.security>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Use correct path for lldb-server executable (#131519)
Hey,
This solves an issue where running lldb-server-20 with a non-absolute
path (for example, when it's installed into `/usr/bin` and the user runs
it as `lldb-server-20 ...` and not `/usr/bin/lldb-server-20 ...`) fails
with `error: spawn_process failed: execve failed: No such file or
directory`. The underlying issue is that when run that way, it attempts
to execute a binary named `lldb-server-20` from its current directory.
This is also a mild security hazard because lldb-server is often being
run as root in the directory /tmp, meaning that an unprivileged user can
create the file /tmp/lldb-server-20 and lldb-server will execute it as
root. (although, well, it's a debugging server we're talking about, so
that may not be a real concern)
I haven't previously contributed to this project; if you want me to
change anything in the code please don't hesitate to let me know.
Commit: b91f978647c1468ae3dd469971a8185c0b788830
https://github.com/llvm/llvm-project/commit/b91f978647c1468ae3dd469971a8185c0b788830
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/API/BUILD.gn
Log Message:
-----------
[gn build] Port 50949ebf523c
Commit: c20bea09c25214e15cf704ea3749894b6d531ce1
https://github.com/llvm/llvm-project/commit/c20bea09c25214e15cf704ea3749894b6d531ce1
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Regen a test with UTC (#133432)
Commit: bd862a459d75ef137235853c994dea97a0bc7794
https://github.com/llvm/llvm-project/commit/bd862a459d75ef137235853c994dea97a0bc7794
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Add subtarget feature for v_lshl_add_u64. NFC. (#133723)
Commit: 799e9053641a6478d3144866a97737b37b87c260
https://github.com/llvm/llvm-project/commit/799e9053641a6478d3144866a97737b37b87c260
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Progress.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
Log Message:
-----------
[lldb] Create a default rate limit constant in Progress (NFC) (#133506)
In #133211, Greg suggested making the rate limit configurable through a
setting. Although adding the setting is easy, the two places where we
currently use rate limiting aren't tied to a particular debugger.
Although it'd be possible to hook up, given how few progress events
currently implement rate limiting, I don't think it's worth threading
this through, if that's even possible.
I still think it's a good idea to be consistent and make it easy to pick
the same rate limiting value, so I've moved it into a constant in the
Progress class.
Commit: ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
https://github.com/llvm/llvm-project/commit/ea06f7f96fb1ce5a77439cf1a26f97c2f2488648
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] For RV32C, disassembly of c.slli should fail when immediate > 31 (#133713)
Fixes #133712.
The change causes `c.slli` instructions whose immediate has bit 5 set to
be rejected when disassembling RV32C. Added a test to exhaustively cover
c.slli for 32 bit targets. A minor tweak to make the debug output a
little more readable.
The spec. (20240411) says:
> For RV32C, shamt[5] must be zero; the code points with shamt[5]=1 are
designated for custom extensions. For RV32C and RV64C, the shift amount
must be non-zero; the code points with shamt=0 are HINTs. For all base
ISAs, the code points with rd=x0 are HINTs, except those with shamt[5]=1
in RV32C.
Commit: 3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
https://github.com/llvm/llvm-project/commit/3fd0eaae52503ee2bbdffc75753acc4bcc72fe60
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libclc/amdgpu/lib/SOURCES
A libclc/amdgpu/lib/math/native_exp2.cl
Log Message:
-----------
[libclc][amdgpu] Implement native_exp2 via AMD builtin (#133696)
This came up during a discussion on #129679, which has been split out as
a preparatory commit.
An example of the AMDGPU codegen is:
define <2 x float> @_Z10native_expDv2_f(<2 x float> %val) {
%mul = fmul afn <2 x float> %val, splat (float 0x3FF7154760000000)
%0 = extractelement <2 x float> %mul, i64 0
%1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
%vecinit.i = insertelement <2 x float> poison, float %1, i64 0
%2 = extractelement <2 x float> %mul, i64 1
%3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2.i = insertelement <2 x float> %vecinit.i, float %3, i64 1
ret <2 x float> %vecinit2.i
}
define <2 x float> @_Z11native_exp2Dv2_f(<2 x float> %x) {
%0 = extractelement <2 x float> %x, i64 0
%1 = tail call float @llvm.amdgcn.exp2.f32(float %0)
%vecinit = insertelement <2 x float> poison, float %1, i64 0
%2 = extractelement <2 x float> %x, i64 1
%3 = tail call float @llvm.amdgcn.exp2.f32(float %2)
%vecinit2 = insertelement <2 x float> %vecinit, float %3, i64 1
ret <2 x float> %vecinit2
}
Commit: 87602f6d03ada10d0de7f1440320ffec4eb86790
https://github.com/llvm/llvm-project/commit/87602f6d03ada10d0de7f1440320ffec4eb86790
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/math/clc_log_base.h
Log Message:
-----------
[libclc] Fix unresolved reference to missing table (#133691)
Splitting the 'ln_tbl' into two in db98e292 wasn't done thoroughly
enough as some references to the old table still remained. This commit
fixes the unresolved references by updating to the new split table.
Commit: c180e249d0013474d502cd779ec65b33cf7e9468
https://github.com/llvm/llvm-project/commit/c180e249d0013474d502cd779ec65b33cf7e9468
Author: 3405691582 <dsk at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
Log Message:
-----------
Fix crash lowering stack guard on OpenBSD/aarch64. (#125416)
TargetLoweringBase::getIRStackGuard refers to a platform-specific guard
variable. Before this change, TargetLoweringBase::getSDagStackGuard only
referred to a different variable.
This means that SelectionDAGBuilder's getLoadStackGuard does not get
memory operands. However, AArch64InstrInfo::expandPostRAPseudo assumes
that the passed MachineInstr has nonzero memoperands, causing a
segfault.
We have two possible options here: either disabling the LOAD_STACK_GUARD
node entirely in AArch64TargetLowering::useLoadStackGuardNode or just
making the platform-specific values match across TargetLoweringBase.
Here, we try the latter.
Commit: 66b0b0466bbd995146aadaf2cd18de5476c19941
https://github.com/llvm/llvm-project/commit/66b0b0466bbd995146aadaf2cd18de5476c19941
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir-c/Rewrite.h
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
M mlir/include/mlir/IR/AsmState.h
M mlir/include/mlir/IR/BuiltinAttributes.h
M mlir/include/mlir/IR/BuiltinTypes.td
M mlir/include/mlir/IR/CommonAttrConstraints.td
M mlir/include/mlir/IR/CommonTypeConstraints.td
M mlir/include/mlir/IR/EnumAttr.td
M mlir/include/mlir/IR/OpDefinition.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/IR/TypeRange.h
M mlir/include/mlir/IR/ValueRange.h
M mlir/include/mlir/Interfaces/SideEffectInterfaces.td
M mlir/include/mlir/Pass/PassOptions.h
M mlir/include/mlir/Tools/PDLL/AST/Nodes.h
M mlir/include/mlir/Tools/PDLL/AST/Types.h
M mlir/lib/Analysis/CallGraph.cpp
M mlir/lib/AsmParser/AsmParserState.cpp
M mlir/lib/AsmParser/Parser.cpp
M mlir/lib/Bytecode/Reader/BytecodeReader.cpp
M mlir/lib/Bytecode/Writer/BytecodeWriter.cpp
M mlir/lib/CAPI/Transforms/Rewrite.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.cpp
M mlir/lib/Conversion/PDLToPDLInterp/Predicate.h
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.h
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
M mlir/lib/IR/BuiltinAttributes.cpp
M mlir/lib/IR/BuiltinDialectBytecode.cpp
M mlir/lib/IR/OperationSupport.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/TypeRange.cpp
M mlir/lib/IR/ValueRange.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Rewrite/ByteCode.cpp
M mlir/lib/TableGen/CodeGenHelpers.cpp
M mlir/lib/Tools/PDLL/AST/Nodes.cpp
M mlir/lib/Tools/PDLL/AST/Types.cpp
M mlir/lib/Tools/PDLL/Parser/Parser.cpp
M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
M mlir/test/lib/Dialect/Test/TestEnumDefs.td
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestOpsSyntax.td
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/mlir-tblgen/op-format-invalid.td
M mlir/test/mlir-tblgen/op-format-spec.td
M mlir/test/mlir-tblgen/op-format.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/FormatGen.cpp
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[MLIR][NFC] Fix incomplete boundary comments. (#133516)
I observed that we have the boundary comments in the codebase like:
```
//===----------------------------------------------------------------------===//
// ...
//===----------------------------------------------------------------------===//
```
I also observed that there are incomplete boundary comments. The
revision is generated by a script that completes the boundary comments.
```
//===----------------------------------------------------------------------===//
// ...
...
```
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 94b04b411903e97bd228c6bdbdb845c29f6de6a1
https://github.com/llvm/llvm-project/commit/94b04b411903e97bd228c6bdbdb845c29f6de6a1
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/Debugger.cpp
M lldb/source/Utility/LLDBAssert.cpp
Log Message:
-----------
[lldb] Include the version in the lldbassert error message (#133740)
Include the LLDB version in the lldbassert error message, and prompt
users to include it in the bug report. The majority of users that bother
filing a bug report just copy past the stack trace and often forget to
include this important detail. By putting it after the backtrace and
before the prompt, I'm hoping it'll get copy-pasted in.
rdar://146793016
Commit: c5b3fe209408c89c1ca21f103a8fd45fb48c3138
https://github.com/llvm/llvm-project/commit/c5b3fe209408c89c1ca21f103a8fd45fb48c3138
Author: Alan Zhao <ayzhao at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/setjmp.c
Log Message:
-----------
[clang] Automatically add the `returns_twice` attribute to certain functions even if `-fno-builtin` is set (#133511)
Certain functions require the `returns_twice` attribute in order to
produce correct codegen. However, `-fno-builtin` removes all knowledge
of functions that require this attribute, so this PR modifies Clang to
add the `returns_twice` attribute even if `-fno-builtin` is set. This
behavior is also consistent with what GCC does.
It's not (easily) possible to get the builtin information from
`Builtins.td` because `-fno-builtin` causes Clang to never initialize
any builtins, so functions never get tokenized as functions/builtins
that require `returns_twice`. Therefore, the most straightforward
solution is to explicitly hard code the function names that require
`returns_twice`.
Fixes #122840
Commit: 9cdab16da99ad9fdb823853fbc634008229e284f
https://github.com/llvm/llvm-project/commit/9cdab16da99ad9fdb823853fbc634008229e284f
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
Log Message:
-----------
[AArch64] Remove CODE llc run lines from costmodel tests. NFC
The code is already tested in CodeGen/AArch64 tests such as neon-perm.ll and
the select- tests.
Commit: 11dd7d98a6ecd2374289b6a217e358e503d4778a
https://github.com/llvm/llvm-project/commit/11dd7d98a6ecd2374289b6a217e358e503d4778a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
Log Message:
-----------
[clang][bytecode] Reject constexpr-unknown values from comparisons (#133701)
Commit: a0e1e680d28c4ef5f87be948d1d223fbfda2950c
https://github.com/llvm/llvm-project/commit/a0e1e680d28c4ef5f87be948d1d223fbfda2950c
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Return Invalid() on non-constexpr builtins (#133700)
So the diagnostic output matches with the current interpreter
Commit: f0b3bdd6dfa035653de5ead7b8d0582a8c0c158e
https://github.com/llvm/llvm-project/commit/f0b3bdd6dfa035653de5ead7b8d0582a8c0c158e
Author: David Peixotto <peix at meta.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Core/PluginManager.cpp
Log Message:
-----------
[lldb] Remove raw access to PluginInstances vector (#132884)
Remove raw access to PluginInstances vector
This commit modifies the PluginInstances class to remove direct access
to the m_instances vector. Instead, we expose a new `GetSnapshot` method
that returns a copy of the current state of the instances vector. All
external iteration over the instances is updated to use the new method.
The motivation for the change is to allow modifying the way we store
instances without having to change all the clients. This is a
preliminary change to allow enabling/disabling of plugins in which case
we want to iterate over only enabled plugins.
We also considered using a custom iterator that wraps the vector
iterator and can skip over disabled instances. That works, but the
iterator code is a bit messy with all template and typedefs to make a
compliant iterator.
Commit: 514f984a8d28abf095df0a293294a40a2e811b8f
https://github.com/llvm/llvm-project/commit/514f984a8d28abf095df0a293294a40a2e811b8f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
Log Message:
-----------
[CIR][NFC] Fix warnings in ClangIR code (#133134)
This fixes unused variable warnings that have crept into the ClangIR
code. In some cases the variable will be needed later, but all unused
variables are being removed here. They can be reintroduced when they are
needed.
Commit: dcc2faecd8aebc64eb541aebe0005ecceffef558
https://github.com/llvm/llvm-project/commit/dcc2faecd8aebc64eb541aebe0005ecceffef558
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Fix codegen to support classes in `cbuffer` (#132828)
Fixes #132309
Commit: 42d1a1cb849195304dc93004f5808ef82904cd89
https://github.com/llvm/llvm-project/commit/42d1a1cb849195304dc93004f5808ef82904cd89
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
Log Message:
-----------
[WebAssembly] Fix signatures of frexpf family of libcalls (#133289)
Fixes: https://github.com/emscripten-core/emscripten/issues/23997
Commit: 8b06da16827829c9b142f591303d3c66aab926b9
https://github.com/llvm/llvm-project/commit/8b06da16827829c9b142f591303d3c66aab926b9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/test/Integration/Dialect/MemRef/subview-runtime-verification.mlir
Log Message:
-----------
[mlir][memref] Improve runtime verification for `memref.subview` (#132545)
This commit addresses a TODO in the runtime verification of
`memref.subview`. Each dimension is now verified: the offset must be
in-bounds and the slice must not run out-of-bounds.
This commit aligns runtime verification with static op verification
(which was improved in #133086).
Commit: e4b9486056fab7a262fdafbe70acf393c9767d12
https://github.com/llvm/llvm-project/commit/e4b9486056fab7a262fdafbe70acf393c9767d12
Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/CMakeLists.txt
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses (#133302)
- defines the Parser class and an initial set of helper methods to
support consuming tokens. functionality is demonstrated through a simple
empty descriptor table test case
- defines an initial in-memory representation of a DescriptorTable
- implements a test harness that will be used to validate the correct
diagnostics are generated. it will construct a dummy pre-processor with
diagnostics consumer to do so
Implements the first part of
https://github.com/llvm/llvm-project/issues/126569
Commit: 5edf12738441d54239a5043e727b4dac709728c7
https://github.com/llvm/llvm-project/commit/5edf12738441d54239a5043e727b4dac709728c7
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/Interfaces/ViewLikeInterface.h
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/test/Conversion/MemRefToLLVM/expand-then-convert-to-llvm.mlir
M mlir/test/Dialect/Linalg/promote.mlir
M mlir/test/Dialect/MemRef/canonicalize.mlir
M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/invalid.mlir
M mlir/test/Dialect/MemRef/subview.mlir
M mlir/test/Transforms/canonicalize.mlir
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir][memref] Verify out-of-bounds access for memref.subview (#133086)
* Improve the verifier of `memref.subview` to detect out-of-bounds
extractions.
* Improve the documentation of `memref.subview` to make clear that
out-of-bounds extractions are not allowed. Rewrite examples to use the
new `strided<>` notation instead of `affine_map` layout maps. Also
remove all unrelated operations (`memref.alloc`) from the examples.
* Fix various test cases where `memref.subview` ops ran out-of-bounds.
* Update canonicalizations patterns to ensure that they do not fold IR
if it would generate IR that no longer verifies.
Related discussion on Discourse:
https://discourse.llvm.org/t/out-of-bounds-semantics-of-memref-subview/85293
This is a re-upload of #131876, which was reverted due to failing GPU
tests. These tests were faulty and fixed in #133051.
Commit: e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
https://github.com/llvm/llvm-project/commit/e9a3ea2218b754a96be4f44240c3f8ee9cbd26c9
Author: Dominik Steenken <dost at de.ibm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
A llvm/test/CodeGen/SystemZ/Large/debug-instrref-brct.py
A llvm/test/CodeGen/SystemZ/debug-instrref-copyphysregs.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-elimcompare.mir
A llvm/test/CodeGen/SystemZ/debug-instrref-postrewrite.mir
Log Message:
-----------
[SystemZ, DebugInfo] Instrument SystemZ backend passes for Instr-Ref DebugInfo (#133061)
This PR instruments the optimization passes in the SystemZ backend with
calls to `MachineFunction::substituteDebugValuesForInst` where
instruction substitutions are made to instructions that may compute
tracked values.
Tests are also added for each of the substitutions that were inserted.
Details on the individual passes follow.
### systemz-copy-physregs
When a copy targets an access register, we redirect the copy via an
auxiliary register. This leads to the final result being written by a
newly inserted SAR instruction, rather than the original MI, so we need
to update the debug value tracking to account for this.
### systemz-long-branch
This pass relaxes relative branch instructions based on the actual
locations of blocks. Only one of the branch instructions qualifies for
debug value tracking: BRCT, i.e. branch-relative-on-count, which
subtracts 1 from a register and branches if the result is not zero. This
is relaxed into an add-immediate and a conditional branch, so any
`debug-instr-number` present must move to the add-immediate instruction.
### systemz-post-rewrite
This pass replaces `LOCRMux` and `SELRMux` pseudoinstructions with
either the real versions of those instructions, or with branching
programs that implement the intent of the Pseudo. In all these cases,
any `debug-instr-number` attached to the pseudo needs to be reallocated
to the appropriate instruction in the result, either LOCR, SELR, or a
COPY.
### systemz-elim-compare
Similar to systemz-long-branch, for this pass, only few substitutions
are necessary, since it mainly deals with conditional branch
instructions. The only exceptiona are again branch-relative-on-count, as
it modifies a counter as part of the instruction, as well as any of the
load instructions that are affected.
Commit: bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
https://github.com/llvm/llvm-project/commit/bc3b1b06c6e59a0de5b4b3607816a9255ca01df9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
Log Message:
-----------
[mlir][memref] Fix build after #132545 (#133760)
There was a typo in the error message.
Commit: 7eb99b85995a49972f7a3d5c68cf3543014a787b
https://github.com/llvm/llvm-project/commit/7eb99b85995a49972f7a3d5c68cf3543014a787b
Author: Wael Yehia <wyehia at ca.ibm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
Log Message:
-----------
[AIX][PGO] Add testcase for D136192
Reviewed By: mandlebug
Differential Revision: https://reviews.llvm.org/D136192
Commit: 143c37123b93a3dbd0fafd0296516ac1ab2afc36
https://github.com/llvm/llvm-project/commit/143c37123b93a3dbd0fafd0296516ac1ab2afc36
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream zero init for global variables (#133100)
This change adds zero initialization for global variables
Commit: 2d7add6e2e56baf46504a8a22dec42b61f63360f
https://github.com/llvm/llvm-project/commit/2d7add6e2e56baf46504a8a22dec42b61f63360f
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/ScriptParser.cpp
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[LLD][ELF] Allow memory region in OVERLAY (#133540)
This allows the contents of OVERLAYs to be attributed to memory regions.
This is the only clean way to overlap VMAs in linker scripts that choose
to primarily use memory regions to lay out addresses.
This also simplifies OVERLAY expansion to better match GNU LD.
Expressions for the first section's LMA and VMA are not generated if the
user did not provide them. This allows the LMA/VMA offset to be
preserved across multiple overlays in the same region, as with regular
sections.
Closes #129816
Commit: bfd8cc0a3e82c5e6345a66dd5db5242accb6874b
https://github.com/llvm/llvm-project/commit/bfd8cc0a3e82c5e6345a66dd5db5242accb6874b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/cmp-values-non-full-registers.ll
Log Message:
-----------
[SLP]Fix a check for the whole register use
Need to check the value type, not the return type, of the instructions,
when doing the analysis for the whole register use to prevent a compiler
crash.
Fixes #133751
Commit: 980d66caae62de9b56422a2fdce3f535c2ab325f
https://github.com/llvm/llvm-project/commit/980d66caae62de9b56422a2fdce3f535c2ab325f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/tools/llvm-exegesis/lib/Error.cpp
M llvm/tools/llvm-exegesis/lib/Error.h
M llvm/tools/llvm-exegesis/lib/PerfHelper.cpp
Log Message:
-----------
[llvm-exegesis] Error Out If Perf Counter is Not Fully Enabled (#132892)
Perf counters can be multiplexed if there are too many that need to be
scheduled on a core at the same time (and they exceed the available
PMUs). Other processes (especially system ones in certain environments,
not commonly on Desktop Linux from what I've seen) can also interfere.
This will impact the measurement fidelity as the counter is not actually
counting cycles/uops the entire time. This patch makes it so that we
error out in these cases so the user gets a visible indication things
have gone wrong rather than things failing silently.
Commit: 668edb43a0e7d8fb13564d6966c250b93b2130db
https://github.com/llvm/llvm-project/commit/668edb43a0e7d8fb13564d6966c250b93b2130db
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
Log Message:
-----------
[AArch64] Update more costmodel tests with -cost-kind=all. NFC
Commit: 5877bef3854d5dc5eaeb308636bcc31b12240563
https://github.com/llvm/llvm-project/commit/5877bef3854d5dc5eaeb308636bcc31b12240563
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[LAA] Remove unneeded findValue calls (NFC).
Use findLeader directly instead if going through findValue,
getLeaderValue. This is simpler and more efficient.
Commit: cc2b4326142e6df6755472edaf264a0af4fe599a
https://github.com/llvm/llvm-project/commit/cc2b4326142e6df6755472edaf264a0af4fe599a
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
A clang/lib/CodeGen/Targets/CMakeLists.txt
Log Message:
-----------
[Clang][Cmake] fix libtool duplicate member name warnings (#133619)
fixes #133199
PR #132252 Created a second file that shared `<TargetName>.cpp` in
`clang/lib/CodeGen/CMakeLists.txt`
For example There were two `AMDGPU.cpp`'s one in `TargetBuiltins` and
the other in `Targets`. Even though these were in different directories
`libtool` warns that it might not distinguish them because they share
the same base name.
There are two potential fixes. The easy fix is to rename one of them and
keep one cmake file. That solution though doesn't future proof this
problem in the event of a third `<TargetName>.cpp` and it seems teams
want to just use the target name
https://github.com/llvm/llvm-project/pull/132252#issuecomment-2758178483.
The alternative fix is to seperate the cmake files into their own sub
directories. I chose to create static libraries. It might of been
possible to build an OBJECT, but I only saw examples of this in
compiler-rt and test directories so assumed there was a reason it wasn't
used.
Commit: 514536731f7adb05ab6ffaaf9f2912b8df418b75
https://github.com/llvm/llvm-project/commit/514536731f7adb05ab6ffaaf9f2912b8df418b75
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after e4b9486056fab7a262fdafbe70acf393c9767d12
Commit: a415b7f86e8c50e4e789d4651f3231d5078c5859
https://github.com/llvm/llvm-project/commit/a415b7f86e8c50e4e789d4651f3231d5078c5859
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/test/CodeGen/WebAssembly/wide-arithmetic.ll
Log Message:
-----------
[WebAssembly] Add more lowerings for wide-arithmetic (#132430)
This commit is the result of investigation and discussion on
WebAssembly/wide-arithmetic#6 where alternatives to the `i64.add128`
instruction were discussed but ultimately deferred to a future proposal.
In spite of this though I wanted to apply a few changes to the LLVM
backend here with `wide-arithmetic` enabled for a few minor changes:
* A lowering for the `ISD::UADDO` node is added which uses `add128`
where the upper bits of the two operands are constant zeros and the
result of the 128-bit addition is the result of the overflowing
addition.
* The high bits of a `I64_ADD128` node are now flagged as "known zero"
if the upper bits of the inputs are also zero, assisting this `UADDO`
lowering to ensure the backend knows that the carry result is a 1-bit
result.
A few tests were then added to showcase various lowerings for various
operations that can be done with wide-arithmetic. They don't all
optimize super well at this time but I wanted to add them as a reference
here regardless to have them on-hand for future evaluations if
necessary.
Commit: c1bf5e62877cf3a769886505a687def47cd65e05
https://github.com/llvm/llvm-project/commit/c1bf5e62877cf3a769886505a687def47cd65e05
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
Log Message:
-----------
[DirectX] Fix build break caused by bitcode writer changes (#133770)
commit:
https://github.com/llvm/llvm-project/commit/68947342b75cc71f3ac9041d11db086d8d074336
added a new `writeDIFixedPointType` function.
However, `DIFixedPointType` is not supported in DXIL so we need to add a
fail fast case for this to fix the build.
this change fixes a build break introduced by
https://github.com/llvm/llvm-project/pull/129596
Commit: 0ac8cb1b3df724f549a62f6b277745af3d50b23a
https://github.com/llvm/llvm-project/commit/0ac8cb1b3df724f549a62f6b277745af3d50b23a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang/docs/ArrayRepacking.md
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
Log Message:
-----------
[flang] Recognize fir.pack_array in LoopVersioning. (#133191)
This change enables LoopVersioning when `fir.pack_array` is met
in the def-use chain. It fixes a couple of huge performance regressions
caused by enabling `-frepack-arrays`.
Commit: 5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
https://github.com/llvm/llvm-project/commit/5f268d04f9898cb0f8d4a1371a7b22dc3c35e5fc
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Code generation for fir.pack/unpack_array. (#132080)
The code generation relies on `ShallowCopyDirect` runtime
to copy data between the original and the temporary arrays
(both directions). The allocations are done by the compiler
generated code. The heap allocations could have been passed
to `ShallowCopy` runtime, but I decided to expose the allocations
so that the temporary descriptor passed to `ShallowCopyDirect`
has `nocapture` - maybe this will be better for LLVM optimizations.
Commit: 76e7bddf9d36074e0d67c21c5d67c2171abd70c4
https://github.com/llvm/llvm-project/commit/76e7bddf9d36074e0d67c21c5d67c2171abd70c4
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libcxx/include/__system_error/error_category.h
Log Message:
-----------
[libc++][NFC] Replace __attribute__((__const__)) with [[__gnu__::__const__]]
Commit: 0bdc9e6d080009dc87b9458181c5a41cc13f26ae
https://github.com/llvm/llvm-project/commit/0bdc9e6d080009dc87b9458181c5a41cc13f26ae
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
Log Message:
-----------
[lldb-dap] Replace GetBreakpointLabel with kDAPBreakpointLabel constant (NFC) (#133746)
Replace GetBreakpointLabel with kDAPBreakpointLabel constant to avoid an
unnecessary function call.
Commit: 2653eb52d1c700740a96ae61484bb1899e783c82
https://github.com/llvm/llvm-project/commit/2653eb52d1c700740a96ae61484bb1899e783c82
Author: David Green <david.green at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
Log Message:
-----------
[AArch64] Add -cost-kind=all coverage for sve cost tests. NFC
Commit: b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
https://github.com/llvm/llvm-project/commit/b46c60272ef4163d3174cfd0fb48ab1cf63b4f62
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/lib/Dialect/Quant/Transforms/StripFuncQuantTypes.cpp
Log Message:
-----------
Remove unused function from StripFuncQuantTypes (#121594)
`StripFuncQuantTypes::isLegalType` is unused and can be safely removed.
Commit: 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787
https://github.com/llvm/llvm-project/commit/8e390dedd71d0c2bcbe8775aee2e234ef7a5b787
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
[EquivalenceClasses] Replace findValue with contains (NFC).
Replace remaining use of findValue with more compact and limited
contains().
Commit: 5a3079421ba7645b8c604709de397c6091611f2a
https://github.com/llvm/llvm-project/commit/5a3079421ba7645b8c604709de397c6091611f2a
Author: AnastasiyaChernikova <anastasiya.chernikova at syntacore.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/tools/llvm-exegesis/README.md
Log Message:
-----------
Add RISC-V support information to readme (#132699)
Commit: 89c25c54f96623e0e973b678a24f572fd204e132
https://github.com/llvm/llvm-project/commit/89c25c54f96623e0e973b678a24f572fd204e132
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/CodeGen/Xtensa/aligned_alloc.ll
A llvm/test/CodeGen/Xtensa/calling-conv-windowed.ll
A llvm/test/CodeGen/Xtensa/callw.ll
M llvm/test/CodeGen/Xtensa/saverestore.ll
Log Message:
-----------
[Xtensa] Implement windowed register call ABI. (#130001)
Implement base windowed register call ABI. By defaullt use
rotation window by 8 registers.
Commit: b01e5b23dd880e9686cc4151c7d1b1737cbdd98e
https://github.com/llvm/llvm-project/commit/b01e5b23dd880e9686cc4151c7d1b1737cbdd98e
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Refactor `__llvm_ctx_profile_start_context` (#133744)
Most of the functionality will be reused with the auto-root detection mechanism (which is introduced subsequently in PR #133147).
Commit: 616f447fc84bdc7655117f1b303d895dc3b93e4d
https://github.com/llvm/llvm-project/commit/616f447fc84bdc7655117f1b303d895dc3b93e4d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
Log Message:
-----------
Revert "[EquivalenceClasses] Replace findValue with contains (NFC)."
Breaks clang builds.
This reverts commit 8e390dedd71d0c2bcbe8775aee2e234ef7a5b787.
Commit: 225f6ddb32f7ac56b7f66b47d99fdcb54f2843ca
https://github.com/llvm/llvm-project/commit/225f6ddb32f7ac56b7f66b47d99fdcb54f2843ca
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
Log Message:
-----------
[ctxprof][nfc] Remove redundant `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` (#133784)
With the refactoring in PR #133744, `__llvm_ctx_profile_start_context` doesn't need to be marked `SANITIZER_NO_THREAD_SAFETY_ANALYSIS` because `tryStartContextGivenRoot` (where the bulk of the logic went) is.
Commit: c63246645eeb3fddcf86b36e815c30e8b2af6d44
https://github.com/llvm/llvm-project/commit/c63246645eeb3fddcf86b36e815c30e8b2af6d44
Author: Alex Crichton <alex at alexcrichton.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
[WebAssembly] Add a missing `break` statement (#133783)
This fixes an issue introduced in #132430 where a `break;` statement was
accidentally missing causing unintended fall-through.
Commit: b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
https://github.com/llvm/llvm-project/commit/b739a3cb651dd4af2f1a47fe1f0427fe2d9460ef
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add m_Deferred. NFC (#133736)
This copies over the implementation of m_Deferred which allows matching
values that were bound in the pattern, and uses it for the (X && Y) ||
(X && !Y) -> X simplifcation.
Commit: 0b31f08537746beff4d5e0df44221cbe5a9237c5
https://github.com/llvm/llvm-project/commit/0b31f08537746beff4d5e0df44221cbe5a9237c5
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/environment.cpp
Log Message:
-----------
[flang][cuda] Add support for NV_CUDAFOR_DEVICE_IS_MANAGED (#133778)
Add support for the environment variable `NV_CUDAFOR_DEVICE_IS_MANAGED`
as described in the documentation:
https://docs.nvidia.com/hpc-sdk/compilers/cuda-fortran-prog-guide/index.html#controlling-device-data-is-managed.
This mainly switch device allocation to managed allocation.
Commit: 4e8fbc60710ebec25d9d456eccf28678e04415c9
https://github.com/llvm/llvm-project/commit/4e8fbc60710ebec25d9d456eccf28678e04415c9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add epilogue vectorization tests for FindLastIV reductions.
Add missing test coverage for #126836.
Commit: 6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
https://github.com/llvm/llvm-project/commit/6afe5e5d1a6dcbf7ba83acf4c57b964f58c364a1
Author: Luke Lau <luke at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
Log Message:
-----------
[LV][EVL] Peek through combination tail-folded + predicated masks (#133430)
If a recipe was predicated and tail folded at the same time, it will
have a mask like
EMIT vp<%header-mask> = icmp ule canonical-iv, backedge-tc
EMIT vp<%mask> = logical-and vp<%header-mask>, vp<%pred-mask>
When converting to an EVL recipe, if the mask isn't exactly just the
header-mask we copy the whole logical-and.
We can remove this redundant logical-and (because it's now covered by
EVL) and just use vp<%pred-mask> instead.
This lets us remove the widened canonical IV in more places.
Commit: a8d2d169c7add4b0106ae76e186cf815c0b84825
https://github.com/llvm/llvm-project/commit/a8d2d169c7add4b0106ae76e186cf815c0b84825
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Target/Target.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
Log Message:
-----------
Parallelize module loading in POSIX dyld code (#130912)
This patch improves LLDB launch time on Linux machines for **preload
scenarios**, particularly for executables with a lot of shared library
dependencies (or modules). Specifically:
* Launching a binary with `target.preload-symbols = true`
* Attaching to a process with `target.preload-symbols = true`.
It's completely controlled by a new flag added in the first commit
`plugin.dynamic-loader.posix-dyld.parallel-module-load`, which *defaults
to false*. This was inspired by similar work on Darwin #110646.
Some rough numbers to showcase perf improvement, run on a very beefy
machine:
* Executable with ~5600 modules: baseline 45s, improvement 15s
* Executable with ~3800 modules: baseline 25s, improvement 10s
* Executable with ~6650 modules: baseline 67s, improvement 20s
* Executable with ~12500 modules: baseline 185s, improvement 85s
* Executable with ~14700 modules: baseline 235s, improvement 120s
A lot of targets we deal with have a *ton* of modules, and unfortunately
we're unable to convince other folks to reduce the number of modules, so
performance improvements like this can be very impactful for user
experience.
This patch achieves the performance improvement by parallelizing
`DynamicLoaderPOSIXDYLD::RefreshModules` for the launch scenario, and
`DynamicLoaderPOSIXDYLD::LoadAllCurrentModules` for the attach scenario.
The commits have some context on their specific changes as well --
hopefully this helps the review.
# More context on implementation
We discovered the bottlenecks by via `perf record -g -p <lldb's pid>` on
a Linux machine. With an executable known to have 1000s of shared
library dependencies, I ran
```
(lldb) b main
(lldb) r
# taking a while
```
and showed the resulting perf trace (snippet shown)
```
Samples: 85K of event 'cycles:P', Event count (approx.): 54615855812
Children Self Command Shared Object Symbol
- 93.54% 0.00% intern-state libc.so.6 [.] clone3
clone3
start_thread
lldb_private::HostNativeThreadBase::ThreadCreateTrampoline(void*) r
std::_Function_handler<void* (), lldb_private::Process::StartPrivateStateThread(bool)::$_0>::_M_invoke(std::_Any_data const&)
lldb_private::Process::RunPrivateStateThread(bool) n
- lldb_private::Process::HandlePrivateEvent(std::shared_ptr<lldb_private::Event>&)
- 93.54% lldb_private::Process::ShouldBroadcastEvent(lldb_private::Event*)
- 93.54% lldb_private::ThreadList::ShouldStop(lldb_private::Event*)
- lldb_private::Thread::ShouldStop(lldb_private::Event*) *
- 93.53% lldb_private::StopInfoBreakpoint::ShouldStopSynchronous(lldb_private::Event*) t
- 93.52% lldb_private::BreakpointSite::ShouldStop(lldb_private::StoppointCallbackContext*) i
lldb_private::BreakpointLocationCollection::ShouldStop(lldb_private::StoppointCallbackContext*) k
lldb_private::BreakpointLocation::ShouldStop(lldb_private::StoppointCallbackContext*) b
lldb_private::BreakpointOptions::InvokeCallback(lldb_private::StoppointCallbackContext*, unsigned long, unsigned long) i
DynamicLoaderPOSIXDYLD::RendezvousBreakpointHit(void*, lldb_private::StoppointCallbackContext*, unsigned long, unsigned lo
- DynamicLoaderPOSIXDYLD::RefreshModules() O
- 93.42% DynamicLoaderPOSIXDYLD::RefreshModules()::$_0::operator()(DYLDRendezvous::SOEntry const&) const u
- 93.40% DynamicLoaderPOSIXDYLD::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, bools
- lldb_private::DynamicLoader::LoadModuleAtAddress(lldb_private::FileSpec const&, unsigned long, unsigned long, boos
- 83.90% lldb_private::DynamicLoader::FindModuleViaTarget(lldb_private::FileSpec const&) o
- 83.01% lldb_private::Target::GetOrCreateModule(lldb_private::ModuleSpec const&, bool, lldb_private::Status*
- 77.89% lldb_private::Module::PreloadSymbols()
- 44.06% lldb_private::Symtab::PreloadSymbols()
- 43.66% lldb_private::Symtab::InitNameIndexes()
...
```
We saw that majority of time was spent in `RefreshModules`, with the
main culprit within it `LoadModuleAtAddress` which eventually calls
`PreloadSymbols`.
At first, `DynamicLoaderPOSIXDYLD::LoadModuleAtAddress` appears fairly
independent -- most of it deals with different files and then getting or
creating Modules from these files. The portions that aren't independent
seem to deal with ModuleLists, which appear concurrency safe. There were
members of `DynamicLoaderPOSIXDYLD` I had to synchronize though: namely
`m_loaded_modules` which `DynamicLoaderPOSIXDYLD` maintains to map its
loaded modules to their link addresses. Without synchronizing this, I
ran into SEGFAULTS and other issues when running `check-lldb`. I also
locked the assignment and comparison of `m_interpreter_module`, which
may be unnecessary.
# Alternate implementations
When creating this patch, another implementation I considered was
directly background-ing the call to `Module::PreloadSymbol` in
`Target::GetOrCreateModule`. It would have the added benefit of working
across platforms generically, and appeared to be concurrency safe. It
was done via `Debugger::GetThreadPool().async` directly. However, there
were a ton of concurrency issues, so I abandoned that approach for now.
# Testing
With the feature active, I tested via `ninja check-lldb` on both Debug
and Release builds several times (~5 or 6 altogether?), and didn't spot
additional failing or flaky tests.
I also tested manually on several different binaries, some with around
14000 modules, but just basic operations: launching, reaching main,
setting breakpoint, stepping, showing some backtraces.
I've also tested with the flag off just to make sure things behave
properly synchronously.
Commit: 5e2860a8d375ded2d2912894e380fefc8cb1f23a
https://github.com/llvm/llvm-project/commit/5e2860a8d375ded2d2912894e380fefc8cb1f23a
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
R clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/CMakeLists.txt
R clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
R clang/unittests/Parse/CMakeLists.txt
R clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
R llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Revert "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133790)
Reverts llvm/llvm-project#133302
Reverting to inspect build failures that were introduced from use of the
`clang::Preprocessor` in unit testing, as well as, the warning about an
unused declaration. See linked issue for failures.
Commit: baacd1287bfb17608068485c2554dd4455ac29a0
https://github.com/llvm/llvm-project/commit/baacd1287bfb17608068485c2554dd4455ac29a0
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/test/CAPI/quant.c
Log Message:
-----------
Fix printing of `mlirUniformQuantizedSubChannelTypeGetNumBlockSizes` in 32-bit machine. (#133763)
Fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2763212827
cc @mgorny
Commit: eefefb5da798a5e51b864235007e89043fcea16a
https://github.com/llvm/llvm-project/commit/eefefb5da798a5e51b864235007e89043fcea16a
Author: Sandeep Dasgupta <sdasgup at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Dialect/Quant/IR/QuantBase.td
Log Message:
-----------
Fix sub-channel quantized type documentation (#133765)
fixes the issue reported in
https://github.com/llvm/llvm-project/pull/120172#issuecomment-2748367578
Commit: cb7c223625f950c5ad14fed39aad8b358874fcf0
https://github.com/llvm/llvm-project/commit/cb7c223625f950c5ad14fed39aad8b358874fcf0
Author: Paul Osmialowski <pawel.osmialowski at arm.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/fveclib.c
M flang/test/Driver/fveclib.f90
Log Message:
-----------
[clang][driver] Fix -fveclib=ArmPL issue: with -nostdlib do not link against libm (#133578)
Although combining -fveclib=ArmPL with -nostdlib is a rare situation, it
should still be supported correctly and should effect in avoidance of
linking against libm.
Commit: bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
https://github.com/llvm/llvm-project/commit/bdae91b08b5b7fcd13f55db7f36ccaebd5c0b571
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
R clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
R clang/lib/CodeGen/Targets/CMakeLists.txt
Log Message:
-----------
Revert "[Clang][Cmake] fix libtool duplicate member name warnings" (#133795)
Reverts llvm/llvm-project#133619
Commit: 32f24029c72dae175c9e2cc81f931f065a2ba347
https://github.com/llvm/llvm-project/commit/32f24029c72dae175c9e2cc81f931f065a2ba347
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M polly/lib/Analysis/ScopBuilder.cpp
Log Message:
-----------
Reapply "[EquivalenceClasses] Replace findValue with contains (NFC)."
This reverts the revert commit 616f447fc84bdc7655117f1b303d895dc3b93e4d.
It includes updates to remaining users in Polly and Clang, to avoid
failures when building those projects.
Commit: f30c6a047d73322ce7f4fba4367eadc49565827d
https://github.com/llvm/llvm-project/commit/f30c6a047d73322ce7f4fba4367eadc49565827d
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang-tools-extra/include-cleaner/BUILD.bazel
M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/Dialect/BUILD.bazel
Log Message:
-----------
[bazel] Format BUILD files with buildifier (#133802)
Commit: 6ff33edcdc29be049829934399b2fb2585252439
https://github.com/llvm/llvm-project/commit/6ff33edcdc29be049829934399b2fb2585252439
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
Log Message:
-----------
[alpha.webkit.NoUnretainedMemberChecker] Ignore system-header-defined ivar / property of a forward declared type (#133755)
Prior to this PR, we were emitting warnings for Objective-C ivars and
properties if the forward declaration of the type appeared first in a
non-system header. This PR fixes the checker so tha we'd ignore ivars
and properties defined for a forward declared type.
Commit: 7793bae97d2bad36d870c6df438a6fc034f15112
https://github.com/llvm/llvm-project/commit/7793bae97d2bad36d870c6df438a6fc034f15112
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/llvm-tests.yml
Log Message:
-----------
[workflows] Add missing -y option to apt-get for abi tests (#133337)
Commit: 4492632432190ed8ab3bc39ff8ee5ba9a89256cf
https://github.com/llvm/llvm-project/commit/4492632432190ed8ab3bc39ff8ee5ba9a89256cf
Author: John Harrison <harjohn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Do not take ownership of stdin. (#133811)
There isn't any benefit to taking ownership of stdin and it may cause
issues if `Transport` is dealloced.
Commit: 40c859a704399c04c74311bdd25144a78e2eb093
https://github.com/llvm/llvm-project/commit/40c859a704399c04c74311bdd25144a78e2eb093
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[TableGen] Use size returned by encodeULEB128 to simplify some code. NFC (#133750)
We can use the length to insert all the bytes at once instead of
partially decoding them to insert one byte at a time.
Commit: 46457ed1dfbfaf4ccc9245813450ba3fd561f067
https://github.com/llvm/llvm-project/commit/46457ed1dfbfaf4ccc9245813450ba3fd561f067
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
Log Message:
-----------
[lldb] Convert Breakpoint & Watchpoints structs to classes (NFC) (#133780)
Convert Breakpoint & Watchpoints structs to classes to provide proper
access control. This is in preparation for adopting SBMutex to protect
the underlying SBBreakpoint and SBWatchpoint.
Commit: 5d1f27f349f5b63646c714e8c26cc5716a4b5abc
https://github.com/llvm/llvm-project/commit/5d1f27f349f5b63646c714e8c26cc5716a4b5abc
Author: Matthias Braun <matze at braunis.de>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/Target/GlobalISel/Combine.td
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
Log Message:
-----------
GlobalISel: neg (and x, 1) --> SIGN_EXTEND_INREG x, 1 (#131367)
The pattern
```LLVM
%shl = shl i32 %x, 31
%ashr = ashr i32 %shl, 31
```
would be combined to `G_EXT_INREG %x, 1` by GlobalISel. However
InstCombine normalizes this pattern to:
```LLVM
%and = and i32 %x, 1
%neg = sub i32 0, %and
```
This adds a combiner for this variant as well.
Commit: 348374028970c956f2e49ab7553b495d7408ccd9
https://github.com/llvm/llvm-project/commit/348374028970c956f2e49ab7553b495d7408ccd9
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M offload/test/sanitizer/kernel_crash_many.c
M offload/test/sanitizer/kernel_trap.c
M offload/test/sanitizer/kernel_trap.cpp
M offload/test/sanitizer/kernel_trap_many.c
Log Message:
-----------
Reland "Symbolize line zero as if no source info is available (#124846)" (#133798)
This land commits 23aca2f88dd5d2447e69496c89c3ed42a56f9c31 and
1b15a89a23c631a8e2d096dad4afe456970572c0.
https://github.com/llvm/llvm-project/pull/128619 makes symbolizer to
always use debug info when available so we can reland this chagnge.
Commit: 5b8d8bb90a2c9674364e35803e45370c35c35c4a
https://github.com/llvm/llvm-project/commit/5b8d8bb90a2c9674364e35803e45370c35c35c4a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/Transforms/Inline/no-inline-incompatible-gc.ll
Log Message:
-----------
Inliner: Fix missing test coverage for incompatible gc rejection (#133708)
Commit: cf6a452cc734e00a1207514bb1fc2b123e31bb5f
https://github.com/llvm/llvm-project/commit/cf6a452cc734e00a1207514bb1fc2b123e31bb5f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions-logical.ll
M llvm/test/Transforms/SLPVectorizer/X86/reduction-logical.ll
M llvm/test/Transforms/SLPVectorizer/revec-reduction-logical.ll
Log Message:
-----------
[SLP]Fix same/alternate analysis in split node analysis for compares
getSameOpcode in some cases may consider 2 compares as having same
opcode, even though previously they were considered as alternate. It may
happen, because getSameOpcode looses info about previous instructions
and their states. Need to use isAlternateInstruction function instead
for the correct analysis.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/133769
Commit: 66db3ccd8c370e56d8f34a55f8cb137dd21b7ced
https://github.com/llvm/llvm-project/commit/66db3ccd8c370e56d8f34a55f8cb137dd21b7ced
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M mlir/include/mlir/Interfaces/ViewLikeInterface.td
Log Message:
-----------
[mlir] Update vector return types for `.getMixed`* methods (NFC) (#133821)
Drop small size to make vector types match the generic helper
`getMixedValues` in `StaticValueUtils.h`.
This saves some needles vector copies. I didn't find any local variables
that need updating.
Commit: de053bb4b0db64aebdff7719ff6ce75487f6ba5d
https://github.com/llvm/llvm-project/commit/de053bb4b0db64aebdff7719ff6ce75487f6ba5d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/fminimumnum.ll
Log Message:
-----------
LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)
Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.
Commit: 02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
https://github.com/llvm/llvm-project/commit/02837acaaf2cfdfcbf77e4a7f6629575edb6ffb4
Author: Mariusz Borsa <wrotki at msn.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
Log Message:
-----------
[Sanitizers][Darwin][Test] Remove community incompliant internal link from sources (#133187)
The malloc_zone.cpp test currently fails on Darwin hosts, in
SanitizerCommon
tests with lsan enabled.
Need to XFAIL this test to buy time to investigate this failure. Also
we're trying to bring the number of test failing on Darwin bots to 0, to
get clearer signal of any new failures.
rdar://145873843
Co-authored-by: Mariusz Borsa <m_borsa at apple.com>
Commit: 091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
https://github.com/llvm/llvm-project/commit/091051fb7f48dd9f1d3f119aa7dcbd38d9d6f076
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M libc/Maintainers.rst
Log Message:
-----------
[libc] Add myself as maintainer of the riscv port (#133757)
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Commit: 0248d277cabab370b48114cc62aff393b273971b
https://github.com/llvm/llvm-project/commit/0248d277cabab370b48114cc62aff393b273971b
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_math.h
Log Message:
-----------
Reland [HIP] fix host min/max in header (#133590)
CUDA defines min/max functions for host in global namespace. HIP header
needs to define them too to be compatible. Currently only min/max(int,
int) is defined. This causes wrong result for arguments that are out of
range for int. This patch defines host min/max functions to be
compatible with CUDA.
Since some HIP apps defined min/max functions by themselves, newly added
min/max function are under the control of macro
`__HIP_DEFINE_EXTENDED_HOST_MIN_MAX__`, which is 0 by default. In the
future, this will change to 1 by
default after most existing HIP apps adopt this change.
Also allows users to define
`__HIP_NO_HOST_MIN_MAX_IN_GLOBAL_NAMESPACE__` to disable host max/min in
global namespace.
min/max functions with mixed signed/unsigned integer parameters are not
defined unless
`__HIP_DEFINE_MIXED_HOST_MIN_MAX__` is defined.
Fixes: SWDEV-446564
Commit: f77f2b9c566858b3c6605ab02f4bbd56000f732f
https://github.com/llvm/llvm-project/commit/f77f2b9c566858b3c6605ab02f4bbd56000f732f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Attributes.h
M llvm/lib/IR/Attributes.cpp
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-metadata-to-attributes.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Try to preserve instruction metadata as argument attributes (#133557)
Fixes #131825
Commit: f9282475b305c0d2428640fa6586fe70f9b9f8d6
https://github.com/llvm/llvm-project/commit/f9282475b305c0d2428640fa6586fe70f9b9f8d6
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R llvm/test/Transforms/LoopVectorize/fminimumnum.ll
Log Message:
-----------
Revert "LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133690)"
This reverts commit de053bb4b0db64aebdff7719ff6ce75487f6ba5d.
Commit: 508a6b2e01069f12150321ec779b3d30d4e76a6e
https://github.com/llvm/llvm-project/commit/508a6b2e01069f12150321ec779b3d30d4e76a6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Use decodeUImmLog2XLenNonZeroOperand in decodeRVCInstrRdRs1UImm. NFC (#133759)
decodeUImmLog2XLenNonZeroOperand already contains the uimm5 check for
RV32 so we can reuse it. This makes C_SLLI_HINT code more similar to the
tblgen code for C_SLLI.
Commit: b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
https://github.com/llvm/llvm-project/commit/b2d272ccfb9407ded7e54d1eabd5b5743aa9dd1b
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/X86/lite-mode-target-expr.s
Log Message:
-----------
[BOLT][X86] Fix getTargetSymbol() (#133834)
In 96e5ee2, I inadvertently broke the way non-trivial symbol references
got updated from non-optimized code. The breakage was a consequence of
`getTargetSymbol(MCExpr *)` not returning a symbol when the parameter
was a binary expression. Fix `getTargetSymbol()` to cover such cases.
Commit: 0b8c8ed04211dae629811f24e6033e5c2185508f
https://github.com/llvm/llvm-project/commit/0b8c8ed04211dae629811f24e6033e5c2185508f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/unittests/API/SBMutexTest.cpp
Log Message:
-----------
[lldb] Fix use-after-free in SBMutexTest (#133840)
The `locked` variable can be accessed from the asynchronous thread until
the call to f.wait() completes. However, the variable is scoped in a
lexical block that ends before that, leading to a use-after-free.
Commit: a417a868cd2dad41765e43715379a54289f7da67
https://github.com/llvm/llvm-project/commit/a417a868cd2dad41765e43715379a54289f7da67
Author: John Harrison <harjohn at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
Log Message:
-----------
[lldb-dap] Enable runInTerminal tests on macOS. (#133824)
These tests are currently filtered on macOS if your on an M1 (or newer)
device. These tests do work on macOS, for me at least on M1 Max with
macOS 15.3.2 and Xcode 16.2.
Enabling them again, but if we have CI problems with them we can keep
them disabled.
Commit: 145b4a39504b88a695f1f85f4d9da991bb9a2656
https://github.com/llvm/llvm-project/commit/145b4a39504b88a695f1f85f4d9da991bb9a2656
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
A llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable (#130577)
For Add, Sub, Mul with Int64 type, if profitable, then do:
1. Trunc operands to Int32 type
2. Apply 32 bit Add/Sub/Mul
3. Zext to Int64 type
Commit: 71cf59219162be67392b435dfcb9b280e1ff8681
https://github.com/llvm/llvm-project/commit/71cf59219162be67392b435dfcb9b280e1ff8681
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[IR] Fix -Wunused-but-set-variable
Commit: dd862356e20d2d7e0d0356dff5bd80623c14febc
https://github.com/llvm/llvm-project/commit/dd862356e20d2d7e0d0356dff5bd80623c14febc
Author: Fangrui Song <i at maskray.me>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
R llvm/test/CodeGen/ARM/plt-relative-reloc.ll
A llvm/test/CodeGen/ARM/relative-reloc.ll
R llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
A llvm/test/CodeGen/RISCV/relative-reloc.ll
A llvm/test/CodeGen/X86/relative-reloc-32.ll
A llvm/test/CodeGen/X86/relative-reloc-64.ll
R llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
R llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function
https://reviews.llvm.org/D17938 introduced lowerRelativeReference to
give ConstantExpr sub (A-B) special semantics in ELF: when `A` is an
`unnamed_addr` function, create a PLT-generating relocation. This was
intended for C++ relative vtables, but C++ relative vtable ended up
using DSOLocalEquivalent (lowerDSOLocalEquivalent).
This special treatment of `unnamed_addr` seems unusual.
Let's remove it. Only COFF needs an overload to generate a @IMGREL32
relocation specifier (llvm/test/MC/COFF/cross-section-relative.ll).
Pull Request: https://github.com/llvm/llvm-project/pull/132684
Commit: 27b49288f7678d19cbda31904b6b5dbaa86124e7
https://github.com/llvm/llvm-project/commit/27b49288f7678d19cbda31904b6b5dbaa86124e7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] Add exhaustive diassember tests for c.slli64. NFC (#133820)
The c.slli encoding with a shift of 0 is c.slli64 for RV128 and a hint
for RV32 and RV64. Add a test for this encoding to the exhaustive c.slli
test.
Commit: ea68b228816dfbe27f3e1ba1149116587758d56c
https://github.com/llvm/llvm-project/commit/ea68b228816dfbe27f3e1ba1149116587758d56c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/test/MC/RISCV/rve-invalid.s
Log Message:
-----------
[RISCV] Prevent disassembling RVC hint instructions with x16-x31 for RVE. (#133805)
We can't ignore the return value form the GPR decode function, as it
contains the RVE check.
Commit: 386aca4a3c9ed55c8fe2d9738dff4bcf57fb4f10
https://github.com/llvm/llvm-project/commit/386aca4a3c9ed55c8fe2d9738dff4bcf57fb4f10
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
A llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
A llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
A llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
Log Message:
-----------
[RISCV] Correct disassembly of cm.push/pop for RVE. (#133816)
We shouldn't disassemble any encoding that refers to registers x16-x31
with RV32E.
Commit: b3c7d5951673cf45150f80744a89866c6646eb71
https://github.com/llvm/llvm-project/commit/b3c7d5951673cf45150f80744a89866c6646eb71
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lld/COFF/DebugTypes.cpp
Log Message:
-----------
[lld] Use DenseMap::insert_range (NFC) (#133845)
Commit: e3adf6bbfc72de043cffb3144079a9eb85e9ca40
https://github.com/llvm/llvm-project/commit/e3adf6bbfc72de043cffb3144079a9eb85e9ca40
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/Disassembler/RISCV/c_lui_disasm.txt
Log Message:
-----------
[RISCV] Use decodeCLUIImmOperand when disassembling C_LUI_HINT. (#133789)
This correctly rejects imm==0 and prints 1048575 instead of -1.
I've modified the test to only have each hex pattern once with different
check lines before it. This ensures we don't have more invalid messages
printed than we're checking for.
Commit: eb2aba4a648c055533db10f5348e483ead4561ec
https://github.com/llvm/llvm-project/commit/eb2aba4a648c055533db10f5348e483ead4561ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Remove extra call to MatchRegisterName in parseRegListCommon. NFC
Update RegEnd after each call to MatchRegisterName end of calling it
again.
Commit: ee3c892b3570281698170130a435f9c6b32c3ef5
https://github.com/llvm/llvm-project/commit/ee3c892b3570281698170130a435f9c6b32c3ef5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
Log Message:
-----------
[clang-tidy] Use DenseMap::insert_range (NFC) (#133844)
We can safely switch to insert_range here because
SyntheticStmtSourceMap starts out empty in the constructor. Also
TheCFG->synthetic_stmts() comes from DenseMap, so we know that the
keys are unique. That is, operator[] and insert are equivalent in
this particular case.
Commit: 4d68cf384df6be405598ec23be0e23e0837db3a3
https://github.com/llvm/llvm-project/commit/4d68cf384df6be405598ec23be0e23e0837db3a3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
Log Message:
-----------
[lldb] Use DenseMap::insert_range (NFC) (#133846)
Commit: 2de7b6ca4e978e5acb9530ed5495d490fb3c9501
https://github.com/llvm/llvm-project/commit/2de7b6ca4e978e5acb9530ed5495d490fb3c9501
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
Log Message:
-----------
[ExecutionEngine] Use DenseMap::insert_range (NFC) (#133847)
We can safely switch to insert_range here because LR starts out empty.
Also, *Result is a DenseMap, so we know that the keys are unique.
Commit: 091dcb8fc2b6ccb88c2975076e94f3cb6530db46
https://github.com/llvm/llvm-project/commit/091dcb8fc2b6ccb88c2975076e94f3cb6530db46
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/OpenMP/copyin.f90
Log Message:
-----------
[Flang] Make a private copy for the common block variables in copyin clause (#111359)
Fixes: https://github.com/llvm/llvm-project/issues/82949
Commit: bae3577002b6bda92837723a06a4ca5c498d300f
https://github.com/llvm/llvm-project/commit/bae3577002b6bda92837723a06a4ca5c498d300f
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/docs/Intrinsics.md
M flang/lib/Evaluate/intrinsics.cpp
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
Log Message:
-----------
[flang] Define ERF, ERFC and ERFC_SCALED intrinsics with Q and D prefix (#125217)
`ERF`, `ERFC` and `ERFC_SCALED` intrinsics prefixed by `Q` and `D` are
missing. Codes such as `CP2K`(https://github.com/cp2k/cp2k) and
`TurboRVB`(https://github.com/sissaschool/turborvb) use these intrinsics
just like defined in the GNU standard and here:
https://www.ibm.com/docs/fr/xl-fortran-aix/16.1.0?topic=reference-intrinsic-procedures
These intrinsics are based on the existing intrinsics but apply a
restriction on the type kind.
- `DERF`, `DERFC` and `DERFC_SCALED` are for double prรฉcision only.
- `QERF`, `QERFC` and `QERFC_SCALED` are for quad prรฉcision only.
Commit: d3be29642fa65e5ade434d860cfcc193f8278d4e
https://github.com/llvm/llvm-project/commit/d3be29642fa65e5ade434d860cfcc193f8278d4e
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Correctly annotate pointer/reference in _Generic (#133673)
Fix #133663
Commit: fe3e9c2b46504e7b197245b3946abfec563e77d4
https://github.com/llvm/llvm-project/commit/fe3e9c2b46504e7b197245b3946abfec563e77d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[Analysis] Avoid repeated hash lookups (NFC) (#133045)
Commit: aa889ed129ff26d9341c50a9eaba4db728ca6212
https://github.com/llvm/llvm-project/commit/aa889ed129ff26d9341c50a9eaba4db728ca6212
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-03-31 (Mon, 31 Mar 2025)
Changed paths:
M lldb/include/lldb/Core/Statusline.h
M lldb/source/Core/Statusline.cpp
Log Message:
-----------
[lldb] Fix statusline terminal resizing
Simplify and fix the logic to clear the old statusline when the terminal
window dimensions have changed. I accidentally broke the terminal
resizing behavior when addressing code review feedback.
I'd really like to figure out a way to test this. PExpect isn't a good
fit for this, because I really need to check the result, rather than the
control characters, as the latter doesn't tell me whether any part of
the old statusline is still visible.
Commit: 49f080afc4466ddf415d7fc7e98989c0bd07d8ea
https://github.com/llvm/llvm-project/commit/49f080afc4466ddf415d7fc7e98989c0bd07d8ea
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
M mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Dialect/MPI/mpiops.mlir
Log Message:
-----------
[mlir][mpi] Mandatory Communicator (#133280)
This is replacing #125361
- communicator is mandatory
- new mpi.comm_world
- new mp.comm_split
- lowering and test
---------
Co-authored-by: Sergio Sรกnchez Ramรญrez <sergio.sanchez.ramirez+git at bsc.es>
Commit: 7267dbfe1032f5ebd698403848fab4bbfcbe0b19
https://github.com/llvm/llvm-project/commit/7267dbfe1032f5ebd698403848fab4bbfcbe0b19
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/test/AST/ByteCode/unions.cpp
Log Message:
-----------
[clang][bytecode] Fix comparing the addresses of union members (#133852)
Union members get the same address, so we can't just use
`Pointer::getByteOffset()`.
Commit: 36978fadb8e14c944b71fa63b876012cb2c444c2
https://github.com/llvm/llvm-project/commit/36978fadb8e14c944b71fa63b876012cb2c444c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/test/MC/RISCV/pseudo-jump-invalid.s
M llvm/test/MC/RISCV/rv32i-aliases-invalid.s
M llvm/test/MC/RISCV/rv64i-aliases-invalid.s
Log Message:
-----------
[MC] Add UseAtForSpecifier
Some ELF targets don't use @ for relocation specifiers.
We should not report `error: invalid variant` when @ is used.
Attempt to make expr at specifier parsing less hacky.
Commit: 6b647de031a7d590663a791a503525f21cb98d03
https://github.com/llvm/llvm-project/commit/6b647de031a7d590663a791a503525f21cb98d03
Author: Ningning Shi(ๅฒๅฎๅฎ) <shiningning at iscas.ac.cn>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[NFC] Remove the unused hasMinSize() (#133838)
The 'hasOptSize()' is 'hasFnAttribute(Attribute::OptimizeForSize) ||
hasMinSize()', so we don't need another 'hasMinSize()'.
Commit: 5ff8c036063d83c6eff495de7709b12875113d62
https://github.com/llvm/llvm-project/commit/5ff8c036063d83c6eff495de7709b12875113d62
Author: Csanรกd Hajdรบ <csanad.hajdu at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/MC/AArch64/execute-only-memtag.ll
Log Message:
-----------
[AArch64] Bugfix when using execute-only and memtag sanitizer together (#133084)
Support for execute-only code generation (#125687) introduced a bug in
the case where the memtag sanitizer is used in a module containing a mix
of execute-only and non-execute-only functions.
The bug is caused by using `return` instead of `break` to short-circuit
a loop, which meant that the rest of the function dealing with memtag
sanitizer logic wasn't run.
Commit: c5afcfe0bb44067b2cd050ed9cff311eada9cc37
https://github.com/llvm/llvm-project/commit/c5afcfe0bb44067b2cd050ed9cff311eada9cc37
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 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/insert-subvector-broadcast.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
Log Message:
-----------
[X86] combineINSERT_SUBVECTOR - fold insert_subvector(base,extract_subvector(broadcast)) -> blend shuffle(base,broadcast) (REAPPLIED) (#133724)
If the broadcast is already the full vector width, try to prefer a blend/vshuff64x2 over a vector insertion which is usually lower latency (and sometimes a lower uop count), and reduces changes in vector sizes that can interfere with further combines.
Updated version of #133083 - which lead to infinite loops due to shuffle lowering recreating the INSERT_SUBVECTOR pattern, this variant creates the BLENDI/SHUF128 nodes directly.
Commit: 64d493f987dc24b3d7e45daade9b0e8bfa1cc471
https://github.com/llvm/llvm-project/commit/64d493f987dc24b3d7e45daade9b0e8bfa1cc471
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
Log Message:
-----------
[EquivalenceClasses] Return ECValue directly from insert (NFC).
Removes a redundant lookup in the mapping.:
Commit: 14c50986405731030b001d85cc8cd4a2c9f86388
https://github.com/llvm/llvm-project/commit/14c50986405731030b001d85cc8cd4a2c9f86388
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Use takeName when moving arguments in operands-to-args (#133851)
Commit: fd0785e67ca66fb7f59ae504b637285d27d4e5c9
https://github.com/llvm/llvm-project/commit/fd0785e67ca66fb7f59ae504b637285d27d4e5c9
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Reorder ERF op to align with TOSA spec (#133814)
Minor non-functional change of the dialect to better align with the
operator order from the TOSA specification:
https://www.mlplatform.org/tosa/tosa_spec.html
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 7a2b160e76e23d8fa62750af20e1e25f08803784
https://github.com/llvm/llvm-project/commit/7a2b160e76e23d8fa62750af20e1e25f08803784
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move rootn to the CLC library; optimize (#133735)
The function was already nominally in the CLC namespace; this commit
just moves it over.
This commit also vectorizes the builtin to avoid scalarization.
Commit: ad48fffb53003333456b327a2a3f22bd81a77a00
https://github.com/llvm/llvm-project/commit/ad48fffb53003333456b327a2a3f22bd81a77a00
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_exp2.cl
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
Log Message:
-----------
[libclc] Move several 'native' builtins to CLC library (#129679)
This commit moves the 'native' builtins that use asm statements to
generate LLVM intrinsics to the CLC library. In doing so it converts
them to use the appropriate elementwise builtin to generate the same
intrinsic; there are no codegen changes to any target except to AMDGPU
targets where `native_log` is no longer custom implemented and instead
used the clang elementwise builtin.
This work forms part of #127196 and indeed with this commit there are no
'generic' builtins using/abusing asm statements - the remaining builtins
are specific to the amdgpu and r600 targets.
Commit: 1cf6786e322ddc787d793dbb48d59b4f9827fef3
https://github.com/llvm/llvm-project/commit/1cf6786e322ddc787d793dbb48d59b4f9827fef3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[mlir] Improve error handling for dense attribute parsing in complex types (#133220)
- For splat dense attributes, the number of parsed elements must be 2.
- For non-splat dense attributes, the number of parsed elements must be
twice the number of elements in the type.
Fixes #132859.
Commit: af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
https://github.com/llvm/llvm-project/commit/af0b0ce665e2a36dd60c2aa70e78cc54cf20b7e3
Author: Valery Pykhtin <valery.pykhtin at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir
Log Message:
-----------
[AMDGPU] Fix SIFoldOperandsImpl::tryFoldZeroHighBits when met non-reg src1 operand. (#133761)
This happens when a constant is propagated to a V_AND 0xFFFF, reg
instruction.
Fixes failures like:
```
llc: /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:366: llvm::Register llvm::MachineOperand::getReg() const: Assertion `isReg() && "This is not a register operand!"' failed.
Stack dump:
0. Program arguments: /github/llvm-project/build/Debug/bin/llc -mtriple=amdgcn -mcpu=gfx1101 -verify-machineinstrs -run-pass si-fold-operands /github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir -o -
1. Running pass 'Function Pass Manager' on module '/github/llvm-project/llvm/test/CodeGen/AMDGPU/fold-zero-high-bits-skips-non-reg.mir'.
2. Running pass 'SI Fold Operands' on function '@test_tryFoldZeroHighBits_skips_nonreg'
...
#12 0x00007f5a55005cfc llvm::MachineOperand::getReg() const /github/llvm-project/llvm/include/llvm/CodeGen/MachineOperand.h:0:5
#13 0x00007f5a555c6bf5 (anonymous namespace)::SIFoldOperandsImpl::tryFoldZeroHighBits(llvm::MachineInstr&) const /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:1459:36
#14 0x00007f5a555c63ad (anonymous namespace)::SIFoldOperandsImpl::run(llvm::MachineFunction&) /github/llvm-project/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:2455:11
#15 0x00007f5a555c6780 (anonymous namespace)::SIFoldOperandsLegacy::runOnMachineFunction
```
Commit: 9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
https://github.com/llvm/llvm-project/commit/9e5bfbf77db0945f59c0d18012a8e6d43c711b3a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[EquivalenceClasses] Update member_begin to take ECValue (NFC).
Remove a level of indirection and update code to use range-based for
loops.
Commit: 6c3adaafe3f2139fba5ef3865cbcbba93dbab645
https://github.com/llvm/llvm-project/commit/6c3adaafe3f2139fba5ef3865cbcbba93dbab645
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_neon.td
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/utils/TableGen/NeonEmitter.cpp
A llvm/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.ll
Log Message:
-----------
[AARCH64][Neon] switch to using bitcasts in arm_neon.h where appropriate (#127043)
Currently arm_neon.h emits C-style casts to do vector type casts. This
relies on implicit conversion between vector types to be enabled, which
is currently deprecated behaviour and soon will disappear. To ensure
NEON code will keep working afterwards, this patch changes all this
vector type casts into bitcasts.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: e47d3a30881794c99a6de3aa9adc806bf3dc79f6
https://github.com/llvm/llvm-project/commit/e47d3a30881794c99a6de3aa9adc806bf3dc79f6
Author: Peter Smith <peter.smith at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
Log Message:
-----------
[LLD][AArch64] Increase alignment of AArch64AbsLongThunk to 8 (#133738)
This permits an AArch64AbsLongThunk to be used in an environment where
unaligned accesses are disabled.
The AArch64AbsLongThunk does a load of an 8-byte address. When unaligned
accesses are disabled this address must be 8-byte aligned.
The vast majority of AArch64 systems will have unaligned accesses
enabled in userspace. However, after a reset, before the MMU has been
enabled, all memory accesses are to "device" memory, which requires
aligned accesses. In systems with multi-stage boot loaders a thunk may
be required to a later stage before the MMU has been enabled.
As we only want to increase the alignment when the ldr is used we delay
the increase in thunk alignment until we know we are going to write an
ldr. We also need to account for the ThunkSection alignment increase
when this happens.
In some of the test updates, particularly those with shared CHECK lines
with position independent thunks it was easier to ensure that the thunks
started at an 8-byte aligned address in all cases.
Commit: 197ead75fb7a3c57f7a41cdbcff48ef3841e3832
https://github.com/llvm/llvm-project/commit/197ead75fb7a3c57f7a41cdbcff48ef3841e3832
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-3.ll
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-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.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-i8-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
Log Message:
-----------
[X86] splitVector - split concat_vectors(a,b,c,d) -> concat_vectors(a,b) + concat_vectors(c,d) (#133753)
Similar to what we already for build_vectors during subvector extraction, when splitting concat_vectors nodes, attempt to create a pair of half size concat_vectors nodes to see if these can fold.
Commit: da5fb4213ff210f0d49c4ec837b72997cb9e69f5
https://github.com/llvm/llvm-project/commit/da5fb4213ff210f0d49c4ec837b72997cb9e69f5
Author: Nathan Gauรซr <brioche at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
Log Message:
-----------
[Clang][SPIR-V] Fix convergence tokens for dtor (#133469)
Destructor calls were emitted without convergence intrinsics when building for SPIR-V, which means invalid IR since we
mixed controlled and non-controlled convergence.
Commit: 7581cb68f9fbff7a4628da594580d81a803129ee
https://github.com/llvm/llvm-project/commit/7581cb68f9fbff7a4628da594580d81a803129ee
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/tools/lldb-server/lldb-platform.cpp
M llvm/docs/ReleaseNotes.md
Log Message:
-----------
[lldb] Remove lldb-server min and max gdbserver port options (#133275)
Since lldb 20, these have had no effect:
https://releases.llvm.org/20.1.0/docs/ReleaseNotes.html#changes-to-lldb
> lldb-server now listens to a single port for gdbserver connections and
> provides that port to the connection handler processes. This means
that
> only 2 ports need to be opened in the firewall (one for the
lldb-server
> platform, one for gdbserver connections). In addition, due to this
work,
lldb-server now works on Windows in the server mode.
Remove them.
Commit: dca7e0370e9684c00d95fb810c4efd31af0a3a9f
https://github.com/llvm/llvm-project/commit/dca7e0370e9684c00d95fb810c4efd31af0a3a9f
Author: dlav-sc <daniil.avdeev at syntacore.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
Log Message:
-----------
[lldb] add --platform-available-ports option to the dotest.py (#112555)
This patch adds --platform-available-ports option to the dotest.py
script to avoid hardcoded gdb ports in lldb testsuite.
Currently, this option could be helpful in GdbRemoteTestCases (e.g.
TestLldbGdbServer, TestNonStop, TestGdbRemoteThreadsInStopReply,
TestGdbRemotePlatformFile, TestGdbRemote_vCont)
Commit: e17d864f55133d46e12614280951ddb2dc43cc74
https://github.com/llvm/llvm-project/commit/e17d864f55133d46e12614280951ddb2dc43cc74
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
M flang/test/Lower/OpenMP/target.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
Log Message:
-----------
[flang][OpenMP][Lower] lower array subscripts for task depend (#132994)
The OpenMP standard says that all dependencies in the same set of
inter-dependent tasks must be non-overlapping. This simplification means
that the OpenMP only needs to keep track of the base addresses of
dependency variables. This can be seen in kmp_taskdeps.cpp, which stores
task dependency information in a hash table, using the base address as a
key.
This patch generates a rebox operation to slice boxed arrays, but only
the box data address is used for the task dependency. The extra box is
optimized away by LLVM at O3.
Vector subscripts are TODO (I will address in my next patch).
This also fixes a bug for ordinary subscripts when the symbol was mapped
to a box:
Fixes #132647
Commit: 66fca0674d83254c70af4a6289496b8acc4377df
https://github.com/llvm/llvm-project/commit/66fca0674d83254c70af4a6289496b8acc4377df
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M offload/DeviceRTL/src/Workshare.cpp
Log Message:
-----------
[OpenMP] Fix num_iters in __kmpc_*_loop DeviceRTL functions (#133435)
This patch removes the addition of 1 to the number of iterations when
calling the following DeviceRTL functions:
- `__kmpc_distribute_for_static_loop*`
- `__kmpc_distribute_static_loop*`
- `__kmpc_for_static_loop*`
Calls to these functions are currently only produced by the OMPIRBuilder
from flang, which already passes the correct number of iterations to
these functions. By adding 1 to the received `num_iters` variable,
worksharing can produce incorrect results. This impacts flang OpenMP
offloading of `do`, `distribute` and `distribute parallel do`
constructs.
Expecting the application to pass `tripcount - 1` as the argument seems
unexpected as well, so rather than updating flang I think it makes more
sense to update the runtime.
Commit: 7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
https://github.com/llvm/llvm-project/commit/7f14b2a9eb4792155ed31da7bc16cc58cbb1b0fc
Author: Shoreshen <372660931 at qq.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-codegenprepare-mul24.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
R llvm/test/CodeGen/AMDGPU/narrow_math_for_and.ll
M llvm/test/CodeGen/AMDGPU/widen-smrd-loads.ll
Log Message:
-----------
Revert "[AMDGPU][CodeGenPrepare] Narrow 64 bit math to 32 bit if profitable" (#133880)
Reverts llvm/llvm-project#130577
Commit: 337bad3921356fba89409e03793f7d2df846c0e9
https://github.com/llvm/llvm-project/commit/337bad3921356fba89409e03793f7d2df846c0e9
Author: Afanasyev Ivan <ivafanas at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/EarlyIfConversion.cpp
A llvm/test/CodeGen/AArch64/early-ifcvt-on-double-killed-reg.mir
A llvm/test/CodeGen/Hexagon/early-if-predicator-reg-killed-everywhere.mir
Log Message:
-----------
[EarlyIfConverter] Fix reg killed twice after early-if-predicator and ifcvt (#133554)
Bug relates to `early-if-predicator` and `early-ifcvt` passes. If
virtual register has "killed" flag in both basic blocks to be merged
into head, both instructions in head basic block will have "killed" flag
for this register. It makes MIR incorrect.
Example:
```
bb.0: ; if
...
%0:intregs = COPY $r0
J2_jumpf %2, %bb.2, implicit-def dead $pc
J2_jump %bb.1, implicit-def dead $pc
bb.1: ; if.then
...
S4_storeiri_io killed %0, 0, 1
J2_jump %bb.3, implicit-def dead $pc
bb.2: ; if.else
...
S4_storeiri_io killed %0, 0, 1
J2_jump %bb.3, implicit-def dead $pc
```
After early-if-predicator will become:
```
bb.0:
%0:intregs = COPY $r0
S4_storeirif_io %1, killed %0, 0, 1
S4_storeirit_io %1, killed %0, 0, 1
```
Having `killed` flag set twice in bb.0 for `%0` is an incorrect MIR.
Commit: 4a687024559d5ef10abe6ed10555c5f5c2cfcb40
https://github.com/llvm/llvm-project/commit/4a687024559d5ef10abe6ed10555c5f5c2cfcb40
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/test/CodeGen/X86/xray-empty-firstmbb.mir
M llvm/test/CodeGen/X86/xray-multiplerets-in-blocks.mir
Log Message:
-----------
[CodeGen][NPM] Port XRayInstrumentation to NPM (#129865)
Commit: 518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
https://github.com/llvm/llvm-project/commit/518102f2592e8b1d4f74510b97cb2d0e2bb1d66a
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
Log Message:
-----------
Fix test failures caused by #127043 (#133895)
Commit: b0a79065178db615b9aaff50337185ad8ee78054
https://github.com/llvm/llvm-project/commit/b0a79065178db615b9aaff50337185ad8ee78054
Author: offsetof <offsetof at mailo.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
Log Message:
-----------
[clang] Fix crash on invalid `std::initializer_list<T>` template-id (#132284)
In `Sema::BuildStdInitializerList`, check that the synthesized
template-id `std::initializer_list<T>` is valid (which might not be the
case if the template has associated constraints or subsequent parameters
with default arguments) before forming the type.
Fixes #132256
Commit: 19a319667b567a26a20f9829a0ae7e6a5c259cba
https://github.com/llvm/llvm-project/commit/19a319667b567a26a20f9829a0ae7e6a5c259cba
Author: Alexey Moksyakov <alexey.moksyakov at huawei.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
Log Message:
-----------
[bolt][aarch64] Adding test with unsupported indirect branches (#127655)
This test contains the set of common indirect branch patterns.
Adding the support will be step by step
Commit: 1d9ad99305753a11a28e61edb130d9c63859f42e
https://github.com/llvm/llvm-project/commit/1d9ad99305753a11a28e61edb130d9c63859f42e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/IR/Block.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
Log Message:
-----------
[mlir] Use llvm::hasSingleElement (NFC) (#133881)
Commit: 13a313fe582a3c41fb5c50ca2325c0987c0af6d7
https://github.com/llvm/llvm-project/commit/13a313fe582a3c41fb5c50ca2325c0987c0af6d7
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_recip.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanpi.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cospi.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move sinpi/cospi/tanpi to the CLC library (#133889)
Additionally, these builtins are now vectorized.
This also moves the native_recip and native_divide builtins as they are
used by the tanpi builtin.
Commit: 191e0622e84a215c1d632412561c2fe6ccd86170
https://github.com/llvm/llvm-project/commit/191e0622e84a215c1d632412561c2fe6ccd86170
Author: Lang Hames <lhames at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_ptrauth_noolloc_sections.yaml
Log Message:
-----------
[JITLink][MachO][arm64] Don't lower ptrauth edges in noalloc-lifetime sections.
Ptrauth relocations can only be fixed up in the executing process, but noalloc
sections do not have any memory in the executing process. Failure to skip
ptrauth edges results in signing instructions that operate on invalid addresses,
leading to segfaults or data corruption.
Ignoring noalloc sections for ptrauth lowering purposes allows the ptrauth
edges to persist until they reach the applyFixup method, at which point they
raise a useful error and cleanly terminate linking.
Commit: 290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
https://github.com/llvm/llvm-project/commit/290d7b82cb5d3fd9fb433ede0eef7f3a524d89cd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceAttributes.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
M llvm/tools/llvm-reduce/deltas/ReduceVirtualRegisters.h
Log Message:
-----------
llvm-reduce: Prune some unneeded includes and forward declares (#133883)
Commit: 41b83b48e37aa0c7f9e0458638567f37d6dbc924
https://github.com/llvm/llvm-project/commit/41b83b48e37aa0c7f9e0458638567f37d6dbc924
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-args.c
Log Message:
-----------
No longer assert on incorrect attribute argument index (#133766)
Fixes an assertion when referencing an out-of-bounds parameter via a
function attribute whose argument list refers to parameters by index and
the function is variadic. e.g.,
__attribute__ ((__format_arg__(2))) void test (int i, ...) { }
Fixes #61635
Commit: ba7feaab92ca807419de6f2b80dda2a1d1759d97
https://github.com/llvm/llvm-project/commit/ba7feaab92ca807419de6f2b80dda2a1d1759d97
Author: Mirko Brkuลกanin <Mirko.Brkusanin at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
Log Message:
-----------
[AMDGPU][Docs] Fix and update AMDGPUUsage.rst (#133894)
- Fix notes about SALU float and src1 SGPRs for dpp instructions
- Add split between gfx11 and gfx12 sections, update references.
Commit: c192737009584377d99b18bfbc8298c8e58bcd02
https://github.com/llvm/llvm-project/commit/c192737009584377d99b18bfbc8298c8e58bcd02
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
Log Message:
-----------
[LLVM][InstCombine][AArch64] Refactor common SVE intrinsic combines. (#126928)
Introduce SVEIntrinsicInfo to store properties common across SVE
intrinsics. This allows a seperation between intrinsic IDs and the
transformations that can be applied to them, which reduces the layering
problems we hit when adding new combines.
This PR is mostly refactoring to bring in the concept and port the most
common combines (e.g. dead code when all false). This will be followed
up with new combines where I plan to reuse much of the existing
instruction simplifcation logic to significantly improve our ability to
constant fold SVE intrinsics.
Commit: 8f56394487a4d454be0637667267ad37bd636d0f
https://github.com/llvm/llvm-project/commit/8f56394487a4d454be0637667267ad37bd636d0f
Author: Anutosh Bhat <andersonbhat491 at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
Log Message:
-----------
[clang-repl] Implement LoadDynamicLibrary for clang-repl wasm use cases (#133037)
**Currently we don't make use of the JIT for the wasm use cases so the
approach using the execution engine won't work in these cases.**
Rather if we use dlopen. We should be able to do the following
(demonstrating through a toy project)
1) Make use of LoadDynamicLibrary through the given implementation
```
extern "C" EMSCRIPTEN_KEEPALIVE int load_library(const char *name) {
auto Err = Interp->LoadDynamicLibrary(name);
if (Err) {
llvm::logAllUnhandledErrors(std::move(Err), llvm::errs(), "load_library error: ");
return -1;
}
return 0;
}
```
2) Add a button to call load_library once the library has been added in
our MEMFS (currently we have symengine built as a SIDE MODULE and we are
loading it)
Commit: 6892d5428600113dade7b4ecf6b70bbab3198c90
https://github.com/llvm/llvm-project/commit/6892d5428600113dade7b4ecf6b70bbab3198c90
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x1.ll
Log Message:
-----------
[Clang][LLVM] Implement single-single vectors MOP4{A/S} (#127797)
Implement all single-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files
Commit: a338f80ddcb97edd275c8bf949b1fab0c7d1049e
https://github.com/llvm/llvm-project/commit/a338f80ddcb97edd275c8bf949b1fab0c7d1049e
Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
A mlir/test/Dialect/Linalg/transform-op-linalg-copy-to-memref.mlir
Log Message:
-----------
[mlir][Linalg] Add transform to convert linalg.copy into memref.copy (#132422)
Targeted rewrite of a linalg.copy on memrefs to a memref.copy.
This is useful when bufferizing copies to a linalg.copy, applying some
transformations, and then rewriting the copy into a memref.copy.
If the element types of the source and destination differ, or if the
source is a scalar, the transform produces a silenceable failure.
Commit: 2c0b888359c6c5976054bb423ba1d7b37bae9f1a
https://github.com/llvm/llvm-project/commit/2c0b888359c6c5976054bb423ba1d7b37bae9f1a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
Log Message:
-----------
[X86] combineX86ShuffleChain - prefer combining to X86ISD::SHUF128 if PERMQ operands are splittable (#133900)
If the 512-bit unary shuffle is a concatenation of 128/256-bit subvectors then we're better off using a X86ISD::SHUF128 node so we can fold the concatenation into the shuffle as well.
Commit: 3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
https://github.com/llvm/llvm-project/commit/3a66760d9b0aa9ec31df591e87dbf0dedb4c466d
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
Log Message:
-----------
[LV] Improve a test, regen with UTC (#130092)
Commit: a1e041b64648789897c96eca5d6270e253773d16
https://github.com/llvm/llvm-project/commit/a1e041b64648789897c96eca5d6270e253773d16
Author: Samuel Tebbs <samuel.tebbs at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
Log Message:
-----------
[NFC][AArch64] Pre-commit high register pressure dot product test
Commit: 1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
https://github.com/llvm/llvm-project/commit/1ebc308bba0e1403b9fb3ba0fbadc66e182138e0
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/test/Integration/debug-local-var-2.f90
M llvm/docs/LangRef.rst
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
M llvm/test/CodeGen/Generic/MIRDebugify/locations-and-values.mir
M llvm/test/DebugInfo/X86/undef-dbg-val.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
R llvm/test/DebugInfo/roundtrip-non-instruction-debug-info.ll
M llvm/test/DebugInfo/salvage-cast-debug-info.ll
M llvm/test/Transforms/GlobalOpt/localize-constexpr-debuginfo.ll
M llvm/test/Transforms/Scalarizer/dbginfo.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.globals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.noglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values.ll.funcsig.transitiveglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.globals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.noglobals.expected
M llvm/test/tools/UpdateTestChecks/update_test_checks/Inputs/various_ir_values_dbgrecords.ll.funcsig.transitiveglobals.expected
R llvm/test/tools/UpdateTestChecks/update_test_checks/various_ir_values.test
M llvm/test/tools/llvm-reduce/remove-dp-values.ll
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/tools/llvm-lto/llvm-lto.cpp
M llvm/tools/llvm-lto2/llvm-lto2.cpp
M llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp
M llvm/unittests/Transforms/Utils/LocalTest.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/test/Target/LLVMIR/llvmir-debug.mlir
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove debug-intrinsic printing cmdline options (#131855)
During the transition from debug intrinsics to debug records, we used
several different command line options to customise handling: the
printing of debug records to bitcode and textual could be independent of
how the debug-info was represented inside a module, whether the
autoupgrader ran could be customised. This was all valuable during
development, but now that totally removing debug intrinsics is coming
up, this patch removes those options in favour of a single flag
(experimental-debuginfo-iterators), which enables autoupgrade, in-memory
debug records, and debug record printing to bitcode and textual IR.
We need to do this ahead of removing the
experimental-debuginfo-iterators flag, to reduce the amount of
test-juggling that happens at that time.
There are quite a number of weird test behaviours related to this --
some of which I simply delete in this commit. Things like
print-non-instruction-debug-info.ll , the test suite now checks for
debug records in all tests, and we don't want to check we can print as
intrinsics. Or the update_test_checks tests -- these are duplicated with
write-experimental-debuginfo=false to ensure file writing for intrinsics
is correct, but that's something we're imminently going to delete.
A short survey of curious test changes:
* free-intrinsics.ll: we don't need to test that debug-info is a zero
cost intrinsic, because we won't be using intrinsics in the future.
* undef-dbg-val.ll: apparently we pinned this to non-RemoveDIs in-memory
mode while we sorted something out; it works now either way.
* salvage-cast-debug-info.ll: was testing intrinsics-in-memory get
salvaged, isn't necessary now
* localize-constexpr-debuginfo.ll: was producing "dead metadata"
intrinsics for optimised-out variable values, dbg-records takes the
(correct) representation of poison/undef as an operand. Looks like we
didn't update this in the past to avoid spurious test differences.
* Transforms/Scalarizer/dbginfo.ll: this test was explicitly testing
that debug-info affected codegen, and we deferred updating the tests
until now. This is just one of those silent gnochange issues that get
fixed by RemoveDIs.
Finally: I've added a bitcode test, dbg-intrinsics-autoupgrade.ll.bc,
that checks we can autoupgrade debug intrinsics that are in bitcode into
the new debug records.
Commit: bcf0f8d8aa27910545762e2cc7733a11a00954d0
https://github.com/llvm/llvm-project/commit/bcf0f8d8aa27910545762e2cc7733a11a00954d0
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_exp10.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
R libclc/generic/lib/math/clc_exp10.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/tables.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move exp10 to the CLC library (#133899)
The builtin was already nominally in the CLC library; this commit just
moves it over. It also vectorizes the builtin on its way.
Commit: 513a91a5f155746c7323a555a6e5ad0505627ca7
https://github.com/llvm/llvm-project/commit/513a91a5f155746c7323a555a6e5ad0505627ca7
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/perror.f90
Log Message:
-----------
[flang/flang-rt] Implement PERROR intrinsic form GNU Extension (#132406)
Add the implementation of the `PERROR(STRING) ` intrinsic from the GNU
Extension to prints on the stderr a newline-terminated error message
corresponding to the last system error prefixed by `STRING`.
(https://gcc.gnu.org/onlinedocs/gfortran/PERROR.html)
Commit: 15cfe4a77495a6053cc9818247fe520da2bb3e5f
https://github.com/llvm/llvm-project/commit/15cfe4a77495a6053cc9818247fe520da2bb3e5f
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
A mlir/test/Target/LLVMIR/Import/call-attributes.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[MLIR] Adding 'no_inline' and 'always_inline' attributes on LLMV::CallOp (#133726)
Addition of `no_inline` and `always_inline` attributes for CallOps in
MLIR in order to be able to inline or not directly the call of a
function without having the attribute on the `FuncOp`.
The addition of these attributes will be used in a future PR in Flang
(`[NO]INLINE` directive).
Commit: c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
https://github.com/llvm/llvm-project/commit/c1efd8b663b7db3c717fae8a1991dcc4b8304c8f
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_tanpi.h
Log Message:
-----------
[libclc][NFC] Delete two unused headers
These should have been deleted when the respective builtins were moved
to the CLC library.
Commit: e92ff64bad38835a497f9eb928967bca6a295b28
https://github.com/llvm/llvm-project/commit/e92ff64bad38835a497f9eb928967bca6a295b28
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/utils/TableGen/SveEmitter.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_1x2.ll
Log Message:
-----------
[Clang][LLVM] Implement single-multi vectors MOP4{A/S} (#128854)
Implement all single-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files.
This PR depends on https://github.com/llvm/llvm-project/pull/127797
This patch updates the semantics of template arguments in intrinsic
names for clarity and ease of use. Previously, template argument numbers
indicated which character in the prototype string determined the final
type suffix, which was confusingโespecially for intrinsics using
multiple prototype modifiers per operand (e.g., intrinsics operating on
arrays of vectors). The number had to reference the correct character in
the prototype (e.g., the โuโ in โ2.uโ), making the system cumbersome and
error-prone.
With this patch, template argument numbers now refer to the operand
number that determines the final type suffix, providing a more intuitive
and consistent approach.
Commit: 173eb32b756ad62c4243e6631198cd22fc079cef
https://github.com/llvm/llvm-project/commit/173eb32b756ad62c4243e6631198cd22fc079cef
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Construct SmallVector with ArrayRef (NFC) (#133860)
Commit: c30776ab9a1404adff6022c65b92fb8cd3cfc097
https://github.com/llvm/llvm-project/commit/c30776ab9a1404adff6022c65b92fb8cd3cfc097
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
Log Message:
-----------
[AArch64] Use ArrayRef::slice (NFC) (#133862)
Commit: 664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
https://github.com/llvm/llvm-project/commit/664745cf381b4a153b16ef9e38d3e01dbb1e7d4f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-vselect.ll
Log Message:
-----------
[X86] avx512-vselect.ll - regenerate VPTERNLOG comments
Commit: 8741412bdfc0a60719f116add7d828694ef48c02
https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 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/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/math/CMakeLists.txt
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/atan2f128_test.cpp
Log Message:
-----------
[libc][math] Implement a fast pass for atan2f128 with 1ULP error using DyadicFloat<128>. (#133150)
Part of https://github.com/llvm/llvm-project/issues/131642.
Commit: 19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
https://github.com/llvm/llvm-project/commit/19fb4b04a605c4a5759c72f61e8e5f5cac406a0b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Validate the end of register ranges in Zcmp register lists. (#133866)
We were only checking that the last register was a register, not that it
was a legal register for a register list. This caused the encoder
function to hit an llvm_unreachable.
The error messages are not good, but this only one of multiple things
that need to be fixed in this function. I'll focus on error messages
later once I have the other issues fixed.
Commit: 4e6c48f1e74c46e62342f24ac879fd32d9a6c783
https://github.com/llvm/llvm-project/commit/4e6c48f1e74c46e62342f24ac879fd32d9a6c783
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Merge RegStart with RegEnd in parseRegListCommon. NFC (#133867)
We only need to keep track of the last register seen. We never need the
first register once we've parsed. Currently if s0/x8 is used RegStart
will point to that and not ra/s1 so it already isn't the start.
Commit: 1ab3a4f234e38904f9935d02a696a52d1e5dff71
https://github.com/llvm/llvm-project/commit/1ab3a4f234e38904f9935d02a696a52d1e5dff71
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
Log Message:
-----------
[flang-rt][NFC] Work around CTK12.8 compilation failure. (#133833)
It happened in https://lab.llvm.org/buildbot/#/builders/152/builds/1131
when the buildbot was switched from CTK12.3 to CTK12.8.
The logs are gone by now, so the above link is useless.
The error was:
error: โautoโ not permitted in template argument
This workaround helps, but I also reported the issue to NVCC devs.
Commit: aa73124e51d89a22b2ba89380d3a1403e4f1c385
https://github.com/llvm/llvm-project/commit/aa73124e51d89a22b2ba89380d3a1403e4f1c385
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/Sema/SemaExpr.cpp
A clang/test/CodeGen/promoted-complex-div.c
Log Message:
-----------
Fix complex long double division with -mno-x87. (#133152)
The combination of `-fcomplex-arithmetic=promoted` and `mno-x87` for
`double` complex division is leading to a crash.
See https://godbolt.org/z/189G957oY
This patch fixes that.
Commit: 664e847916ff7329da9e5295ecc17ec169e647eb
https://github.com/llvm/llvm-project/commit/664e847916ff7329da9e5295ecc17ec169e647eb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-to-args-token.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandsToArgs.cpp
Log Message:
-----------
llvm-reduce: Fix invalid reduction on tokens in operands-to-args (#133855)
Commit: ac55688482637ce625edaa8a25ad6eced8992a22
https://github.com/llvm/llvm-project/commit/ac55688482637ce625edaa8a25ad6eced8992a22
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-skip-token.ll
Log Message:
-----------
llvm-reduce: Add test for token handling in operands-skip (#133857)
Seems to work correctly but wasn't tested.
Commit: 4cb41d136cd4e2caef724e35b337f888036f8645
https://github.com/llvm/llvm-project/commit/4cb41d136cd4e2caef724e35b337f888036f8645
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/andorxor.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/extbinopload.ll
M llvm/test/CodeGen/AArch64/extract-subvec-combine.ll
M llvm/test/CodeGen/AArch64/neon-bitcast.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/vec3-loads-ext-trunc-stores.ll
M llvm/test/CodeGen/AArch64/zext.ll
Log Message:
-----------
[AArch64] Prefer zip over ushll for anyext. (#133433)
Many CPUs have a higher throughput of ZIP instructions vs USHLL. This
adds some tablegen patterns for preferring zip in anyext patterns.
Commit: a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
https://github.com/llvm/llvm-project/commit/a8a33bab69ccdeca9b0e1e6730ad17230431d2ab
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/unittests/Target/SPIRV/SPIRVConvergenceRegionAnalysisTests.cpp
Log Message:
-----------
[NFC][SPIRV] Misc code cleanup in SPIRV Target (#133764)
- Use static instead of anonymous namespace for file local functions.
- Enclose file-local classes in anonymous namespace.
- Eliminate `llvm::` qualifier when file has `using namespace llvm`.
- Eliminate namespace surrounding entire code in
SPIRVConvergenceRegionAnalysis.cpp file.
- Eliminate call to `initializeSPIRVStructurizerPass` from the pass
constructor (https://github.com/llvm/llvm-project/issues/111767)
Commit: 65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
https://github.com/llvm/llvm-project/commit/65ad6267e82f6d8532e4b9de4716bb8fdbdd9ac0
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/test/src/math/atan2f128_test.cpp
Log Message:
-----------
[libc] Fix atan2f128 test for aarch64. (#133924)
Commit: 58551faaf130de52f574b15d053eca1afc83b82b
https://github.com/llvm/llvm-project/commit/58551faaf130de52f574b15d053eca1afc83b82b
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/test/Transforms/simplify-fir-operations.fir
Log Message:
-----------
[flang] Inline fir.is_contiguous_box in some cases. (#133812)
Added inlining for `rank == 1` and `innermost` cases.
Commit: 66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
https://github.com/llvm/llvm-project/commit/66b540d861ecc5fef0fc398c9c3590c3a7dc6ff9
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A clang/test/C/C11/n1518.c
M clang/www/c_status.html
Log Message:
-----------
[C11] Claim conformance to WG14 N1518 (#133749)
This paper introduced ranges of valid start and continuation characters
for identifiers. C23 made further changes to these sets.
Commit: a03fce4e200d47b9133897b8f0d4688b30b42689
https://github.com/llvm/llvm-project/commit/a03fce4e200d47b9133897b8f0d4688b30b42689
Author: Doeke Wartena <clankill3r at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/README.md
Log Message:
-----------
Update README.md - fixed invalid json in example (#133890)
A period (`,`) is required or you get an error.
Commit: 179062b2dc9405a81cf44dbe676817806a4e7c6a
https://github.com/llvm/llvm-project/commit/179062b2dc9405a81cf44dbe676817806a4e7c6a
Author: Jeremy Kun <jkun at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add alwayslink=True to mlir-runner utils (#133787)
MacOS platforms using mlir-runner in lit tests consistently hit the
following error:
```
# .---command stderr------------
# | JIT session error: Symbols not found: [ __mlir_ciface_printMemrefI32 ]
# | Error: Failed to materialize symbols: { (main, { __mlir_printMemrefI32, ... }) }
# `-----------------------------
```
https://github.com/google/heir/issues/1521#issuecomment-2751303404
confirms the issue is fixed by using `alwayslink` on these two targets,
and I confirmed on a separate Apple M1 (OSX version Sequoia 15.3.2.).
I'm not an expert on the mlir runner internals, but given the
mlir-runner is purely for testing, and alwayslink at worst adds some
overhead by not removing symbols, it seems low risk.
Commit: e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
https://github.com/llvm/llvm-project/commit/e8711436b3419cc9e0e8a70c6eb41dbb2a1bf132
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
Log Message:
-----------
[SCEV] Remove EqCacheSCEV (#133186)
This was added in https://reviews.llvm.org/D26389 to help with extremely
deep SCEV expressions.
However, this is wrong since we may cache sub-SCEVs to be equivalent
that CompareValueComplexity returned 0 due to hitting the max comparison
depth.
This also improves compile time in some compiles:
https://llvm-compile-time-tracker.com/compare.php?from=34fa037c4fd7f38faada5beedc63ad234e904247&to=e241ecf999f4dd42d4b951d4a5d4f8eabeafcff0&stat=instructions:u
Similar to #100721.
Fixes #130688.
Commit: 558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
https://github.com/llvm/llvm-project/commit/558ce50ebc31bbcd5ec5bfad0c0126adfde8bbb0
Author: Jonathan Thackray <jonathan.thackray at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x1.ll
Log Message:
-----------
[Clang][LLVM] Implement multi-single vectors MOP4{A/S} (#129226)
Implement all multi-single {BF/F/S/U/SU/US}MOP4{A/S} instructions in clang and
llvm following the ACLE in https://github.com/ARM-software/acle/pull/381/files
Commit: 105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
https://github.com/llvm/llvm-project/commit/105c8c38dcb7fd6077c92c5e0f838c9b7ad9971e
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.h
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
Log Message:
-----------
[MLIR][NFC] Retire let constructor for EmitC (#133732)
`let constructor` is legacy (do not use in tree!) since the tableGen
backend emits most of the glue logic to build a pass.
Commit: 7e25b240731413d2cfca2b78ab1d0ed33d851622
https://github.com/llvm/llvm-project/commit/7e25b240731413d2cfca2b78ab1d0ed33d851622
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
A llvm/test/Transforms/IRNormalizer/pass-parameters.ll
M llvm/test/Transforms/IRNormalizer/reordering.ll
Log Message:
-----------
IRNormalizer: Replace cl::opts with pass parameters (#133874)
Not sure why the "fold-all" option naming didn't match the
variable "FoldPreOutputs", but I've preserved the difference.
More annoyingly, the pass name "normalize" does not match the pass
name IRNormalizer and should probably be fixed one way or the other.
Also the existing test coverage for the flags is lacking. I've added
a test that shows they parse, but we should have tests that they
do something.
Commit: 1f194ff34e4e861a18f7108c7874bccbd6459f30
https://github.com/llvm/llvm-project/commit/1f194ff34e4e861a18f7108c7874bccbd6459f30
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir-c/AffineExpr.h
M mlir/lib/Bindings/Python/IRAffine.cpp
M mlir/lib/CAPI/IR/AffineExpr.cpp
M mlir/test/python/ir/affine_expr.py
Log Message:
-----------
[mlir] Expose `simplifyAffineExpr` through python api (#133926)
Commit: 00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
https://github.com/llvm/llvm-project/commit/00e6d4fe064bb48e16c1eda018e6ed5e9f99cba9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
R libclc/generic/lib/clc_unary.inc
R libclc/generic/lib/math/binary_impl.inc
R libclc/generic/lib/math/clc_sw_binary.inc
Log Message:
-----------
[libclc][NFC] Delete three unused .inc files
Commit: 4b19db6db965d95d7259e224f518c5404a7989ba
https://github.com/llvm/llvm-project/commit/4b19db6db965d95d7259e224f518c5404a7989ba
Author: Petr Hosek <phosek at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
A llvm/test/CodeGen/ARM/plt-relative-reloc.ll
R llvm/test/CodeGen/ARM/relative-reloc.ll
A llvm/test/CodeGen/RISCV/plt-relative-reloc.ll
R llvm/test/CodeGen/RISCV/relative-reloc.ll
R llvm/test/CodeGen/X86/relative-reloc-32.ll
R llvm/test/CodeGen/X86/relative-reloc-64.ll
A llvm/test/CodeGen/X86/x86-64-plt-relative-reloc.ll
A llvm/test/CodeGen/X86/x86-plt-relative-reloc.ll
Log Message:
-----------
Revert "AsmPrinter: Remove ELF's special lowerRelativeReference for unnamed_addr function" (#133935)
Reverts llvm/llvm-project#132684
Commit: dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
https://github.com/llvm/llvm-project/commit/dd1d41f833c9b28d8a940ba5a0b85b0d47e44e43
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/llvm.cos.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.rint.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.sin.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.trunc.f16.ll
M llvm/test/CodeGen/AMDGPU/load-constant-i16.ll
M llvm/test/CodeGen/AMDGPU/select.f16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] fix moveToVALU with proper subreg access in true16 (#132089)
There are V2S copies between vpgr16 and spgr32 in true16 mode. This is
caused by vgpr16 and sgpr32 both selectable by 16bit src in ISel.
When a V2S copy and its useMI are lowered to VALU, this patch check
1. If the generated new VALU is used by a true16 inst. Add subreg access
if necessary.
2. Legalize the V2S copy by replacing it to subreg_to_reg
an example MIR looks like:
```
%2:sgpr_32 = COPY %1:vgpr_16
%3:sgpr_32 = S_OR_B32 %2:sgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:sgpr_32, ...
```
currently lowered to
```
%2:vgpr_32 = COPY %1:vgpr_16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3:vgpr_32, ...
```
after this patch
```
%2:vgpr_32 = SUBREG_TO_REG 0, %1:vgpr_16, lo16
%3:vgpr_32 = V_OR_B32 %2:vgpr_32, ...
%4:vgpr_16 = V_ADD_F16_t16 %3.lo16:vgpr_32, ...
```
Commit: ec290a43f68b469197abce65949fde84ecdc9146
https://github.com/llvm/llvm-project/commit/ec290a43f68b469197abce65949fde84ecdc9146
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-externally-initialized.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Reduce externally_initialized (#133859)
Not sure this is the right place to put it. This is a property
of GlobalVariable, not GlobalValue. But the ReduceGlobalVars
reduction tries to delete the value entirely.
Commit: 347c5a7af5adfe81b79dd77f7f88c626b09e8534
https://github.com/llvm/llvm-project/commit/347c5a7af5adfe81b79dd77f7f88c626b09e8534
Author: jimingham <jingham at apple.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/source/Core/Module.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Add a new affordance that the Python module in a dSYM (#133290)
So the dSYM can be told what target it has been loaded into.
When lldb is loading modules, while creating a target, it will run
"command script import" on any Python modules in Resources/Python in the
dSYM. However, this happens WHILE the target is being created, so it is
not yet in the target list. That means that these scripts can't act on
the target that they a part of when they get loaded.
This patch adds a new python API that lldb will call:
__lldb_module_added_to_target
if it is defined in the module, passing in the Target the module was
being added to, so that code in these dSYM's don't have to guess.
Commit: 5c4302442bb07de01c533f6ec766cf14dfdf8b02
https://github.com/llvm/llvm-project/commit/5c4302442bb07de01c533f6ec766cf14dfdf8b02
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/lib/IR/Globals.cpp
A llvm/test/tools/llvm-reduce/reduce-code-model.ll
M llvm/tools/llvm-reduce/deltas/ReduceGlobalValues.cpp
Log Message:
-----------
llvm-reduce: Reduce global variable code model (#133865)
The current API doesn't have a way to unset it. The query returns
an optional, but the set doesn't. Alternatively I could switch the
set to also use optional.
Commit: 69c5049826711022f40d7ce699ffe1d81c3e6f08
https://github.com/llvm/llvm-project/commit/69c5049826711022f40d7ce699ffe1d81c3e6f08
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
Log Message:
-----------
[NFC][mlir] Update generate script for conv_3d_ncdhw_fcdhw (#133927)
https://github.com/llvm/llvm-project/pull/129547 changed the IR directly
without updating the auto generate script.
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: 25622aa745671d8d1885250f559c6dac0a8c2aeb
https://github.com/llvm/llvm-project/commit/25622aa745671d8d1885250f559c6dac0a8c2aeb
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
M mlir/test/Dialect/AMDGPU/invalid.mlir
Log Message:
-----------
[mlir][AMDGPU] Add gfx950 MFMAs to the amdgpu.mfma op (#133553)
This commit extends the lowering of amdgpu.mfma to handle the new
double-rate MFMAs in gfx950 and adds tests for these operations.
It also adds support for MFMAs on small floats (f6 and f4), which are
implented using the "scaled" MFMA intrinsic with a scale value of 0 in
order to have an unscaled MFMA.
This commit does not add a `amdgpu.scaled_mfma` operation, as that is
future work.
---------
Co-authored-by: Jakub Kuderski <kubakuderski at gmail.com>
Commit: f60eed934493c2d0305d4d597d39813a12db42ef
https://github.com/llvm/llvm-project/commit/f60eed934493c2d0305d4d597d39813a12db42ef
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-target-features-attr.ll
M llvm/tools/llvm-reduce/CMakeLists.txt
M llvm/tools/llvm-reduce/DeltaManager.cpp
M llvm/tools/llvm-reduce/DeltaPasses.def
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.cpp
A llvm/tools/llvm-reduce/deltas/ReduceTargetFeaturesAttr.h
M llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
Log Message:
-----------
llvm-reduce: Add target-features-attr reduction (#133887)
Try to reduce individual subtarget features in the "target-features"
attribute. This attempts a textual removal of the fields in the string,
not a semantic removal. Typically there's a lot of redundant feature spam
in the feature list implied by the target-cpu (which I really wish clang
would stop emitting). If we could parse these out, we could easily drop
the fields without testing anything.
Commit: 75242a8a1d38815b5533c3951d5beceb8033d9fa
https://github.com/llvm/llvm-project/commit/75242a8a1d38815b5533c3951d5beceb8033d9fa
Author: Paul Bowen-Huggett <paulhuggett at mac.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
Log Message:
-----------
[RISCV] Fix the c_slli disassembler test (NFC) (#133921)
This change fixes the exhaustive text for the c.slli instruction so that
each hex pattern now appears only once. The problem was spotted
[here](https://github.com/llvm/llvm-project/pull/133713#discussion_r2021577609)
by @topperc (for which, thank you).
Commit: 01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
https://github.com/llvm/llvm-project/commit/01889de8e9b16eeed7ed9f6cdc18636ad20a01ac
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/stop.cpp
M flang/include/flang/Runtime/stop.h
Log Message:
-----------
[flang][device] Enable Stop functions on device build (#133803)
Update `StopStatement` and `StopStatementText` to be build for the
device.
Commit: 7003f7d23aeca97b0301e605ed8b02436b38f789
https://github.com/llvm/llvm-project/commit/7003f7d23aeca97b0301e605ed8b02436b38f789
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Replace llvm-link with API calls (#133797)
This PR has the following changes:
Replace llvm-link with calls to linkInModule to link device files Add
-print-linked-module option to dump linked module for testing Added a
test to verify that linking is working as expected. We will eventually
move to using thin LTO for linking device inputs.
Thanks
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 602d05fbe89a5663a07dc51862409778bfe6fec6
https://github.com/llvm/llvm-project/commit/602d05fbe89a5663a07dc51862409778bfe6fec6
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
llvm-reduce: Make myself maintainer (#133919)
Commit: f14ff59da7f98a405999bcc8481b20446de0d0cd
https://github.com/llvm/llvm-project/commit/f14ff59da7f98a405999bcc8481b20446de0d0cd
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
M libclc/clspv/lib/SOURCES
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/spirv/lib/SOURCES
Log Message:
-----------
[libclc] Move exp, exp2 and expm1 to the CLC library (#133932)
These all share the use of a common helper function so are handled in
one go. These builtins are also now vectorized.
Commit: 44b87e42066064d74f4a9c69ea02aa9558ca6a1a
https://github.com/llvm/llvm-project/commit/44b87e42066064d74f4a9c69ea02aa9558ca6a1a
Author: lntue <lntue at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/test/src/math/exhaustive/hypotf_test.cpp
Log Message:
-----------
[libc] Reduce the range of hypotf exhaustive test to be run automatically. (#133944)
The current setup of `hypotf` exhaustive tests might take days to
finish.
Commit: 9586117c3ab6f16883a646847cfa65b065ad4ae3
https://github.com/llvm/llvm-project/commit/9586117c3ab6f16883a646847cfa65b065ad4ae3
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix a warning
This patch fixes:
clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp:127:13: error:
function 'getMainExecutable' is not needed and will not be emitted
[-Werror,-Wunneeded-internal-declaration]
Commit: d8bf0398e5d5a9b9f7f186c0535a069055a03150
https://github.com/llvm/llvm-project/commit/d8bf0398e5d5a9b9f7f186c0535a069055a03150
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
Log Message:
-----------
[AArch64] Use tablegen HasOneUse. NFC
Commit: 7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
https://github.com/llvm/llvm-project/commit/7d91c4f3eb689c0dc5ae95acbf321fec7e96cca7
Author: David Green <david.green at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
Log Message:
-----------
[ARM] Use tablegen HasOneUse. NFC
Commit: a30caa6a73286eabe22983ce5a7cca27a25d0790
https://github.com/llvm/llvm-project/commit/a30caa6a73286eabe22983ce5a7cca27a25d0790
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
A llvm/test/CodeGen/WebAssembly/libcalls64.ll
Log Message:
-----------
[WebAssembly] Add missing tests from #133289 (#133938)
Commit: afa32d3e0e1a2dddfc76f2e9b80c4a6cc5a5387f
https://github.com/llvm/llvm-project/commit/afa32d3e0e1a2dddfc76f2e9b80c4a6cc5a5387f
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/stop.cpp
Log Message:
-----------
[flang][cuda] Fix char argument
This would fail with `error: argument of type "char" is incompatible with parameter of type "const char *"`
Commit: bd7585bea3906aa2d288f7238382e99b8d5506eb
https://github.com/llvm/llvm-project/commit/bd7585bea3906aa2d288f7238382e99b8d5506eb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/test/MC/RISCV/rv32e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32e-zcmp-invalid.s
M llvm/test/MC/RISCV/rv64e-xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64e-zcmp-invalid.s
Log Message:
-----------
[RISCV] Improve error for using x18-x27 in a register list with RVE. (#133936)
matchRegisterNameHelper returns MCRegister() for RVE so the first RVE
check was dead.
For the second check, I've moved the RVE check from the comma parsing to
the identifier parsing so the diagnostic points at the register. Note
we're using matchRegisterName instead of matchRegisterNameHelper to
avoid allowing ABI names so we don't get the RVE check that lives inside
matchRegisterNameHelper.
The errors for RVE in general should probably say something other than
"invalid register", but that's a problem throughout the assembler.
Commit: 4d1c82742302e205071a89ff42c0e90e548e861c
https://github.com/llvm/llvm-project/commit/4d1c82742302e205071a89ff42c0e90e548e861c
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/MC/WasmObjectWriter.cpp
A llvm/test/MC/WebAssembly/lto-set-conditional.s
Log Message:
-----------
[WebAssembly] Support parsing .lto_set_conditional (#126546)
In the split-LTO-unit mode in ThinLTO, a compilation module is split
into two and global variables that meet a specific criteria is moved to
the split module.
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L315-L366
And if there is an originally local-linkage global value defined in the
original module and referenced in the split module or the vice versa,
that value is _promoted_ by attaching a module ID to their names in
order to prevent name clashes because now they can be referenced from
other modules.
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L46-L100
And when that promoted global value is a function, a
`.lto_set_conditional` entry is written to the original module to avoid
breaking references from inline assembly:
https://github.com/llvm/llvm-project/blob/d21fc58aeeaa7f0369a24dbe70a0360e0edbf76f/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp#L84-L91
The syntax of this is, if the original function name is `symbolA` and
the module ID is `123`,
```ll
module asm ".lto_set_conditional symbolA,symbolA.123"
```
These symbols are parsed here:
https://github.com/llvm/llvm-project/blob/648981f913431749c4656268ed670677a88511f6/llvm/lib/MC/MCParser/AsmParser.cpp#L6467
The first function symbol in this `.lto_set_conditional` do not exist as
a function in the bitcode anymore because it was renamed to the second.
So they are not assigned as function symbols but they are not really
data either, so the object writer crashes here:
https://github.com/llvm/llvm-project/blob/5b9e6c7993359c16b4d645c851bb7fe2fd7b78c7/llvm/lib/MC/WasmObjectWriter.cpp#L1820
This PR makes the object writer just skip those symbols.
---
This problem was discovered when I was testing with
`-fwhole-program-vtables`. The reason we didn't have this problem before
with ThinLTO was because `-fsplit-lto-unit`, which splits LTO units when
possible, defaults to false, but it defaults to true when
`-fwhole-program-vtables` is used.
Commit: 79487757b7f4b33a0940753fb02e39d0388e733a
https://github.com/llvm/llvm-project/commit/79487757b7f4b33a0940753fb02e39d0388e733a
Author: Virginia Cangelosi <virginia.cangelosi at arm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/lib/Target/AArch64/SMEInstrFormats.td
A llvm/test/CodeGen/AArch64/sme2-intrinsics-mop4a_2x2.ll
Log Message:
-----------
[Clang][LLVM] Implement multi-multi vectors MOP4{A/S} (#129230)
Implement all multi-multi {BF/F/S/U/SU/US}MOP4{A/S} instructions in
clang and llvm following the acle in
https://github.com/ARM-software/acle/pull/381/files
Commit: 2b064108ed55af510379edc81622983385c7977f
https://github.com/llvm/llvm-project/commit/2b064108ed55af510379edc81622983385c7977f
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
Fix a build error (#133957)
This fixes error reported in post-commit testing of
https://github.com/llvm/llvm-project/pull/133797
LOG: https://lab.llvm.org/buildbot/#/builders/140/builds/20266
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: 0e3049c562ccdea288c3b1f3b3d1ce5992d284b0
https://github.com/llvm/llvm-project/commit/0e3049c562ccdea288c3b1f3b3d1ce5992d284b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AArch64/reused-scalar-repeated-in-node.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/cast-operand-extracted.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reorder.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
Log Message:
-----------
[SLP]Support revectorization of the previously vectorized scalars
If the scalar instructions is marked for the vectorization in the tree,
it cannot be vectorized as part of the another node in the same tree, in
general. It may prevent some potentially profitable vectorization
opportunities, since some nodes end up being buildvector/gather nodes,
which add to the total cost.
Patch allows revectorization of the previously vectorized scalars.
Reviewers: hiraditya, RKSimon
Reviewed By: RKSimon, hiraditya
Pull Request: https://github.com/llvm/llvm-project/pull/133091
Commit: 1407f5bee9aa8e2a8a4fcab63ab0a3030a8b0dcf
https://github.com/llvm/llvm-project/commit/1407f5bee9aa8e2a8a4fcab63ab0a3030a8b0dcf
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir] Canonicalize extract_slice(unpack) (#133777)
Canonicalizes a chain of `linalg.unpack -> tensor.extract_slice` into a
`linalg.unpack` with reduced dest sizes. This will only happen when the
unpack op's only user is a non rank-reducing slice with zero offset and
unit strides.
---------
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Signed-off-by: Max Dawkins <maxdawkins19 at gmail.com>
Co-authored-by: Max Dawkins <maxdawkins19 at gmail.com>
Commit: ac0649a75a60743faa16b77396db617587d45fea
https://github.com/llvm/llvm-project/commit/ac0649a75a60743faa16b77396db617587d45fea
Author: Mark Danial <mark.danial at ibm.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M openmp/runtime/src/z_Linux_util.cpp
Log Message:
-----------
[OpenMP] [AIX] Add missing } in openmp/runtime/src/z_Linux_util.cpp (#133973)
Changes from https://github.com/llvm/llvm-project/pull/133034 removed a
`}` presumably accidentally that are causing failures in the AIX flang
bot.
Commit: 23fb048ce35f672d8db3f466a2522354bbce66e5
https://github.com/llvm/llvm-project/commit/23fb048ce35f672d8db3f466a2522354bbce66e5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)
This patch fixes the monolithic linux build in Ubuntu 24.04. Newer
versions of debian/ubuntu pass a warning when installing packages at the
system level using pip as it interferes with system package manager
installed python packages. We do not use any system package manager
installed python packages, so we just ignore the warning (that is an
error without passing the flag) by passing the --break-system-packages
flag.
Commit: 4a73c99329ed36712a6faa8e37aa895cfeac23ce
https://github.com/llvm/llvm-project/commit/4a73c99329ed36712a6faa8e37aa895cfeac23ce
Author: Qiongsi Wu <qiongsiwu at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
Log Message:
-----------
[clang][Modules] Fix the Size of `RecordDecl`'s `BitCodeAbbrevOp` (#133500)
https://github.com/llvm/llvm-project/pull/102040/files#diff-125f472e690aa3d973bc42aa3c5d580226c5c47661551aca2889f960681aa64dR2477
added 1 bit to `RecordDecl`'s serialization format, but did not
increment its abbreviation size.
This can lead to rare cases where a record may overflow if the
`RecordDecl`'s `getArgPassingRestrictions()` returns something bigger
than 1 (see
[here](https://github.com/llvm/llvm-project/blob/b3f01a6aa45b00240cec1c64286b85d7ba87e2af/clang/lib/Serialization/ASTWriterDecl.cpp#L688)).
rdar://143763558
Commit: 782e0cef762c1346396eb7dd75462f842be350e3
https://github.com/llvm/llvm-project/commit/782e0cef762c1346396eb7dd75462f842be350e3
Author: David Peixotto <peix at meta.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/source/Target/ProcessTrace.cpp
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
Log Message:
-----------
[lldb] Fix intel trace plugin tests (#133826)
The tests for the
[intel-pt](https://github.com/llvm/llvm-project/blob/348374028970c956f2e49ab7553b495d7408ccd9/lldb/docs/use/intel_pt.rst)
trace plugin were failing for multiple reasons.
On machines where tracing is supported many of the tests were crashing
because of a nullptr dereference. It looks like the `core_file`
parameter in `ProcessTrace::CreateInstance` was once ignored, but was
changed to always being dereferenced. This caused the tests to fail even
when tracing was supported.
On machines where tracing is not supported we would still run tests that
attempt to take a trace. These would obviously fail because the required
hardware is not present. Note that some of the tests simply read
serialized json as trace files which does not require any special
hardware.
This PR fixes these two issues by guarding the pointer dereference and
then skipping unsupported tests on machines. With these changes the
trace tests pass on both types of machines.
We also add a new unit test to validate that a process can be created
with a nullptr core_file through the generic process trace plugin path.
Commit: ce296f1ebac896d03bdb783d9c5d3c93ab76f1ac
https://github.com/llvm/llvm-project/commit/ce296f1ebac896d03bdb783d9c5d3c93ab76f1ac
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
Log Message:
-----------
[CI] Exclude gn changes from running premerge (#133623)
These changes are mostly pushed by the gnsyncbot directly to main and
thus don't go through a PR, but we still test on main to see if main is
broken. Given these touch llvm/, they end up burning a decent amount of
testing time for no real benefit, so I think it makes sense to exclude
them from premerge testing explicitly.
Commit: 9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2
https://github.com/llvm/llvm-project/commit/9f3d8e8fb8d389176e12c06de59cce3fd1ab8db2
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/Transforms/loop.cir
Log Message:
-----------
[CIR] Upstream support for while and do..while loops (#133157)
This adds basic support for while and do..while loops. Support for break
and continue are left for a subsequent patch.
Commit: 3c7a0e6c826b8bcfa4ec6154fd4247658ca3a03f
https://github.com/llvm/llvm-project/commit/3c7a0e6c826b8bcfa4ec6154fd4247658ca3a03f
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/atomics.ll
Log Message:
-----------
[NVPTX] Cleanup and refactor atomic lowering (#133781)
Cleanup lowering of atomic instructions and intrninsics. The TableGen
changes are primarily a refactor, though sub variants are now lowered
via operation legalization, potentially allowing for more DAG
optimization.
Commit: dc17429ae6961a6783371dcf6749eea657b5446a
https://github.com/llvm/llvm-project/commit/dc17429ae6961a6783371dcf6749eea657b5446a
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Sema/DeclSpec.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/tools/libclang/CIndex.cpp
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
Log Message:
-----------
[clang] improved preservation of template keyword (#133610)
Commit: adba14acea99cc6a17d837763a3248c9d4a2fadf
https://github.com/llvm/llvm-project/commit/adba14acea99cc6a17d837763a3248c9d4a2fadf
Author: Matthias Braun <matze at braunis.de>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
Stop using __attribute__((retain)) in GCC builds (#133793)
GCC sometimes produces warnings about `__attribute__((retain))` despite
`__has_attribute(retain)` being 1. See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99587
The amount of users who benefit from the attribute is probably very
small compared to the amount of `-Werror` enabled builds or the desire
to keep `-Wattributes` enabled in the LLVM build. So for now drop usage
of the `retain` attribute in GCC builds.
Commit: 537b6541e8067d7ef7aa38791989fca6303b7fdf
https://github.com/llvm/llvm-project/commit/537b6541e8067d7ef7aa38791989fca6303b7fdf
Author: Amy Huang <akhuang at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix libc BUILD.bazel after commit 8741412 (#133980)
Recent changes add dependencies to some atan functions. Edit bazel build
file to look more like the CMake file.
See
https://github.com/llvm/llvm-project/commit/8741412bdfc0a60719f116add7d828694ef48c02
Commit: ec59313c0416018dc008c586478b825fe42bf323
https://github.com/llvm/llvm-project/commit/ec59313c0416018dc008c586478b825fe42bf323
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
Log Message:
-----------
[EquivalenceClasses] Use range-based for loops (NFC).
Commit: bb179c483aa2f709a4e53a8c8860f90b8e2e6f47
https://github.com/llvm/llvm-project/commit/bb179c483aa2f709a4e53a8c8860f90b8e2e6f47
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/stop.cpp
M flang/include/flang/Runtime/stop.h
Log Message:
-----------
[flang][rt] Allow ReportFatalUserError to be build on device (#133979)
Commit: 16603d838c0dfa6881f9b8118c5a0b5ac2789752
https://github.com/llvm/llvm-project/commit/16603d838c0dfa6881f9b8118c5a0b5ac2789752
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
Log Message:
-----------
[HLSL] Add SPIR-V target type for RWStructuredBuffers (#133468)
This PR adds the target type for main storage for HLSL raw buffer types.
It does not handle the counter variables that are associated with those
buffers.
This is implementing part of
https://github.com/llvm/wg-hlsl/blob/main/proposals/0018-spirv-resource-representation.md.
We do not handle other HLSL raw buffer types.
Commit: 96d60c00e5ed5bddedad0eab83a089957a9cf388
https://github.com/llvm/llvm-project/commit/96d60c00e5ed5bddedad0eab83a089957a9cf388
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/function-decorations.mlir
Log Message:
-----------
[mlir][spirv] Verify matching of entry block arguments and function signature (#133167)
Fixes: #132894
Commit: 5ffd9bdb50b5753bbf668e4eab3647dfb46cd0d6
https://github.com/llvm/llvm-project/commit/5ffd9bdb50b5753bbf668e4eab3647dfb46cd0d6
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
[cmake] Refactor clang unittest cmake (#133545)
Pass all the dependencies into add_clang_unittest. This is consistent
with how it is done for LLDB. I borrowed the same named argument list
structure from add_lldb_unittest. This is a necessary step towards
consolidating unit tests into fewer binaries, but seems like a good
refactoring in its own right.
Commit: b6edd25f1787fe7deb4491462227719fb7bda5b1
https://github.com/llvm/llvm-project/commit/b6edd25f1787fe7deb4491462227719fb7bda5b1
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
Log Message:
-----------
[flang][intrinsics] NFC: make comment consistent (#133972)
Just makes this named argument comment consistent with all the others in
the file.
Commit: 86e66d2820ff50d56544d7350761adbfe27aa164
https://github.com/llvm/llvm-project/commit/86e66d2820ff50d56544d7350761adbfe27aa164
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn] port 7003f7d23aeca
Commit: e55164ae1098bbf8ceb87b83a4b282b08bb7bef9
https://github.com/llvm/llvm-project/commit/e55164ae1098bbf8ceb87b83a4b282b08bb7bef9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
Log Message:
-----------
[RISCV] Use AsmToken::getEndLoc(). NFC
Commit: 676755561d5a2f074411ad289fed55c977571a32
https://github.com/llvm/llvm-project/commit/676755561d5a2f074411ad289fed55c977571a32
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/CMakeLists.txt
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
Reland "[HLSL][RootSignature] Implement parsing of a DescriptorTable with empty clauses" (#133958)
This pr relands https://github.com/llvm/llvm-project/pull/133302.
It resolves two issues:
- Linking error during build,
[here](https://github.com/llvm/llvm-project/pull/133302#issuecomment-2767259848).
There was a missing dependency for `clangLex` for the
`ParseHLSLRootSignatureTest.cpp` unit testing. This library was added to
the dependencies to resolve the error. It wasn't caught previously as
the library was transitively linked in most build environments
- Warning of unused declaration,
[here](https://github.com/llvm/llvm-project/pull/133302#issuecomment-2767091368).
There was a usability line in `LexHLSLRootSignature.h` of the form
`using TokenKind = enum RootSignatureToken::Kind` which causes this
error. The declaration is removed from the header file to be used
locally in the `.cpp` files that use it.
Notably, the original pr would also exposed `clang::hlsl::TokenKind` to
everywhere it was included, which had a name clash with
`tok::TokenKind`. This is another motivation to change to the proposed
resolution.
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: e0c8fc793c2a6142ce86575290fe7933812b6f36
https://github.com/llvm/llvm-project/commit/e0c8fc793c2a6142ce86575290fe7933812b6f36
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
Log Message:
-----------
Reapply "[sanitizer] intercept getservent_r, getservbyname_r, getservbyport_r" (#133358) (#133528)
This reverts commit 52d7f14a895eb8669d72cd02754e5586de3e61d8.
Commit: 69f59d59cb02c06f1fac93ea5b19c2df9a684109
https://github.com/llvm/llvm-project/commit/69f59d59cb02c06f1fac93ea5b19c2df9a684109
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/Transforms/DialectConversion.h
Log Message:
-----------
[mlir][IR] Delete `match` and `rewrite` functions (#130259)
The `match` and `rewrite` functions have been deprecated in #130031.
This commit deletes them entirely.
Note for LLVM integration: Update your patterns to use `matchAndRewrite`
instead of separate `match` / `rewrite`.
Commit: 7b2b3faeb1d82148872720e254cc34b3e6d48b31
https://github.com/llvm/llvm-project/commit/7b2b3faeb1d82148872720e254cc34b3e6d48b31
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Parse/BUILD.gn
M llvm/utils/gn/secondary/clang/unittests/BUILD.gn
A llvm/utils/gn/secondary/clang/unittests/Parse/BUILD.gn
Log Message:
-----------
[gn build] Port 676755561d5a (ParseTests)
Commit: c8764f0c655b2edb139896ecbb9f5bfd932fbe4b
https://github.com/llvm/llvm-project/commit/c8764f0c655b2edb139896ecbb9f5bfd932fbe4b
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
Log Message:
-----------
Fix handling of auto_continue for stop hooks (#129622)
Follow-up fix discussed here:
https://github.com/llvm/llvm-project/pull/129578#issuecomment-2695838042
---------
Co-authored-by: Jim Ingham <jingham at apple.com>
Commit: 749535ba2808e133682074f712ac6829335f8875
https://github.com/llvm/llvm-project/commit/749535ba2808e133682074f712ac6829335f8875
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Use tablegen HasOneUse. NFC (#133974)
Commit: 07504afc42bd295ca290c8c462869759b97e0fdc
https://github.com/llvm/llvm-project/commit/07504afc42bd295ca290c8c462869759b97e0fdc
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Stop depending on .cpp files in libcxx_shared_headers library. (#133999)
Fix two instances of libcxx_shared_headers depending on .cpp files (in
Bazel build):
* Don't depend on exit syscall in LIBC_ASSERT implementation. This
dependency is not used, since LIBC_ASSERT always uses system <assert.h>
in the overlay mode, which is the only mode supported by Bazel.
* Don't depend on libc_errno in str-to-float and str-to-integer
conversions. We only need the ERANGE value, which can be obtained from
the proxy header instead.
Commit: d53555499f85b7aedb765c66d6f3850c7bc6126d
https://github.com/llvm/llvm-project/commit/d53555499f85b7aedb765c66d6f3850c7bc6126d
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
Log Message:
-----------
[lldb] Prefer PointerType::get with LLVMContext over Type (NFC) (#133869)
Part of #123569
Commit: d72be157823d41e7eaf457cc37ea99c07431a25c
https://github.com/llvm/llvm-project/commit/d72be157823d41e7eaf457cc37ea99c07431a25c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
Revert "[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)"
This reverts commit 23fb048ce35f672d8db3f466a2522354bbce66e5.
This broke the new premerge system as it appears the pip installations within
the CI image do not support this option. Buildkite was unaffected.
Commit: 1a4dc189ad26ced9d9a74e40fa50b7d81428edba
https://github.com/llvm/llvm-project/commit/1a4dc189ad26ced9d9a74e40fa50b7d81428edba
Author: Petr Sumbera <sumbera at volny.cz>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M openmp/runtime/CMakeLists.txt
M openmp/runtime/cmake/LibompGetArchitecture.cmake
M openmp/runtime/cmake/config-ix.cmake
M openmp/runtime/src/kmp_gsupport.cpp
M openmp/runtime/src/kmp_os.h
M openmp/runtime/src/kmp_platform.h
M openmp/runtime/src/kmp_runtime.cpp
Log Message:
-----------
[OpenMP] allow openmp build for sparc (#133239)
Commit: 2f25345670081f1ca460ea3f42a0585ef3f1e877
https://github.com/llvm/llvm-project/commit/2f25345670081f1ca460ea3f42a0585ef3f1e877
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaCXXScopeSpec.cpp
Log Message:
-----------
[clang] fix missing initialization msan failure
fixes msan failure reported here: https://lab.llvm.org/buildbot/#/builders/94/builds/5821/steps/17/logs/stdio
This was a regression introduced here: https://github.com/llvm/llvm-project/pull/133610
Commit: ad1ca5f4a2bc09f99fd82e5444f5da37c2985e97
https://github.com/llvm/llvm-project/commit/ad1ca5f4a2bc09f99fd82e5444f5da37c2985e97
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaConcept.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/unittests/AST/SourceLocationTest.cpp
Log Message:
-----------
[clang] Concepts: support pack expansions for type constraints (#132626)
This reverts an earlier attempt
(adb0d8ddceb143749c519d14b8b31b481071da77 and
50e5411e4247421fd606f0a206682fcdf0303ae3) to support these expansions,
which was limited to type arguments and which subverted the purpose
of SubstTemplateTypeParmType.
This propagates the ArgumentPackSubstitutionIndex along with the
AssociatedConstraint, so that the pack expansion works, without
needing any new transforms or otherwise any changes to the template
instantiation process.
This keeps the tests from the reverted commits, and adds a few more
showing the new solution also works for NTTPs.
Fixes https://github.com/llvm/llvm-project/issues/131798
Commit: e25187bc3e1459b4eee6d0acd4e46b475a347f5d
https://github.com/llvm/llvm-project/commit/e25187bc3e1459b4eee6d0acd4e46b475a347f5d
Author: YunQiang Su <syq at debian.org>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
A llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
A llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/fminimumnum.ll
A llvm/test/Transforms/SLPVectorizer/X86/fminimumnum.ll
Log Message:
-----------
LLVM/Test: Add vectorizing testcases for fminimumnum and fminimumnum (#133843)
Vectorizing of fminimumnum and fminimumnum have not support yet. Let's
add the testcase for it now, and we will update the testcase when we
support it.
Commit: ae8dd63681bf93b04ff8a29e3cbbd152bd97c5c7
https://github.com/llvm/llvm-project/commit/ae8dd63681bf93b04ff8a29e3cbbd152bd97c5c7
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 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] Add interface and lowering for all_sync (#134001)
Commit: 46968310cb837e4b32859edef2107080b828b117
https://github.com/llvm/llvm-project/commit/46968310cb837e4b32859edef2107080b828b117
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
R llvm/test/CodeGen/LoongArch/fix-tle-le-sym-type.ll
A llvm/test/MC/LoongArch/Relocations/relocation-specifier.s
Log Message:
-----------
[LoongArch] Move fix-tle-le-sym-type test to test/MC. NFC (#133839)
Commit: 222297b02034914499458cfa4772c412ea35573d
https://github.com/llvm/llvm-project/commit/222297b02034914499458cfa4772c412ea35573d
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Transforms/Utils/RegionUtils.cpp
Log Message:
-----------
[mlir] Use Region::hasOneBlock (NFC) (#133879)
Commit: 55ac652745c6ec94477b1862018f477748faad15
https://github.com/llvm/llvm-project/commit/55ac652745c6ec94477b1862018f477748faad15
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/remove-operand-bundles-convergencectrl.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperandBundles.cpp
Log Message:
-----------
llvm-reduce: Do not delete convergencectrl in operand-bundles (#133858)
The IR verifier will fail if there are any convergent calls without
a convergencectrl bundle, if there are any convergencectrl bundles.
With the current verifier rules, we would need to drop all the instances
of convergencectrl in the function as a set, and strip all the
convergence
token intrinsics. As such, I think it would be more appropriate to have
a
separate convergence reduction pass.
Commit: 97dcbdef6089175c45e14fcbcf5c88b10233a79a
https://github.com/llvm/llvm-project/commit/97dcbdef6089175c45e14fcbcf5c88b10233a79a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Format/FormatTokenLexer.cpp
M clang/unittests/Format/FormatTestJS.cpp
M clang/unittests/Format/FormatTestJava.cpp
Log Message:
-----------
Revert "[clang-format] Handle C++ keywords in other languages better (#132941)"
This reverts commit ab7cee8a0ecf29fdb47c64c8d431a694d63390d2 which had
formatting errors.
Commit: 03a791f70364921ec3d3b7de8ddc6be8279c2fba
https://github.com/llvm/llvm-project/commit/03a791f70364921ec3d3b7de8ddc6be8279c2fba
Author: dpalermo <dan.palermo at amd.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
Revert "[cmake] Refactor clang unittest cmake" (#134022)
Reverts llvm/llvm-project#133545
This change is breaking several buildbots as well as developer's builds.
Reverting to allow people to make progress.
Commit: d40bab359c408b0084cd3c115213205050401a9e
https://github.com/llvm/llvm-project/commit/d40bab359c408b0084cd3c115213205050401a9e
Author: donald chen <chenxunyu1993 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/test/Analysis/DataFlow/test-liveness-analysis.mlir
Log Message:
-----------
[mlir][liveness] fix bugs in liveness analysis (#133416)
This patch fixes the following bugs:
- In SparseBackwardAnalysis, the setToExitState function should
propagate changes if it modifies the lattice. Previously, this issue was
masked because multi-block scenarios were not tested, and the traversal
order of backward data flow analysis starts from the end of the program.
- The method in liveness analysis for determining whether the
non-forwarded operand in branch/region branch operations is live is
incorrect, which may cause originally live variables to be marked as not
live.
Commit: 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9
https://github.com/llvm/llvm-project/commit/0cfabd37df9940346f3bf8a4d74c19e1f48a00e9
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
[RISCV] Add Xqci Insn Formats (#132986)
Commit: adbe9e20bf157fda89a8896d3832dc9e3cd4351c
https://github.com/llvm/llvm-project/commit/adbe9e20bf157fda89a8896d3832dc9e3cd4351c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/simplify-conditionals-already-constant-brcond.ll
M llvm/tools/llvm-reduce/deltas/ReduceUsingSimplifyCFG.cpp
Log Message:
-----------
llvm-reduce: Skip setting br conditions on already constant branches (#133841)
If we are trying to simplify branch conditions to true, ignore branches
already set to a constant true. If we are simplifying to constant false,
ignore the already constant false cases. This saves steps in this edge
case, and avoids the side effect of running simplifycfg on blocks we
did not intend to modify.
Commit: 23d894e0a3cf5cbc1ac754761da4f82608e14747
https://github.com/llvm/llvm-project/commit/23d894e0a3cf5cbc1ac754761da4f82608e14747
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceFunctions.cpp
Log Message:
-----------
llvm-reduce: Fix comment typo
Commit: 68fb7a5a1d203dde7badf67031bdd9eb650eef5d
https://github.com/llvm/llvm-project/commit/68fb7a5a1d203dde7badf67031bdd9eb650eef5d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
R llvm/test/MC/RISCV/insn_xqci-invalid.s
R llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
Revert "[RISCV] Add Xqci Insn Formats (#132986)"
This reverts commit 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9.
Multiple builtbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132986
Commit: e060acbd3b0fe362b81b7edd8741eee854aa3d99
https://github.com/llvm/llvm-project/commit/e060acbd3b0fe362b81b7edd8741eee854aa3d99
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[Sema] Use llvm::erase_if (NFC) (#134017)
Commit: cc10896fa2cc4096387f5cff09c23ff22deabd97
https://github.com/llvm/llvm-project/commit/cc10896fa2cc4096387f5cff09c23ff22deabd97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
Log Message:
-----------
[SandboxVectorizer] Use llvm::erase (NFC) (#134018)
Commit: 86c382514e68b9b58a6cad266d99ca0a1ba1c856
https://github.com/llvm/llvm-project/commit/86c382514e68b9b58a6cad266d99ca0a1ba1c856
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[Target] Construct SmallVector with ArrayRef (NFC) (#134019)
Commit: d760dbe6ebcf87c82aea7b1adb10d41e65c57830
https://github.com/llvm/llvm-project/commit/d760dbe6ebcf87c82aea7b1adb10d41e65c57830
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
Log Message:
-----------
[mlir] Remove extraneous calls to make_range (NFC) (#134020)
Commit: f1025c0e8752057dc19b922040055d81ce3b6f31
https://github.com/llvm/llvm-project/commit/f1025c0e8752057dc19b922040055d81ce3b6f31
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
Log Message:
-----------
[mlir] Construct SmallVector with ArrayRef (NFC) (#134023)
Commit: 28b300d546948baf4396c3467507dea8b9e34881
https://github.com/llvm/llvm-project/commit/28b300d546948baf4396c3467507dea8b9e34881
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
Log Message:
-----------
[lldb] Update ScriptInterpreterLua::LoadScriptingModule
Update the ScriptInterpreterLua::LoadScriptingModule signature after the
TargetSP argument was added in #133290.
Commit: e020fc18959a71c75257dd89ce3d6c86eb388043
https://github.com/llvm/llvm-project/commit/e020fc18959a71c75257dd89ce3d6c86eb388043
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-01 (Tue, 01 Apr 2025)
Changed paths:
M llvm/test/TableGen/HasNoUse.td
M llvm/test/TableGen/predicate-patfags.td
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
Log Message:
-----------
[TableGen] Directly use SDNode functions to implement HasOneUse and HasNoUse. NFC (#133976)
The SDValue functions we were calling wrap SDNode functions we can call
directly.
Commit: 9d06e0879b5600b19cd8cebd98e4f92b5e62400f
https://github.com/llvm/llvm-project/commit/9d06e0879b5600b19cd8cebd98e4f92b5e62400f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics (#132348)
This is a follow-up to #132129.
Currently, only `Parser` and `SemaBase` get a `DiagCompat()` helper; Iโm
planning to keep refactoring compatibility warnings and add more helpers
to other classes as needed. I also refactored a single parser compat
warning just to make sure everything works properly when diagnostics
across multiple components (i.e. Sema and Parser in this case) are
involved.
Commit: a2ca2f3f10002da61e9860d0ce11e0272482baba
https://github.com/llvm/llvm-project/commit/a2ca2f3f10002da61e9860d0ce11e0272482baba
Author: Michael Liao <michael.hliao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
Log Message:
-----------
[CIR] Fix cir-canonicalize pass upstreaming issues. NFC
- Fix typos in 'RemoveEmptyScope' pattern rewriting and combine 'match'
and 'rewrite' into 'matchAndRewrite' as they are deprecated.
Commit: 076397ff3217cf45fd08024dd7bcd2bc8fb229ab
https://github.com/llvm/llvm-project/commit/076397ff3217cf45fd08024dd7bcd2bc8fb229ab
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Revert "[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics" (#134036)
Reverts llvm/llvm-project#132348
Some tests are failing and I still need to figure out what is going on
here.
Commit: 964650b69e57d5e9e6102a4b400c8da16f6a1e27
https://github.com/llvm/llvm-project/commit/964650b69e57d5e9e6102a4b400c8da16f6a1e27
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/reduce-operands-target-ext-ty.ll
M llvm/tools/llvm-reduce/DeltaPasses.def
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
M llvm/tools/llvm-reduce/deltas/ReduceOperands.h
Log Message:
-----------
llvm-reduce: Add reduceOperandsToPoison reduction (#132862)
For now use it only for TargetExtTypes, which do not always support
zero initializers.
Commit: c47023dceb11fcb06c2405ea11eca10ea1139aa0
https://github.com/llvm/llvm-project/commit/c47023dceb11fcb06c2405ea11eca10ea1139aa0
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/CodeGenCXX/pragma-loop.cpp
Log Message:
-----------
[clang][CodeGen] Make pragma-loop test more rboust (NFC) (#133707)
pragma-loop.cpp contains tests for loop metadata generated by pragma
directives. These tests didn't work as (perhaps) expected. This is
because the regex `.*` consumes multiple elements in the metadata. For
example, there was a check directive like this.
```
// CHECK: ![[LOOP_9]] = distinct !{![[LOOP_9]], ![[WIDTH_8:.*]], ![[FIXED_VEC]], ...}
```
In the above case, `[[WIDTH_8]]` would have been expected to match a
node like `[[WIDTH_8]] = !{!"llvm.loop.vectorize.width", i32 8}`.
However, since there is no check directive to verify the contents of
`[[WIDTH_8]]`, the regex `.*` consumed more than one element. There were
other similar cases.
This patch fixes the problem by not using regex matcher in the metadata
content (except for follow-up metadata). Instead, it uses string
variables whose contents are validated elsewhere.
Related:
https://github.com/llvm/llvm-project/pull/131985#discussion_r2014369699
Commit: 528e408b94cd093e582de8352acebf85a41f5d56
https://github.com/llvm/llvm-project/commit/528e408b94cd093e582de8352acebf85a41f5d56
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization.ll
Log Message:
-----------
[LoopInterchange] Add an option to control the cost heuristics applied (#133664)
LoopInterchange has several heuristic functions to determine if
exchanging two loops is profitable or not. Whether or not to use each
heuristic and the order in which to use them were fixed, but #125830
allows them to be changed internally at will. This patch adds a new
option to control them via the compiler option.
The previous patch also added an option to prioritize the vectorization
heuristic. This patch also removes it to avoid conflicts between it and
the newly introduced one, e.g., both
`-loop-interchange-prioritize-vectorization=1` and
`-loop-interchange-profitabilities='cache,vectorization'` are specified.
Commit: 09e19cfacfe5478a69f19014156deb384e5163c7
https://github.com/llvm/llvm-project/commit/09e19cfacfe5478a69f19014156deb384e5163c7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/tools/llvm-reduce/reduce-operands-alloca.ll
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Do not reduce alloca array sizes to 0 (#132864)
Fixes #64340
Commit: 536fe74aaac437e147fc64dada6af8aab79a8b54
https://github.com/llvm/llvm-project/commit/536fe74aaac437e147fc64dada6af8aab79a8b54
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-zve64f.mir
M llvm/test/MC/RISCV/xqcibm-invalid.s
M llvm/test/MC/RISCV/xqcibm-valid.s
Log Message:
-----------
[RISCV] Modify register type of extd* Xqcibm instructions (#134027)
The v0.8 spec specifies that rs1 cannot be x31 (t6) since these
instructions operate on a pair of registers (rs1 and rs1 + 1) with no wrap
around.
The latest spec can be found here:
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.8.0
Commit: 730e8a4a59a5398f61c526eb00eb409e9306d19c
https://github.com/llvm/llvm-project/commit/730e8a4a59a5398f61c526eb00eb409e9306d19c
Author: nawrinsu <nawrin.sultana at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_affinity.cpp
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_settings.cpp
A openmp/runtime/test/api/omp_alloc_hwloc.c
Log Message:
-----------
[OpenMP] Add memory allocation using hwloc (#132843)
This patch adds support for memory allocation using hwloc. To enable
memory allocation using hwloc, env KMP_TOPOLOGY_METHOD=hwloc needs to be
used. If hwloc is not supported/available, allocation will fallback to
default path.
Commit: 5d364481e36871584affa54c58a803a936b9a5d6
https://github.com/llvm/llvm-project/commit/5d364481e36871584affa54c58a803a936b9a5d6
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/index.md
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Transforms/DoConcurrent/basic_host.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Upstream first part of `do concurrent` mapping (#126026)
This PR starts the effort to upstream AMD's internal implementation of
`do concurrent` to OpenMP mapping. This replaces #77285 since we
extended this WIP quite a bit on our fork over the past year.
An important part of this PR is a document that describes the current
status downstream, the upstreaming status, and next steps to make this
pass much more useful.
In addition to this document, this PR also contains the skeleton of the
pass (no useful transformations are done yet) and some testing for the
added command line options.
This looks like a huge PR but a lot of the added stuff is documentation.
It is also worth noting that the downstream pass has been validated on
https://github.com/BerkeleyLab/fiats. For the CPU mapping, this achived
performance speed-ups that match pure OpenMP, for GPU mapping we are
still working on extending our support for implicit memory mapping and
locality specifiers.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026 (this PR)
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 8a691cc6157b2c3bc91af767eb1154d7a715562a
https://github.com/llvm/llvm-project/commit/8a691cc6157b2c3bc91af767eb1154d7a715562a
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
Log Message:
-----------
[MS][clang] Make sure vector deleting dtor calls correct operator delete (#133950)
During additional testing I spotted that vector deleting dtor calls
operator delete, not operator delete[] when performing array deletion.
This patch fixes that.
Commit: bd788dbf516be98044254336f54b72d077f69771
https://github.com/llvm/llvm-project/commit/bd788dbf516be98044254336f54b72d077f69771
Author: Harmen Stoppels <me at harmenstoppels.nl>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/AMDGPU.cpp
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/rocm-detect.hip
Log Message:
-----------
[AMDGPU] Remove detection of hip runtime for Spack (#133263)
There is special logic to detect the hip runtime when llvm is installed
with Spack. It works by matching the install prefix of llvm against
`llvm-amdgpu-*` followed by effectively globbing for
```
<llvm dir>/../hip-x.y.z-*/
```
and checking there is exactly one such directory.
I would suggest to remove autodetection for the following reasons:
1. In the Spack ecosystem it's by design that every package lives in
its own prefix, and can only know where its dependencies are
installed, it has no clue what its dependents are and where they are
installed. This heuristic detection breaks that invariant, since `hip`
is a dependent of `llvm`, and can be surprising to Spack users.
2. The detection can lead to false positives, since users can be using
an llvm installed "upstream" with their own build of hip locally, and
they may not realize that clang is picking up upstream hip instead of
their local copy.
3. It only works if the directory name is `llvm-amdgpu-*` which happens
to be the name of AMD's fork of `llvm`, so it makes no sense that
this code lives in the main LLVM repo for which the Spack package
name is `llvm`. Feels wrong that LLVM knows about Spack package
names, which can change over time.
4. Users can change the install directory structure, meaning that this
detection is not robust under config changes in Spack.
Commit: cde2ea377d457e272ce1572d588643e5ee533c30
https://github.com/llvm/llvm-project/commit/cde2ea377d457e272ce1572d588643e5ee533c30
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/ReduceOperands.cpp
Log Message:
-----------
llvm-reduce: Defer a shouldKeep call in operand reduction (#133387)
Ideally shouldKeep is only called in contexts that will successfully
do something.
Commit: 41d718b1cf3db952a79c5598dba2e3379ee88efa
https://github.com/llvm/llvm-project/commit/41d718b1cf3db952a79c5598dba2e3379ee88efa
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
Log Message:
-----------
[flang][OpenMP] Upstream `do concurrent` loop-nest detection. (#127595)
Upstreams the next part of do concurrent to OpenMP mapping pass (from
AMD's ROCm implementation). See
https://github.com/llvm/llvm-project/pull/126026 for more context.
This PR add loop nest detection logic. This enables us to discover
muli-range do concurrent loops and then map them as "collapsed" loop
nests to OpenMP.
This is a follow up for
https://github.com/llvm/llvm-project/pull/126026, only the latest commit
is relevant.
This is a replacement for
https://github.com/llvm/llvm-project/pull/127478 using a
`/user/<username>/<branchname>` branch.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595 (this PR)
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 10c6ebc42711fa12ff790f3462cbce0e02538ab7
https://github.com/llvm/llvm-project/commit/10c6ebc42711fa12ff790f3462cbce0e02538ab7
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaBase.h
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/Misc/show-diag-options.c
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
Log Message:
-----------
Reapply "[Clang] [NFC] Introduce a helper for emitting compatibility diagnostics (#132348)" (#134043)
This reapplies #132348 with a fix to the python bindings tests, reverting
https://github.com/llvm/llvm-project/commit/076397ff3217cf45fd08024dd7bcd2bc8fb229ab.
Commit: 9356091a98c24718572f99b51553838ed664b67a
https://github.com/llvm/llvm-project/commit/9356091a98c24718572f99b51553838ed664b67a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalMerge.cpp
A llvm/test/CodeGen/PowerPC/global-merge-llvm-metadata.ll
Log Message:
-----------
[GlobalMerge][PPC] Don't merge globals in llvm.metadata section (#131801)
The llvm.metadata section is not emitted and has special semantics. We
should not merge globals in it, similarly to how we already skip merging
of `llvm.xyz` globals.
Fixes https://github.com/llvm/llvm-project/issues/131394.
Commit: dd19e7eaaa63bc96d99cdb7a3e7cce95589aec8d
https://github.com/llvm/llvm-project/commit/dd19e7eaaa63bc96d99cdb7a3e7cce95589aec8d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cbrt.inc
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
M libclc/clc/lib/generic/math/clc_tables.cl
M libclc/generic/lib/math/cbrt.cl
M libclc/generic/lib/math/tables.cl
Log Message:
-----------
[libclc] Move cbrt to the CLC library; vectorize (#133940)
Commit: 8107b430edb38dc798fe4e710df13d4b2e98acfb
https://github.com/llvm/llvm-project/commit/8107b430edb38dc798fe4e710df13d4b2e98acfb
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
Log Message:
-----------
[VPlan] Simplify select c, x, x -> x (#133731)
As noted in 1a9358c090d0507be21c5e9b2d97a23ef1de8ab0, some
simplifications can produce a redundant select where the true and false
operands are the same, which this patch removes.
The is_fpclass test was changed so the condition wasn't made dead.
Commit: 3f8bfc9f7fc788af63e52b5e804a2d6ab92321ac
https://github.com/llvm/llvm-project/commit/3f8bfc9f7fc788af63e52b5e804a2d6ab92321ac
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/basic_device.mlir
M flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
Log Message:
-----------
[flang][OpenMP] Map simple `do concurrent` loops to OpenMP host constructs (#127633)
Upstreams one more part of the ROCm `do concurrent` to OpenMP mapping
pass. This PR add support for converting simple loops to the equivalent
OpenMP constructs on the host: `omp parallel do`. Towards that end, we
have to collect more information about loop nests for which we add new
utils in the `looputils` name space.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633 (this PR)
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635
Commit: 9b2fd1a6ec935b2e31bb2b6fda82b7377b9bbf79
https://github.com/llvm/llvm-project/commit/9b2fd1a6ec935b2e31bb2b6fda82b7377b9bbf79
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/flang-openmp-version-macro.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][OpenMP] Bump default OpenMP version to 3.1 (#133745)
Precise OpenMP standards support information is being documented in
#132707
Flang now has good support for OpenMP Version 3.1 and earlier.
Commit: e0f8898e1d432ab4fdcaf353bf87a1d3cf36491a
https://github.com/llvm/llvm-project/commit/e0f8898e1d432ab4fdcaf353bf87a1d3cf36491a
Author: Miro Hronฤok <miro at hroncok.cz>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/opt-viewer/optrecord.py
Log Message:
-----------
Avoid a race condition in opt-viewer/optrecord (#131214)
See https://bugzilla.redhat.com/2336915
See https://reviews.llvm.org/D41784?id=
See
https://github.com/androm3da/optviewer-demo/issues/4#issuecomment-718787822
Fixes https://github.com/llvm/llvm-project/issues/62403.
The race condition happened when the demangler_proc was being set. The
locking mechanism itself happened too late.
This way, the lock always exists (to avoid a race when creating it) and
is always used when *creating* demangler_proc.
Commit: 54385f5ebe5ee998ca4dd59a19bb98144a77db63
https://github.com/llvm/llvm-project/commit/54385f5ebe5ee998ca4dd59a19bb98144a77db63
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/operands-to-args.ll
Log Message:
-----------
llvm-reduce: Increase operands-to-args test coverage (#133853)
This wasn't checking the output for all functions.
--match-full-lines is also particularly hazardous for the
interestingness checks for avoiding asserts and broken IR.
Also add tests for some of the filtered function user types.
This wasn't covered, and is overly conservative.
Commit: 2426ac647f33451a92833ab752d74d16ab3330ed
https://github.com/llvm/llvm-project/commit/2426ac647f33451a92833ab752d74d16ab3330ed
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
Log Message:
-----------
[X86] Add demanded elts for v8f32 VPERMV node
Based off #133923 - test to ensure the VPERMV node as only the lower 128-bit source elements are demanded.
Commit: 7d441d9892295a6eb8aaf481e1715f039f6f224f
https://github.com/llvm/llvm-project/commit/7d441d9892295a6eb8aaf481e1715f039f6f224f
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/test/Conversion/MathToVCIX/math-to-vcix.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
Log Message:
-----------
[mlir] Use `dyn_cast` instead of `cast` in MathToVCIX conversion (#134047)
Fixes #131093.
Commit: ef56b5371294d0c4368b52d4f164f6aa07e1aa4d
https://github.com/llvm/llvm-project/commit/ef56b5371294d0c4368b52d4f164f6aa07e1aa4d
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
Log Message:
-----------
[flang][OpenMP] Extend `do concurrent` mapping to multi-range loops (#127634)
Adds support for converting mulit-range loops to OpenMP (on the host
only for now). The changes here "prepare" a loop nest for collapsing by
sinking iteration variables to the innermost `fir.do_loop` op in the
nest.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634 (this PR)
- https://github.com/llvm/llvm-project/pull/127635
Commit: f066d7504e736f7dc8bee3b9c514a86e229fd622
https://github.com/llvm/llvm-project/commit/f066d7504e736f7dc8bee3b9c514a86e229fd622
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Transforms/IndVarSimplify/iv-ext-samesign.ll
A llvm/test/Transforms/IndVarSimplify/pr126409.ll
Log Message:
-----------
[Reland][SCEV] teach isImpliedViaOperations about samesign (#133711)
This patch relands https://github.com/llvm/llvm-project/pull/124270.
Closes https://github.com/llvm/llvm-project/issues/126409.
The root cause is that we incorrectly preserve the samesign flag after
truncating operands of an icmp:
https://alive2.llvm.org/ce/z/4NE9gS
---------
Co-authored-by: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Commit: d7afafdbc464e65c56a0a1d77bad426aa7538306
https://github.com/llvm/llvm-project/commit/d7afafdbc464e65c56a0a1d77bad426aa7538306
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Return *const* UnwindPlan pointers from FuncUnwinders (#133247)
These plans are cached and accessed from multiple threads. Modifying
them would be a Bad Idea(tm).
Commit: a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6
https://github.com/llvm/llvm-project/commit/a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/set-wave-priority.ll
Log Message:
-----------
[AMDGPU][NPM] Port AMDGPUSetWavePriority to NPM (#130064)
Commit: 5bbcc765cc431d8cf6c9011ac283da373d9d4f46
https://github.com/llvm/llvm-project/commit/5bbcc765cc431d8cf6c9011ac283da373d9d4f46
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/revec-estimateNodesPermuteCost.ll
Log Message:
-----------
[SLP][REVEC] getNumElements should not be used as VF when REVEC is enabled. (#134031)
Commit: 53f3031005f78b384845eaf770ec4aac54cae4c3
https://github.com/llvm/llvm-project/commit/53f3031005f78b384845eaf770ec4aac54cae4c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Headers/stdint.h
M clang/test/C/drs/dr209.c
M clang/test/Preprocessor/stdint.c
Log Message:
-----------
[C99] Fix definitions of INTn_C macros (#133916)
C99 introduced macros of the form `INTn_C(v)` which expand to a signed
or unsigned integer constant with the specified value `v` and the type
`int_leastN_t`. Clang's initial implementation of these macros used
token pasting to form the integer constants, but this means that users
cannot define a macro named `L`, `U`, `UL`, etc before including
`<stdint.h>` (in freestanding mode, where Clang's header is being used)
because that could form invalid token pasting results. The new
definitions now use the predefined `__INTn_C` macros instead of using
token pasting. This matches the behavior of GCC.
Fixes #85995
Commit: 7c4009f21b877769a5d3cd5c4d0bd0fb75c9c588
https://github.com/llvm/llvm-project/commit/7c4009f21b877769a5d3cd5c4d0bd0fb75c9c588
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
Log Message:
-----------
[AMDGPU] AMDGPUSetWavePriority: Remove unused variable NFC (#134069)
Fixes a13a51b91fcb2797cc5a16bd8bc7ad714bb15df6 (#130064)
Commit: 574e43dffd7a97d32f996df58b1787ad5158529c
https://github.com/llvm/llvm-project/commit/574e43dffd7a97d32f996df58b1787ad5158529c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaCast.cpp
M clang/test/C/C23/n3042.c
Log Message:
-----------
[C23] Allow casting from a null pointer constant to nullptr_t (#133742)
C23 allows a cast of a null pointer constant to nullptr_t. e.g.,
(nullptr_t)0 or (nullptr_t)(void *)0.
Fixes #133644
Commit: 3cc7148fe054e225671f6741d0fe4583486af8a4
https://github.com/llvm/llvm-project/commit/3cc7148fe054e225671f6741d0fe4583486af8a4
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Update for #134043
Commit: a0b75b9d990d834a814f1585a21705da558e43d3
https://github.com/llvm/llvm-project/commit/a0b75b9d990d834a814f1585a21705da558e43d3
Author: Lyle Dean <dean at lyle.dev>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
Log Message:
-----------
[Clang] add emit -Wignored-base-class-qualifiers diagnostic for cv-qualified base classes (#132116)
Split diagnosing base class qualifiers from the ``-Wignored-Qualifiers``
diagnostic group into a new ``-Wignored-base-class-qualifiers``
diagnostic group (which is grouped under ``-Wignored-qualifiers``).
Fixes #131935
Commit: 14335be0780d369f4aa2403ee986bac3d436872f
https://github.com/llvm/llvm-project/commit/14335be0780d369f4aa2403ee986bac3d436872f
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
Log Message:
-----------
[Clang][NFC] Minor constraint satisfaction checking cleanup (#134059)
We had a weird, incorrect, "ConstraintEvaluator" object that was not
useful for anything, so I removed that.
I also changed the CheckConstraintSatisfaction overload that just took
an Expr* as this did not make much sense at all.
Satisfaction checking is still fairly wrong,
we do not follow the standard that requires we only substitute into the
mapping of the normal form, so we produce errors for incorrect
substitution into concepts id, even though we should not.
Commit: cf976bfdeba21405e1674c6dd09940773b2275ef
https://github.com/llvm/llvm-project/commit/cf976bfdeba21405e1674c6dd09940773b2275ef
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Add tests for the vectorization profitability (NFC) (#133665)
There is a problem with the current profitability check for
vectorization in LoopInterchange. There are both false positives and
false negatives. The former means that the heuristic may say that "an
exchange is necessary to vectorize the innermost loop" even though it's
already possible. The latter means that the heuristic may miss a case
where an exchange is necessary to vectorize the innermost loop. Note
that this is not a dependency analysis problem. This is caused by
incorrect handling of the dependency matrix in the profitability check,
so these problems can occur even if the analysis is accurate (no
overestimation).
This patch adds tests to clarify the cases that should be fixed. The
root cause of these cases is that the heuristic doesn't handle the
direction of a dependency correctly.
Commit: 842785adf7349f07a91320d49ff8a10971e04409
https://github.com/llvm/llvm-project/commit/842785adf7349f07a91320d49ff8a10971e04409
Author: dianqk <dianqk at dianqk.net>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineInstr.h
Log Message:
-----------
[MachineInstr] Remove the code that was accidentally added in #132536 (NFC)
Commit: c309abd92553191c404f2dc13f637bcfd53033f9
https://github.com/llvm/llvm-project/commit/c309abd92553191c404f2dc13f637bcfd53033f9
Author: Jean-Didier PAILLEUX <jean-didier.pailleux at sipearl.com>
Date: 2025-04-02 (Wed, 02 Apr 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
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/compiler-directives.f90
Log Message:
-----------
[flang] Implement !DIR$ NOVECTOR and !DIR$ NOUNROLL[_AND_JAM] (#133885)
Hi,
This patch implements support for the following directives :
- `!DIR$ NOUNROLL_AND_JAM` to disable unrolling and jamming on a DO
LOOP.
- `!DIR$ NOUNROLL` to disable unrolling on a DO LOOP.
- `!DIR$ NOVECTOR` to disable vectorization on a DO LOOP.
Commit: 2b7daaf9678181959982b219db0af106f4ef8e3e
https://github.com/llvm/llvm-project/commit/2b7daaf9678181959982b219db0af106f4ef8e3e
Author: Maxim Zhukov <mussitantesmortem at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/Driver/fsanitize-coverage.c
Log Message:
-----------
[sanitizer][CFI] Add support to build CFI with sanitize-coverage (#131296)
Added ability to build together with -fsanitize=cfi and
-fsanitize-coverage=trace-cmp at the same time.
Commit: 581f8bccb529ad9c60e231c44b01a2f9b3ce79b6
https://github.com/llvm/llvm-project/commit/581f8bccb529ad9c60e231c44b01a2f9b3ce79b6
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[clang][OpenMP] Fix bug #62099 - use hash value when inode ID cannot be determined (#131646)
When creating the name of an outlined region, Clang uses the file's
inode ID to generate a unique name. When the file does not exist, this
causes a fatal abort of the compiler. This PR switches to a has value
that is used instead.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: 2a90631841284ba538029975e59876bb2e1714af
https://github.com/llvm/llvm-project/commit/2a90631841284ba538029975e59876bb2e1714af
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/docs/Dialects/SPIR-V.md
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVControlFlowOps.td
M mlir/lib/Dialect/SPIRV/IR/ControlFlowOps.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
M mlir/test/Dialect/SPIRV/IR/control-flow-ops.mlir
M mlir/test/Target/SPIRV/selection.mlir
Log Message:
-----------
[mlir][spirv] Allow yielding values from selection regions (#133702)
There are cases in SPIR-V shaders where values need to be yielded from
the selection region to make valid MLIR. For example (part of the SPIR-V
shader decompiled to GLSL):
```
bool _115
if (_107)
{
// ...
float _200 = fma(...);
// ...
_115 = _200 < _174;
}
else
{
_115 = _107;
}
bool _123;
if (_115)
{
// ...
float _213 = fma(...);
// ...
_123 = _213 < _174;
}
else
{
_123 = _115;
}
````
This patch extends `mlir.selection` so it can return values.
`mlir.merge` is used as a "yield" operation. This allows to maintain a
compatibility with code that does not yield any values, as well as, to
maintain an assumption that `mlir.merge` is the only operation in the
merge block of the selection region.
Commit: d8d561a3881b08026a0566ff692fdd5b0e032b95
https://github.com/llvm/llvm-project/commit/d8d561a3881b08026a0566ff692fdd5b0e032b95
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/.clang-format
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
Log Message:
-----------
[libc++][NFC] Remove _LIBCPP_DISABLE_EXTENSION_WARNINGS (#133693)
We only use `_LIBCPP_DISABLE_EXTENSION_WARNINGS` in a single place while
we use extensions all over the place. The warnings are already disabled,
since libc++'s headers are system headers, so this shouldn't be in any
way observable by users.
Commit: 666df54ea6c3d9cb735fc2fcaf1a4802e675f8d0
https://github.com/llvm/llvm-project/commit/666df54ea6c3d9cb735fc2fcaf1a4802e675f8d0
Author: ู
ูุฏู ุดูููู (Mehdi Chinoune) <mehdi.chinoune at hotmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Evaluate/intrinsics-library.cpp
Log Message:
-----------
[flang] Fold double bessel functions on Windows. (#130253)
There are no functions for `float`.
see:
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/bessel-functions-j0-j1-jn-y0-y1-yn
Commit: de6c9096ba5d186c0ebe11bae76425af70959232
https://github.com/llvm/llvm-project/commit/de6c9096ba5d186c0ebe11bae76425af70959232
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/docs/DoConcurrentConversionToOpenMP.md
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
Log Message:
-----------
[flang][OpenMP] Handle "loop-local values" in `do concurrent` nests (#127635)
Extends `do concurrent` mapping to handle "loop-local values". A
loop-local value is one that is used exclusively inside the loop but
allocated outside of it. This usually corresponds to temporary values
that are used inside the loop body for initialzing other variables for
example. After collecting these values, the pass localizes them to the
loop nest by moving their allocations.
PR stack:
- https://github.com/llvm/llvm-project/pull/126026
- https://github.com/llvm/llvm-project/pull/127595
- https://github.com/llvm/llvm-project/pull/127633
- https://github.com/llvm/llvm-project/pull/127634
- https://github.com/llvm/llvm-project/pull/127635 (this PR)
Commit: c51b24c36a4e447216ae93799720eaf2869e6242
https://github.com/llvm/llvm-project/commit/c51b24c36a4e447216ae93799720eaf2869e6242
Author: David Green <david.green at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/div.ll
Log Message:
-----------
[AArch64] Use getVectorInstrCost in div cost
The costs of ExtractElement and InsertElement should be obtained via
getVectorInstrCost.
Commit: 8a0f694381cece71f1b974f65f3121020522d6f1
https://github.com/llvm/llvm-project/commit/8a0f694381cece71f1b974f65f3121020522d6f1
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Lower/PFTBuilder.cpp
Log Message:
-----------
[flang] Legacy ASSIGN statement target processing (#133737)
Like other target statements, the statement associated with the label in
a legacy ASSIGN statement could be inside a construct. Constructs
containing such a target must therefore be marked as unstructured,
fairly similar to how targets are processed in `markBranchTarget`.
Commit: 200b589a1b3a0e12cd9950a897949f3e89534929
https://github.com/llvm/llvm-project/commit/200b589a1b3a0e12cd9950a897949f3e89534929
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Fix ambiguous conversion between SmallVector and TypeRange (#134087)
This address buildbot failures caused by #133702.
Commit: 87bebd37ffe08c4911d9636ab09cb1406d7ac677
https://github.com/llvm/llvm-project/commit/87bebd37ffe08c4911d9636ab09cb1406d7ac677
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[LLDB][NFC]Move fields that might be referenced in scope-exit to beginning (#133785)
Details: The ScopedDiscpatcher's dtor may reference these fields so we
need the fields' dtor to be be invoked *after* the dispatcher's.
Commit: d51525ba36017507fe95ce48e9670b6f4b267016
https://github.com/llvm/llvm-project/commit/d51525ba36017507fe95ce48e9670b6f4b267016
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_tgamma.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/tgamma.cl
Log Message:
-----------
[libclc] Move lgamma, lgamma_r & tgamma to CLC library (#134053)
Also enable half-precision variants of tgamma, which were previously
missing.
Note that unlike recent work, these builtins are not vectorized as part
of this commit. Ultimately all three call into lgamma_r, which has heavy
control flow (including switch statements) that would be difficult to
vectorize. Additionally the lgamma_r algorithm is copyrighted to SunPro
so may need a rewrite in the future anyway.
There are no codegen changes (to non-SPIR-V targets) with this commit,
aside from the new half builtins.
Commit: f186041553f9ab2d49510c6690bb4faf96457d4a
https://github.com/llvm/llvm-project/commit/f186041553f9ab2d49510c6690bb4faf96457d4a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_tanh.h
M libclc/clc/include/clc/math/tables.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
M libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
Log Message:
-----------
[libclc] Move sinh, cosh & tanh to the CLC library (#134063)
This commit also vectorizes the builtins.
Commit: 65ed35393cc8a3b896d794ab316e0357d907efff
https://github.com/llvm/llvm-project/commit/65ed35393cc8a3b896d794ab316e0357d907efff
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
Log Message:
-----------
[IR] Add helper `CmpPredicate::dropSameSign` (#134071)
Address review comment
https://github.com/llvm/llvm-project/pull/133711#discussion_r2024519641
Commit: 48a4b14cb65d56ec3bbb473887c31d251092c83c
https://github.com/llvm/llvm-project/commit/48a4b14cb65d56ec3bbb473887c31d251092c83c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/whole-registers-compare.ll
Log Message:
-----------
[SLP]Fix whole vector registers calculations for compares
Need to check that the calculated number of the elements is not larger
than the original number of scalars to prevent a compiler crash.
Fixes #134013
Commit: f99072bd8c6b479badfda0a8affd4964b26af4f7
https://github.com/llvm/llvm-project/commit/f99072bd8c6b479badfda0a8affd4964b26af4f7
Author: yonghong-song <yhs at fb.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
Log Message:
-----------
[Clang][BPF] Add tests for btf_type_tag c2x-style attributes (#133666)
For btf_type_tag implementation, in order to have the same results with
clang (__attribute__((btf_type_tag("...")))), gcc intends to use c2x
syntax '[[...]]'. Clang also supports similar c2x syntax. Currently, the
clang selftest contains the following five tests:
```
attr-btf_type_tag-func.c
attr-btf_type_tag-similar-type.c
attr-btf_type_tag-var.c
attr-btf_type_tag-func-ptr.c
attr-btf_type_tag-typedef-field.c
```
Tests attr-btf_type_tag-func.c and attr-btf_type_tag-var.c already have
c2x syntax test.
Test attr-btf_type_tag-func-ptr.c does not support c2x syntax when
'__attribute__((...))' is replaced with with '[[...]]'. This should not
be an issue since we do not have use cases for function pointer yet.
This patch added '[[...]]' syntax for
```
attr-btf_type_tag-similar-type.c
attr-btf_type_tag-typedef-field.c
```
Commit: 3843dfeaf71a310d77a8c481dcea207a685fde8e
https://github.com/llvm/llvm-project/commit/3843dfeaf71a310d77a8c481dcea207a685fde8e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.ll
Log Message:
-----------
[X86] Add demanded elts test coverage for vXi16 VPERMW nodes
Requested for #133923
Commit: ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
https://github.com/llvm/llvm-project/commit/ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[RISCV] Add test for vmv.s.x into a zeroinitializer vector. NFC
This is generated by the loop vectorizer for out-of-loop add
reductions with some starting value
Commit: e6c2fdc90fe40edeb2e2ce85a24fc88b82644b29
https://github.com/llvm/llvm-project/commit/e6c2fdc90fe40edeb2e2ce85a24fc88b82644b29
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/include/__vector/vector_bool.h
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
Log Message:
-----------
[libc++] Fix ambiguous call to std::max in vector<bool> (#119801)
Closes #121713.
Commit: 2b7fe90a016ed402a1e52d4e13b6112c206369ea
https://github.com/llvm/llvm-project/commit/2b7fe90a016ed402a1e52d4e13b6112c206369ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/llvm-reduce/deltas/SimplifyInstructions.cpp
Log Message:
-----------
llvm-reduce: Avoid worklist in simplify-instruction (#134066)
Commit: c132bd6885a67c7684c8847244a41f4038154c6c
https://github.com/llvm/llvm-project/commit/c132bd6885a67c7684c8847244a41f4038154c6c
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/insertelt-int-rv64.ll
Log Message:
-----------
[RISCV] Add test for vmv.s.x of an immediate into a zeroinitializer vector. NFC
The immediate version of ffaaaceaa1cfaa7103196cc7f307ffcb61d73558
Commit: ee60f7c7a4e4e400918c83decb6cd498aff94012
https://github.com/llvm/llvm-project/commit/ee60f7c7a4e4e400918c83decb6cd498aff94012
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/UUID.h
M lldb/source/Core/Telemetry.cpp
M lldb/source/Utility/UUID.cpp
M lldb/unittests/Utility/UUIDTest.cpp
Log Message:
-----------
[lldb] Hoist UUID generation into the UUID class (#133662)
Hoist UUID generation into the UUID class and add a trivial unit test.
This also changes the telemetry code to drop the double underscore if we
failed to generate a UUID and subsequently logs to the Host instead of
Object log channel.
Commit: 04676c61604bc81062581719dadf070ab0b19385
https://github.com/llvm/llvm-project/commit/04676c61604bc81062581719dadf070ab0b19385
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/Analysis/Checkers/WebKit/ref-cntbl-crtp-base-no-virtual-dtor.cpp
M clang/test/CXX/class/p2-0x.cpp
M clang/test/SemaCXX/MicrosoftExtensions.cpp
M clang/test/SemaCXX/warn-final-dtor-non-final-class.cpp
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
Revert "Enable unnecessary-virtual-specifier by default" (#134105)
Reverts llvm/llvm-project#133265
This causes the whole libc++ CI to fail, since we're not building
against a compiler built from current trunk. Specifically, the CMake
changes causes some feature detection to fail, resulting in CMake
being unable to configure libc++.
Commit: 7dce16a0e56789d2a1052317ae2a1328e6071a00
https://github.com/llvm/llvm-project/commit/7dce16a0e56789d2a1052317ae2a1328e6071a00
Author: Andrzej Warzyลski <andrzej.warzynski at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[docs][GitHub] Update docs for stacked PRs (#132424)
Commit: 84cb08e11866dda721e9a1b5a39c4e963fc36c32
https://github.com/llvm/llvm-project/commit/84cb08e11866dda721e9a1b5a39c4e963fc36c32
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Target/LLVM/ROCDL/Target.cpp
M mlir/test/Dialect/LLVMIR/rocdl.mlir
M mlir/unittests/Target/LLVM/SerializeROCDLTarget.cpp
Log Message:
-----------
[MLIR][AMDGPU] Bump to COV6 (#133849)
We already bump to COV6 by default in the front-end and backend. This PR
is for MLIR.
Note that COV6 requires ROCm 6.3+.
Commit: f7591ee161bc3ebd139b330e74263b26dc5608fb
https://github.com/llvm/llvm-project/commit/f7591ee161bc3ebd139b330e74263b26dc5608fb
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
Log Message:
-----------
[LV] Exercise type-mismatch with RT-check conflict rdx (#130295)
The test suite of LoopVectorize suffers from a coverage hole when types
mismatch, and runtime checks are needed, with a conflict redux. Fix this
coverage hole by adding tests.
Commit: 00122bb56b81592d8be66dd06c43a94be7c88c9c
https://github.com/llvm/llvm-project/commit/00122bb56b81592d8be66dd06c43a94be7c88c9c
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/induction-unroll-novec.ll
Log Message:
-----------
[LV] Regen a test with UTC (#134076)
Commit: 6f959a46c0225b99b1d4342eb01999f6cf2961b8
https://github.com/llvm/llvm-project/commit/6f959a46c0225b99b1d4342eb01999f6cf2961b8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Utility/UUID.cpp
Log Message:
-----------
[lldb] uint8_t -> unsigned short in std::independent_bits_engine
According to [1], the template parameter must be cv-unqualified and one
of unsigned short, unsigned int, unsigned long, or unsigned long long.
Should fix the following MSVC error:
error: static assertion failed due to requirement
'_Is_any_of_v<unsigned char, unsigned short, unsigned int, unsigned
long, unsigned long long>': invalid template argument for
independent_bits_engine: N4659
[1] https://en.cppreference.com/w/cpp/numeric/random/independent_bits_engine
Commit: e84b57dfbf36626205d6cd4c8007a3e511b7a296
https://github.com/llvm/llvm-project/commit/e84b57dfbf36626205d6cd4c8007a3e511b7a296
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lld/ELF/ScriptParser.cpp
M lld/docs/ReleaseNotes.rst
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
Log Message:
-----------
[LLD][ELF] Support OVERLAY NOCROSSREFS (#133807)
This allows NOCROSSREFS to be specified in OVERLAY linker script
descriptions. This is a particularly useful part of the OVERLAY syntax,
since it's very rarely possible for one overlay section to sensibly
reference another.
Closes #128790
Commit: 8b67f362583db5f9ace7238bcc174ec6cd11527f
https://github.com/llvm/llvm-project/commit/8b67f362583db5f9ace7238bcc174ec6cd11527f
Author: Fehr Mathieu <mathieu.fehr at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/expand-ops.mlir
A mlir/test/Integration/Dialect/Arith/CPU/test-arith-expand-ceildivsi.mlir
Log Message:
-----------
[mlir] [arith] Fix ceildivsi lowering in arith-expand (#133774)
This fixes the current lowering of `arith.ceildivsi` in the arith-expand
pass, which was previously incorrect. The new version is based on the
lowering of `arith.floordivsi`, and will not introduce new undefined
behavior or poison during the lowering. It also replaces one division
with a multiplication.
The previous lowering of `ceildivsi(n, m)` was the following:
```
x = (m > 0) ? -1 : 1
(n*m>0) ? ((n+x) / m) + 1 : - (-n / m)
```
This caused two problems:
* In the case where `n` is INT_MIN and `m` is positive, the result would
be poison instead of an actual value
* In the case where `n` is INT_MAX and `m` is `-1`, this would trigger
undefined behavior, while the original code wouldn't. This is because
`n+x` would be equal to `INT_MIN` (`INT_MAX + 1`), so the `(n+x) / m`
division would overflow and trigger UB.
Commit: 4a4d41e723a0dd794043066eb5609f5eb0547948
https://github.com/llvm/llvm-project/commit/4a4d41e723a0dd794043066eb5609f5eb0547948
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/Inputs/SYCL/bar.ll
M clang/test/Driver/Inputs/SYCL/baz.ll
M clang/test/Driver/Inputs/SYCL/foo.ll
M clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[SYCL][SPIR-V Backend][clang-sycl-linker] Add SPIR-V backend support inside clang-sycl-linker (#133967)
This PR does the following:
1. Use SPIR-V backend to do LLVM to SPIR-V translation inside
clang-sycl-linker
2. Remove llvm-spirv translator from clang-sycl-linker Currently, no
SPIR-V extensions are enabled for SYCL compilation flow. This will be
updated in subsequent commits.
Thanks
Note: This is one of the many PRs being introduced to add SYCL
programming model support to LLVM
([RFC](https://discourse.llvm.org/t/rfc-add-sycl-programming-model-support/50812)).
---------
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: ddc48fefe389789f64713b5924a03fb2b7961ef3
https://github.com/llvm/llvm-project/commit/ddc48fefe389789f64713b5924a03fb2b7961ef3
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_tan.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
Log Message:
-----------
[libclc] Move native_(exp10|powr|tan) to CLC library (#134080)
These are the three remaining native builtins not yet ported.
There are elementwise versions of exp10 and tan which correspond to the
intrinsics, which may be preferable to the current versions which route
through other native builtins. Those could be changed in a follow-up if
desired.
Commit: efca37fda55ade9fd079c932ad14ab59c3bfecbc
https://github.com/llvm/llvm-project/commit/efca37fda55ade9fd079c932ad14ab59c3bfecbc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/tools/llvm-reduce/llvm-reduce.cpp
Log Message:
-----------
llvm-reduce: Change exit code for uninteresting inputs (#134021)
This makes it easier to reduce llvm-reduce with llvm-reduce to filter
cases where the input reduced too much.
Not sure if it's possible to test the exit code in lit.
Commit: 340f06a8d4919b7a2d1bb8fca7ff40245e016f55
https://github.com/llvm/llvm-project/commit/340f06a8d4919b7a2d1bb8fca7ff40245e016f55
Author: AdityaK <hiraditya at msn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
A mlir/test/Dialect/Shape/fold-div.mlir
Log Message:
-----------
Fix: bail out when divisor is zero (#133518)
Fixes: #131279
Commit: 74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
https://github.com/llvm/llvm-project/commit/74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
[OMPIRBuilder] Don't include MemorySSAUpdater.h (NFC)
This header does not use MemorySSA in any way -- it was just using
a typedef from it. Write out the type instead.
Commit: fa2a6d68c6f35e478af3425760ae39e866049eee
https://github.com/llvm/llvm-project/commit/fa2a6d68c6f35e478af3425760ae39e866049eee
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/select-constant-xor.ll
Log Message:
-----------
[CodeGenPrepare][RISCV] Combine (X ^ Y) and (X == Y) where appropriate (#130922)
Fixes #130510.
In RISCV, modify the folding of (X ^ Y == 0) -> (X == Y) to account for
cases where the (X ^ Y) will be re-used.
If a constant is being used for the XOR before a branch, ensure that it
is small enough to fit within a 12-bit immediate field. Otherwise, the
equality check is more efficient than the check against 0, see the
following:
```
# %bb.0:
lui a1, 5
addiw a1, a1, 1365
xor a0, a0, a1
beqz a0, .LBB0_2
# %bb.1:
ret
.LBB0_2:
```
```
# %bb.0:
lui a1, 5
addiw a1, a1, 1365
beq a0, a1, .LBB0_2
# %bb.1:
xor a0, a0, a1
ret
.LBB0_2:
```
Similarly, if the XOR is between 1 and a size one integer, we should
still fold away the XOR since that comparison can be optimized as a
comparison against 0.
```
# %bb.0:
slt a0, a0, a1
xor a0, a0, 1
beqz a0, .LBB0_2
# %bb.1:
ret
.LBB0_2:
```
```
# %bb.0:
slt a0, a0, a1
bnez a0, .LBB0_2
# %bb.1:
xor a0, a0, 1
ret
.LBB0_2:
```
One question about my code is that I used a hard-coded value for the
width of a RISCV ALU immediate. Do you know of a way that I can gather
this from the `context`, I was unable to devise one.
Commit: 711b15d179b3bf861eceb75e30cb9a39d1d88857
https://github.com/llvm/llvm-project/commit/711b15d179b3bf861eceb75e30cb9a39d1d88857
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-scatter.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vpgather.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmul.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulsu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwmulu.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsub.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
Log Message:
-----------
[RISCV] Mark subvector extracts from index 0 as cheap (#134101)
Previously we only marked fixed length vector extracts as cheap, so this
extends it to any extract at index 0 which should just be a subreg
extract.
This allows extracts of i1 vectors to be considered for DAG combines,
but also scalable vectors too.
This causes some slight improvements with large legalized fixed-length
vectors, but the underlying motiviation for this is to actually prevent
an unprofitable DAG combine on a scalable vector in an upcoming patch.
Commit: b6e2df54c4c0de6786f98ec5feb8223aa7677dc9
https://github.com/llvm/llvm-project/commit/b6e2df54c4c0de6786f98ec5feb8223aa7677dc9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
Log Message:
-----------
[MC] Move some member variables from AsmParser to MCAsmParser
to eliminate some virtual functions and avoid duplication
between AsmParser/MasmParser.
Commit: d7724c8ea313e5d64ef35102958213dcd98f53ea
https://github.com/llvm/llvm-project/commit/d7724c8ea313e5d64ef35102958213dcd98f53ea
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[OpenACC] allow 'if' clause on 'atomic' construct
This was added in OpenACC PR #511 in the 3.4 branch. From an AST/Sema
perspective this is pretty trivial as the infrastructure for 'if'
already exists, however the atomic construct needed to be taught to take
clauses. This patch does that and adds some testing to do so.
Commit: dde0be9d9709f7c983443327024fc5983a9b18d1
https://github.com/llvm/llvm-project/commit/dde0be9d9709f7c983443327024fc5983a9b18d1
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-left.ll
A llvm/test/Transforms/SimplifyCFG/merge-calls-memprof-right.ll
Log Message:
-----------
[Metadata] Handle memprof, callsite merging when one is missing. (#132106)
For memprof and callsite metadata we want to pick one deterministically
and keep that even if one of them may be missing.
Commit: c18994c7cdf68dfbb35c998909aa837169bb0c25
https://github.com/llvm/llvm-project/commit/c18994c7cdf68dfbb35c998909aa837169bb0c25
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
A llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
[Metadata] Preserve MD_prof when merging instructions when one is missing. (#132433)
Preserve branch weight metadata when merging instructions if one of the
instructions is missing metadata. This is similar in behaviour to what
we do today for other types of metadata such as mmra, memprof and
callsite metadata.
Commit: aa33c095617400a23a2b814c4defeb12e7761639
https://github.com/llvm/llvm-project/commit/aa33c095617400a23a2b814c4defeb12e7761639
Author: Kazu Hirata <kazu at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
Log Message:
-----------
[flang] Fix a warning
This patch fixes:
flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp:184:18: error:
unused variable 'loc' [-Werror,-Wunused-variable]
Commit: a3ac318e5f8668ec5b79dd86639881dfb2e88b69
https://github.com/llvm/llvm-project/commit/a3ac318e5f8668ec5b79dd86639881dfb2e88b69
Author: Adrian Prantl <aprantl at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
Log Message:
-----------
[lldb] Skip test with older version of clang
Commit: 4688719cf5a9b86508be8c93832e43f2fef4533f
https://github.com/llvm/llvm-project/commit/4688719cf5a9b86508be8c93832e43f2fef4533f
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix flaky failure and add REQUIRES (#134125)
This should fix failures caused by
https://github.com/llvm/llvm-project/pull/133967
Attn: @sarnex
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: a57023b6a04849f9133d83bdcd006808702d5f66
https://github.com/llvm/llvm-project/commit/a57023b6a04849f9133d83bdcd006808702d5f66
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
Log Message:
-----------
Add missing include for llvm::Error after 74ec038ffb34575ee93fa313cd0ea0db0c0a7e0a
Commit: 540dd89778e1ce54d6e064f9196434b8775b5f4f
https://github.com/llvm/llvm-project/commit/540dd89778e1ce54d6e064f9196434b8775b5f4f
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
Revert "[clang-sycl-linker] Fix flaky failure and add REQUIRES" (#134127)
Reverts llvm/llvm-project#134125
Commit: 0375ef07c3e05e972e723779c5ca142130961e5e
https://github.com/llvm/llvm-project/commit/0375ef07c3e05e972e723779c5ca142130961e5e
Author: Juan Manuel Martinez Caamaรฑo <jmartinezcaamao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.off.f32.i4.ll
A llvm/test/Transforms/InstCombine/AMDGPU/simplify-amdgcn.cvt.off.f32.i4.ll
Log Message:
-----------
[Clang][AMDGPU] Add __builtin_amdgcn_cvt_off_f32_i4 (#133741)
This built-in maps to `V_CVT_OFF_F32_I4` which treats its input as
a 4-bit signed integer and returns `0.0625f * src`.
SWDEV-518861
Commit: beae0e9f1a7c16e5603e443d51a7155e0c713b04
https://github.com/llvm/llvm-project/commit/beae0e9f1a7c16e5603e443d51a7155e0c713b04
Author: Juan Manuel Martinez Caamaรฑo <jmartinezcaamao at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGen/link-builtin-bitcode.c
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
M flang/test/Lower/OpenMP/target_cpu_features.f90
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.lds.err.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
[AMDGPU] Use a target feature to enable __builtin_amdgcn_global_load_lds on gfx9/10 (#133055)
This patch introduces the `vmem-to-lds-load-insts` target feature, which
can be used to enable builtins `__builtin_amdgcn_global_load_lds` and
`__builtin_amdgcn_raw_ptr_buffer_load_lds` on platforms which have this
feature.
This feature is only available on gfx9/10.
A limitation of using a common target feature for both builtins is that
we could have made `__builtin_amdgcn_raw_ptr_buffer_load_lds` available
on gfx6,7,8.
Commit: 32dff270603bb2ea0f0002bf57d29c71319736d6
https://github.com/llvm/llvm-project/commit/32dff270603bb2ea0f0002bf57d29c71319736d6
Author: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/link-device-code.test
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
Log Message:
-----------
[clang-sycl-linker] Fix flaky failure and add REQUIRES (Try #2) (#134130)
This should fix failures caused by
https://github.com/llvm/llvm-project/pull/133967
Attn: @sarnex
Thanks
Signed-off-by: Arvind Sudarsanam <arvind.sudarsanam at intel.com>
Commit: f475ccd3794ebce22950b707ad390fae7e235b46
https://github.com/llvm/llvm-project/commit/f475ccd3794ebce22950b707ad390fae7e235b46
Author: Amy Huang <akhuang at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
Fix to the libc BUILD.bazel file after changing atan_utils.h deps. (#134128)
Additional fix for libc BUILD.bazel after commit 8741412 (#133980)
This seems to match libc/src/math/generic/CMakeLists.txt.
Commit: 843ef77dc22afd1923b891acd4c46c8f8c8c93ae
https://github.com/llvm/llvm-project/commit/843ef77dc22afd1923b891acd4c46c8f8c8c93ae
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/matched-nodes-updated.ll
Log Message:
-----------
[SLP]Update mapping between values and their matching entries upon selection
Need to update the mapping between gathered values and their matching
entries, if the list of the entries is updated and only some of them are
selected for final shuffling.
Fixes #134085
Commit: 60efed3f2025cc9612570487dba5cb299ee28167
https://github.com/llvm/llvm-project/commit/60efed3f2025cc9612570487dba5cb299ee28167
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/dot.hlsl
Log Message:
-----------
[HLSL] Update __builtin_hlsl_dot builtin Sema Checking to fix error when passed an array literal 1u.xxxx (#133941)
update dot builtin sema checking and codegen
new test
fix tests
Closes #133659
Commit: 3bdf9a08804a5b424fd32fef3b0089f3a6db839d
https://github.com/llvm/llvm-project/commit/3bdf9a08804a5b424fd32fef3b0089f3a6db839d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/test/CodeGen/WebAssembly/cfi.ll
M llvm/test/TableGen/GlobalISelCombinerEmitter/type-inference.td
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/nonstring.ll
M llvm/test/tools/llvm-split/preserve-locals.ll
M llvm/test/tools/llvm-split/scc-const-alias.ll
M llvm/test/tools/llvm-split/scc-global-alias.ll
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[EquivalenceClasses] Use SmallVector for deterministic iteration order. (#134075)
Currently iterators over EquivalenceClasses will iterate over std::set,
which guarantees the order specified by the comperator. Unfortunately in
many cases, EquivalenceClasses are used with pointers, so iterating over
std::set of pointers will not be deterministic across runs.
There are multiple places that explicitly try to sort the equivalence
classes before using them to try to get a deterministic order
(LowerTypeTests, SplitModule), but there are others that do not at the
moment and this can result at least in non-determinstic value naming in
Float2Int.
This patch updates EquivalenceClasses to keep track of all members via a
extra SmallVector and removes code from LowerTypeTests and SplitModule
to sort the classes before processing.
Overall it looks like compile-time slightly decreases in most cases, but
close to noise:
https://llvm-compile-time-tracker.com/compare.php?from=7d441d9892295a6eb8aaf481e1715f039f6f224f&to=b0c2ac67a88d3ef86987e2f82115ea0170675a17&stat=instructions
PR: https://github.com/llvm/llvm-project/pull/134075
Commit: c87dc2b7d4ac0131cb97f096be522a50a4b3068b
https://github.com/llvm/llvm-project/commit/c87dc2b7d4ac0131cb97f096be522a50a4b3068b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
Log Message:
-----------
[lldb-dap] Speed up TestDAP_Progress (#134048)
While trying to make progress on #133782, I noticed that
TestDAP_Progress was taking 90 seconds to complete. This patch brings
that down to 10 seocnds by making the following changes:
1. Don't call `wait_for_event` with a 15 second timeout. By the time we
call this, all progress events have been emitted, which means that we're
just sitting there until we hit the timeout.
2. Don't use 10 steps (= 10 seconds) for indeterminate progress. We have
two indeterminate progress tests so that's 6 seconds instead of 20.
3. Don't launch the process over and over. Once we have a dap session,
we can clear the progress vector and emit new progress events.
Commit: 6f1347d57bdaed75b73b2013a96a4a69c8969ebe
https://github.com/llvm/llvm-project/commit/6f1347d57bdaed75b73b2013a96a4a69c8969ebe
Author: ofri frishman <ofri4321 at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/test/Dialect/Linalg/transform-op-fuse.mlir
M mlir/test/Dialect/Tensor/bubble-up-extract-slice-op.mlir
Log Message:
-----------
[MLIR] Bubble up tensor.extract_slice through tensor.collapse_shape (#131982)
Add a pattern that bubbles up tensor.extract_slice through
tensor.collapse_shape.
The pattern is registered in a pattern population function that is used
by the transform op
transform.apply_patterns.tensor.bubble_up_extract_slice and by the
tranform op transform.structured.fuse as a cleanup pattern.
This pattern enables tiling and fusing op chains which contain
tensor.collapse_shape if added as a cleanup pattern of tile and fuse
utility.
Without this pattern that would not be possible, as
tensor.collapse_shape does not implement the tiling interface. This is
an additional pattern to the one added in PR #126898
Commit: fb0e7b5f161118a24eeef39b05882f6950be43c0
https://github.com/llvm/llvm-project/commit/fb0e7b5f161118a24eeef39b05882f6950be43c0
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/bswap.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_elt-f16.ll
M llvm/test/CodeGen/AMDGPU/fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
M llvm/test/CodeGen/AMDGPU/fp-classify.ll
M llvm/test/CodeGen/AMDGPU/fpext.f16.ll
M llvm/test/CodeGen/AMDGPU/fptosi.f16.ll
M llvm/test/CodeGen/AMDGPU/fptoui.f16.ll
M llvm/test/CodeGen/AMDGPU/icmp.i16.ll
M llvm/test/CodeGen/AMDGPU/imm16.ll
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.alignbyte.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.tbuffer.store.d16.ll
M llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
A llvm/test/CodeGen/AMDGPU/true16-fold.mir
M llvm/test/CodeGen/AMDGPU/v_sat_pk_u8_i16.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] Implement sgpr folding in true16 (#128929)
We haven't implemented 16 bit SGPRs. Currently allow 32-bit SGPRs to be
folded into True16 bit instructions taking 16 bit values. Also use
sgpr_32 when Imm is copied to spgr_lo16 so it could be further folded.
This improves generated code quality.
Commit: c59d3a268444b14c2db0fdea7e4bd929bb30630b
https://github.com/llvm/llvm-project/commit/c59d3a268444b14c2db0fdea7e4bd929bb30630b
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__config
Log Message:
-----------
[libc++] Add visibility annotations to the std namespace with GCC (#133233)
This allows us to remove the need for `_LIBCPP_TEMPLATE_VIS` and fixes a
bunch of missing annotations for RTTI when used across dylib boundaries.
`_LIBCPP_TEMPLATE_VIS` itself will be removed in a separate patch, since
it touches a lot of code.
This patch is a no-op for Clang. Only GCC is affected.
Commit: 2026873fb8a1f654aa920cd5ea8074e55053973b
https://github.com/llvm/llvm-project/commit/2026873fb8a1f654aa920cd5ea8074e55053973b
Author: David Peixotto <peix at meta.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Core/PluginManager.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
Add enable/disable api for SystemRuntime plugins (#133794)
This commit adds support for enabling and disabling plugins by name. The
changes are made generically in the `PluginInstances` class, but
currently we only expose the ability to SystemRuntime plugins. Other
plugins types can be added easily.
We had a few design goals for how disabled plugins should work
1. Plugins that are disabled should still be visible to the system. This
allows us to dynamically enable and disable plugins and report their
state to the user.
2. Plugin order should be stable across disable and enable changes. We
want avoid changing the order of plugin lookup. When a plugin is
re-enabled it should return to its original slot in the creation order.
3. Disabled plugins should not appear in PluginManager operations.
Clients should be able to assume that only enabled plugins will be
returned from the PluginManager.
For the implementation we modify the plugin instance to maintain a bool
of its enabled state. Existing clients external to the Instances class
expect to iterate over only enabled instance so we skip over disabed
instances in the query and snapshot apis. This way the client does not
have to manually check which instances are enabled.
Commit: 564e04b703dc5df062f862e32c00bf1a1716f96f
https://github.com/llvm/llvm-project/commit/564e04b703dc5df062f862e32c00bf1a1716f96f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
Log Message:
-----------
[flang][OpenMP] Use function symbol on DECLARE TARGET (#134107)
Consider:
```
function foo()
!$omp declare target(foo) ! This `foo` was a function-result symbol
...
end
```
When resolving symbols, for this case use the symbol corresponding to
the function instead of the symbol corresponding to the function result.
Currently, this will result in an error:
```
error: A variable that appears in a DECLARE TARGET directive must be
declared in the scope of a module or have the SAVE attribute, either
explicitly or implicitly
```
Commit: df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8
https://github.com/llvm/llvm-project/commit/df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
[InstCombine] Match scalable splats in m_ImmConstant (#132522)
#118806 fixed an infinite loop in FoldShiftByConstant that could occur
when the shift amount was a ConstantExpr.
However this meant that FoldShiftByConstant no longer kicked in for
scalable vectors because scalable splats are represented by
ConstantExprs.
This fixes it by allowing scalable splats of non-ConstantExprs in
m_ImmConstant, which also fixes a few other test cases where scalable
splats were being missed.
But I'm also hoping that UseConstantIntForScalableSplat will eventually
remove the need for this.
I noticed this when trying to reverse a combine on RISC-V in #132245,
and saw that the resulting vector and scalar forms were different.
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Commit: 2bee24632f38699f1af8fdf4daa5b28053c7ae5f
https://github.com/llvm/llvm-project/commit/2bee24632f38699f1af8fdf4daa5b28053c7ae5f
Author: Andrzej Warzyลski <andrzej.warzynski at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Interfaces/SideEffectInterfaceBase.td
Log Message:
-----------
[mlir][bugfix] Fix erroneous condition in `getEffectsOnResource` (#133638)
This patch corrects an invalid condition in `getEffectsOnResource` used
to identify relevant "resources":
```cpp
return it.getResource() != resource;
```
The current implementation assumes that only one instance of each
resource will exist, so comparing raw pointers is both safe and
sufficient. This assumption stems from constructs like:
```cpp
static DerivedResource *get() {
static DerivedResource instance;
return &instance;
}
```
i.e., resource instances returned via static singleton methods.
However, as discussed in
* https://github.com/llvm/llvm-project/issues/129216,
this assumption breaks in practice โ notably on macOS (Apple Silicon)
when built with:
* `-DBUILD_SHARED_LIBS=On`.
In such cases, multiple instances of the same logical resource may exist
across shared library boundaries, leading to incorrect behavior and
causing failures in tests like:
* test/Dialect/Transform/check-use-after-free.mlir
This patch replaces the pointer comparison with a comparison based on
resource identity:
```cpp
return it.getResource()->getResourceID() != resource->getResourceID();
```
This approach aligns better with the intent of `getEffectsOnResource`,
which is to:
```cpp
/// Collect all of the effect instances that operate on the provided
/// resource (...)
```
Fixes #129216
Commit: bb8a7a7349f9842e587cb43b2a81b3d46c1e70ef
https://github.com/llvm/llvm-project/commit/bb8a7a7349f9842e587cb43b2a81b3d46c1e70ef
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Parse/ParseOpenACC.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
Log Message:
-----------
[OpenACC] Implement 'pqr-list' has at least one 1 item.
OpenACC Github PR#499 defines the pqr-list as having at least 1 item. We
already handle that for all but 'wait', so this patch just does the work
to add it for 'wait', plus adds tests.
Commit: 554859c73688ec11786a060613989d1a333991bb
https://github.com/llvm/llvm-project/commit/554859c73688ec11786a060613989d1a333991bb
Author: Krzysztof Drewniak <krzysdrewniak at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[TTI] Make isLegalMasked{Load,Store} take an address space (#134006)
In order to facilitate targets that only support masked loads/stores
on certain address spaces (AMDGPU will support them in an upcoming
patch, but only for address space 7), add an AddressSpace parameter
to isLegalMaskedLoad and isLegalMaskedStore
Commit: 51d1c7288662ea801b07133fd2d22aff6bac50e2
https://github.com/llvm/llvm-project/commit/51d1c7288662ea801b07133fd2d22aff6bac50e2
Author: Abhinav Kumar <96587705+kr-2003 at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/test/src/__support/CPP/type_traits_test.cpp
Log Message:
-----------
[libc] Added support for fixed-points in ``is_signed`` and ``is_unsigned``. (#133371)
Fixes #133365
## Changes Done
- Changed the signed checking to
```cpp
struct is_signed : bool_constant<((is_fixed_point<T> || is_arithmetic_v<T>) && (T(-1) < T(0)))>
```
in ``/libc/src/__support/CPP/type_traits/is_signed.h``. Added check for
fixed-points.
- But, got to know that this will fail for ``unsigned _Fract`` or any
unsigned fixed-point because ``unsigned _Fract`` canโt represent -1 in
T(-1), while ``unsigned int`` can handle it via wrapping.
- That's why I explicity added ``is_signed`` check for ``unsigned``
fixed-points.
- Same changes to ``/libc/src/__support/CPP/type_traits/is_unsigned.h``.
- Added tests for ``is_signed`` and ``is_unsigned``.
Commit: a8585654c2be671d78206666223dae28fe3ac511
https://github.com/llvm/llvm-project/commit/a8585654c2be671d78206666223dae28fe3ac511
Author: George Burgess IV <george.burgess.iv at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/utils/revert_checker.py
Log Message:
-----------
[llvm][utils] skip revert-checking reverts across branches (#134108)
e2ba1b6ffde4ec607342b1b746d1b57f0f04390a references that it reverts a
commit that's not a parent of e2ba1b6ffde4ec607342b1b746d1b57f0f04390a.
Functionally, this can (and demonstrably does) work(*), but from the
standpoint of the revert checker, it's nonsense. Print a `logging.error`
when it's detected.
Tested by running the revert checker against a commit range that
includes the aforementioned commit; the logging.error was fired
appropriately.
(*) - the specifics here are:
- the _SHA_ that was referenced was on a non-main branch, but
- the commit from the non-main branch was merged into the non-main
branch from main
- ...so the _functional_ commit being reverted was originally landed on
main, but the _SHA_ referenced from main was from a branch that was cut
before the reverted-commit was landed on main
Commit: a1b0b4997e1744827ae8c066f677e416c0b6f16d
https://github.com/llvm/llvm-project/commit/a1b0b4997e1744827ae8c066f677e416c0b6f16d
Author: vporpo <vporpodas at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
Log Message:
-----------
[SandboxVec][NFC] Replace std::regex with llvm::Regex (#134110)
Commit: 4b67c53e206ea13963acb2452d681aa744344018
https://github.com/llvm/llvm-project/commit/4b67c53e206ea13963acb2452d681aa744344018
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Use recipe debug loc instead of instr DLs in more cases (NFC)
Update both VPInterleaveRecipe and VPReplicateRecipe codegen to use
debug location directly from the recipe, not the underlying instruction.
This removes another dependency on underlying instructions.
Commit: 38937ac24cc91653c2984e112d548955cb442484
https://github.com/llvm/llvm-project/commit/38937ac24cc91653c2984e112d548955cb442484
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Check line and column for errors in rv(32/64)zcmp-invalid.s. NFC
Same for the Xqccmp version.
Commit: 066787b9bdc4ec5ae7e365b651f37840fd5bb2b5
https://github.com/llvm/llvm-project/commit/066787b9bdc4ec5ae7e365b651f37840fd5bb2b5
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
M llvm/test/CodeGen/AMDGPU/true16-fold.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] fold clamp update for true16 (#128919)
Check through COPY for possible clamp folding for v_mad_mixhi_f16 isel
Commit: db21ae7803333032e466ead0c2a29c6760739936
https://github.com/llvm/llvm-project/commit/db21ae7803333032e466ead0c2a29c6760739936
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 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] Support any_sync and ballot_sync (#134135)
Commit: 42b3f91fd6c850492f6f899d6a0f12ccb948aa1a
https://github.com/llvm/llvm-project/commit/42b3f91fd6c850492f6f899d6a0f12ccb948aa1a
Author: Nirvedh Meshram <96096277+nirvedhmeshram at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir] Vectorize tensor.pad with low padding for unit dims (#133808)
We currently do not have masked vectorization support for tenor.pad with
low padding. However, we can allow this in the special case where the
result dimension after padding is a unit dim. The reason is when we
actually have a low pad on a unit dim, the input size of that dimension
will be (or should be for correct IR) dynamically zero and hence we will
create a zero mask which is correct. If the low pad is dynamically zero
then the lowering is correct as well.
---------
Signed-off-by: Nirvedh <nirvedh at gmail.com>
Commit: 81601cf3ab5dd09635c0b3025004c3cfc146498d
https://github.com/llvm/llvm-project/commit/81601cf3ab5dd09635c0b3025004c3cfc146498d
Author: Chris B <chris.bieneman at me.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[Docs] Clarify that `reassoc` isn't just for reassociation (#133168)
The `reassoc` fast-math flag allows a much wider array of algebraic
transformations than just strictly reassociations. In some cases it does
commutations, distributions, and folds away redundant inverse
operations...
While it might make sense to fix the flag naming at some point, in the
meantime we should at least have the docs be accurate to avoid
confusion.
Commit: 380defd4b3cd980d8b2031136a02764182eaa85b
https://github.com/llvm/llvm-project/commit/380defd4b3cd980d8b2031136a02764182eaa85b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[VPlan] Update VPInterleaveRecipe to take debug loc directly as arg (NFC)
Commit: 76fa9530c9ac7f81a49b840556f51f4838efbfe1
https://github.com/llvm/llvm-project/commit/76fa9530c9ac7f81a49b840556f51f4838efbfe1
Author: Theo de Magalhaes <theodemagalhaes at icloud.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
A clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
A clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
[clang] add support for -Wpadded on Windows (#130182)
Implements the -Wpadded warning for --target=x86_64-windows-msvc etc.
Fixes #61702 .
Commit: acc6bcdc504ad2e8c09a628dc18de0067f7344b8
https://github.com/llvm/llvm-project/commit/acc6bcdc504ad2e8c09a628dc18de0067f7344b8
Author: Sami Tolvanen <samitolvanen at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
A clang/test/CodeGen/patchable-function-entry-section.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Sema/patchable-function-entry-attr.c
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/X86/patchable-function-entry.ll
M llvm/test/Verifier/invalid-patchable-function-entry.ll
Log Message:
-----------
Support alternative sections for patchable function entries (#131230)
With -fpatchable-function-entry (or the patchable_function_entry
function attribute), we emit records of patchable entry locations to the
__patchable_function_entries section. Add an additional parameter to the
command line option that allows one to specify a different default
section name for the records, and an identical parameter to the function
attribute that allows one to override the section used.
The main use case for this change is the Linux kernel using prefix NOPs
for ftrace, and thus depending on__patchable_function_entries to locate
traceable functions. Functions that are not traceable currently disable
entry NOPs using the function attribute, but this creates a
compatibility issue with -fsanitize=kcfi, which expects all indirectly
callable functions to have a type hash prefix at the same offset from
the function entry.
Adding a section parameter would allow the kernel to distinguish between
traceable and non-traceable functions by adding entry records to
separate sections while maintaining a stable function prefix layout for
all functions. LKML discussion:
https://lore.kernel.org/lkml/Y1QEzk%2FA41PKLEPe@hirez.programming.kicks-ass.net/
Commit: 8100bd58a3fc87576bf6d57f79e6bd70e10b83d3
https://github.com/llvm/llvm-project/commit/8100bd58a3fc87576bf6d57f79e6bd70e10b83d3
Author: Hansang Bae <hansang.bae at intel.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M openmp/runtime/src/dllexports
M openmp/runtime/src/include/omp.h.var
M openmp/runtime/src/include/omp_lib.F90.var
M openmp/runtime/src/include/omp_lib.h.var
M openmp/runtime/src/kmp.h
M openmp/runtime/src/kmp_alloc.cpp
M openmp/runtime/src/kmp_ftn_entry.h
M openmp/runtime/src/kmp_ftn_os.h
M openmp/runtime/src/kmp_global.cpp
M openmp/runtime/src/kmp_runtime.cpp
M openmp/runtime/src/kmp_stub.cpp
A openmp/runtime/test/api/omp60_memory_routines.c
Log Message:
-----------
[OpenMP] 6.0 (TR11) Memory Management Update (#97106)
TR11 introduced changes to support target memory management in a unified
way by defining a series of API routines and additional traits. Host
runtime is oblivious to how actual memory resources are mapped when
using the new API routines, so it can only support how the composed
memory space is maintained, and the offload backend must handle which
memory resources are actually used to allocate memory from the memory
space.
Here is summary of the implementation.
* Implemented 12 API routines to get/mainpulate memory space/allocator.
* Memory space composed with a list of devices has a state with resource
description, and runtime is responsible for maintaining the allocated
memory space objects.
* Defined interface with offload runtime to access memory resource list,
and to redirect calls to omp_alloc/omp_free since it requires
backend-specific information.
* Value of omp_default_mem_space changed from 0 to 99, and
omp_null_mem_space took the value 0 as defined in the language.
* New allocator traits were introduced, but how to use them is up to the
offload backend.
* Added basic tests for the new API routines.
Commit: 93d3775da8810e1542873b1cdcec2ea142704561
https://github.com/llvm/llvm-project/commit/93d3775da8810e1542873b1cdcec2ea142704561
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
Log Message:
-----------
[lldb] Fix tagged-pointer info address parsing (#134123)
Change `objc tagged-pointer info` to call
`OptionArgParser::ToRawAddress`.
Previously `ToAddress` was used, but it calls `FixCodeAddress`, which
can erroneously mutate the bits of a tagged pointer.
Commit: 990a086d9da0bc2fd53a6a4c95ecbbe23a297a83
https://github.com/llvm/llvm-project/commit/990a086d9da0bc2fd53a6a4c95ecbbe23a297a83
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/__support/CPP/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 51d1c7288662ea801b07133fd2d22aff6bac50e2
Commit: f302f35526553abcb46dab278c4494c3d01deb45
https://github.com/llvm/llvm-project/commit/f302f35526553abcb46dab278c4494c3d01deb45
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/TreeTransform.h
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
Log Message:
-----------
[clang] Track final substitution for Subst* AST nodes (#132748)
Commit: dedb632b833f14ef28c6f8a7f5e8983c1be60fa9
https://github.com/llvm/llvm-project/commit/dedb632b833f14ef28c6f8a7f5e8983c1be60fa9
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-options.hip
Log Message:
-----------
[HIP] Claim `--offload-compress` for `-M` (#133456)
Cmake automatically generates dependency files with all compilation
options provided by users. When users use `--offload-compress` for HIP
compilation, it causes warnings when cmake generates dependency files.
Claim this option to suppress warnings.
Commit: 3f7ca8826776f32526e948b89816db492435f2e2
https://github.com/llvm/llvm-project/commit/3f7ca8826776f32526e948b89816db492435f2e2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
Log Message:
-----------
[lldb-dap] Add progress events to the packet list (#134157)
Before #134048, TestDAP_Progress relied on wait_for_event to block until
the progressEnd came in. However, progress events were not added to the
packet list, so this call would always time out. This PR makes it so
that packets are added to the packet list, and you can block on them.
Commit: c57b9c233a87f37e034445596ed09260cc6b23f5
https://github.com/llvm/llvm-project/commit/c57b9c233a87f37e034445596ed09260cc6b23f5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
Log Message:
-----------
[CIR] Generate the nsw flag correctly for unary ops (#133815)
A previous checkin used a workaround to generate the nsw flag where
needed for unary ops. This change upstreams a subsequent change that was
made in the incubator to generate the flag correctly.
Commit: 1edb6b0af1c47f88aa5c230a1a2b769eeb3c30aa
https://github.com/llvm/llvm-project/commit/1edb6b0af1c47f88aa5c230a1a2b769eeb3c30aa
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Fix crash in parseZcmpStackAdj if token is not an integer.
Commit: 40a0e3430442c7ec72e84063ea4b679700d4c3d8
https://github.com/llvm/llvm-project/commit/40a0e3430442c7ec72e84063ea4b679700d4c3d8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Use location of negative sign if present for error in parseZcmpStackAdj
As far as the user is concerned the negative sign and the number
are a single value so the error should point to the beginning.
Commit: be3abfc00f37d07c641b3e2f93eef5d1a446af8e
https://github.com/llvm/llvm-project/commit/be3abfc00f37d07c641b3e2f93eef5d1a446af8e
Author: Jeremy Day <jeremy at thebrowser.company>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
Log Message:
-----------
[lldb] Clear thread name container before writing UTF8 bytes (#134150)
`llvm::convertUTF16ToUTF8String` opens with an assertion that the output
container is empty:
https://github.com/llvm/llvm-project/blob/3bdf9a08804a5b424fd32fef3b0089f3a6db839d/llvm/lib/Support/ConvertUTFWrapper.cpp#L83-L84
It's not clear to me why this function requires the output container to
be empty instead of just overwriting it, but the callsite in
`TargetThreadWindows::GetName` may reuse the container without clearing
it out first, resulting in an assertion failure:
```
# Child-SP RetAddr Call Site
00 000000d2`44b8ea48 00007ff8`beefc12e ntdll!NtTerminateProcess+0x14
01 000000d2`44b8ea50 00007ff8`bcf518ab ntdll!RtlExitUserProcess+0x11e
02 000000d2`44b8ea80 00007ff8`bc0e0143 KERNEL32!ExitProcessImplementation+0xb
03 000000d2`44b8eab0 00007ff8`bc0e4c49 ucrtbase!common_exit+0xc7
04 000000d2`44b8eb10 00007ff8`bc102ae6 ucrtbase!abort+0x69
05 000000d2`44b8eb40 00007ff8`bc102cc1 ucrtbase!common_assert_to_stderr<wchar_t>+0x6e
06 000000d2`44b8eb80 00007fff`b8e27a80 ucrtbase!wassert+0x71
07 000000d2`44b8ebb0 00007fff`b8b821e1 liblldb!llvm::convertUTF16ToUTF8String+0x30 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\llvm\lib\Support\ConvertUTFWrapper.cpp @ 88]
08 000000d2`44b8ec30 00007fff`b83e9aa2 liblldb!lldb_private::TargetThreadWindows::GetName+0x1b1 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\lldb\source\Plugins\Process\Windows\Common\TargetThreadWindows.cpp @ 198]
09 000000d2`44b8eca0 00007ff7`2a3c3c14 liblldb!lldb::SBThread::GetName+0x102 [D:\r\_work\swift-build\swift-build\SourceCache\llvm-project\lldb\source\API\SBThread.cpp @ 432]
0a 000000d2`44b8ed70 00007ff7`2a3a5ac6 lldb_dap!lldb_dap::CreateThread+0x1f4 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\JSONUtils.cpp @ 877]
0b 000000d2`44b8ef10 00007ff7`2a3b0ab5 lldb_dap!`anonymous namespace'::request_threads+0xa6 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\lldb-dap.cpp @ 3906]
0c 000000d2`44b8f010 00007ff7`2a3b0fe8 lldb_dap!lldb_dap::DAP::HandleObject+0x1c5 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\DAP.cpp @ 796]
0d 000000d2`44b8f130 00007ff7`2a3a8b96 lldb_dap!lldb_dap::DAP::Loop+0x78 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\DAP.cpp @ 812]
0e 000000d2`44b8f1d0 00007ff7`2a4b5fbc lldb_dap!main+0x1096 [S:\SourceCache\llvm-project\lldb\tools\lldb-dap\lldb-dap.cpp @ 5319]
0f (Inline Function) --------`-------- lldb_dap!invoke_main+0x22 [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
10 000000d2`44b8fb80 00007ff8`bcf3e8d7 lldb_dap!__scrt_common_main_seh+0x10c [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
11 000000d2`44b8fbc0 00007ff8`beefbf6c KERNEL32!BaseThreadInitThunk+0x17
12 000000d2`44b8fbf0 00000000`00000000 ntdll!RtlUserThreadStart+0x2c
```
This stack trace was captured from the lldb distributed in the Swift
toolchain. The issue is easy to reproduce by resuming from a breakpoint
twice in VS Code.
I've verified that clearing out the container here fixes the assertion
failure.
Commit: ffed17624eb14a52c1db890e4e8e195dbe5f19b6
https://github.com/llvm/llvm-project/commit/ffed17624eb14a52c1db890e4e8e195dbe5f19b6
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
M llvm/test/MC/RISCV/rv64xqccmp-invalid.s
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Correct the error location for the X26 check in parseRegListCommon.
We should point to the start of the reglist not the closing parenthesis.
I also moved the check after we finishing parsing the closing brace.
The diagnostic mentions '{ra, s0-s10} or {x1, x8-x9, x18-x26}' so we
should be sure that's what we parsed.
Commit: f68a5185d0959929bd0b0249a8128d0720315dab
https://github.com/llvm/llvm-project/commit/f68a5185d0959929bd0b0249a8128d0720315dab
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
Allow this test to pass when the source is on a read-only filesystem (#134179)
llc attempts to create an empty file in the current directory, but it
can't do that on a read-only file system. Send that empty-output to
stdout, which prevents this failure.
Commit: 7559c64c5e97d9f33563f1c6afcfd7f7aac01046
https://github.com/llvm/llvm-project/commit/7559c64c5e97d9f33563f1c6afcfd7f7aac01046
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/test/tools/llvm-reduce/reduce-functions-blockaddress-wrong-function.ll
Log Message:
-----------
CloneModule: Map global initializers after mapping the function (#134082)
Commit: b55bab229228218341e2f24fc8529c7aaab51e2f
https://github.com/llvm/llvm-project/commit/b55bab229228218341e2f24fc8529c7aaab51e2f
Author: David Peixotto <peix at meta.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/unittests/Core/PluginManagerTest.cpp
Log Message:
-----------
[lldb] Fix plugin manager test failure on windows (#134173)
This is an attempt to fix a test failure from #133794 when running on
windows builds. I suspect we are running into a case where the
[ICF](https://learn.microsoft.com/en-us/cpp/build/reference/opt-optimizations?view=msvc-170)
optimization kicks in and combines the CreateSystemRuntimePlugin*
functions into a single address. This means that we cannot uniquely
unregister the plugin based on its create function address.
The fix is have each create function return a different (bogus) value.
Commit: e5809f01720b9d016f940bc132278f2f2adf0665
https://github.com/llvm/llvm-project/commit/e5809f01720b9d016f940bc132278f2f2adf0665
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/tools/CMakeLists.txt
Log Message:
-----------
[LLVM] Only build the GPU loader utility if it has LLVM-libc (#134141)
Summary:
There were some discussions about this being included by default. I need
to fix this up and codify the use of LLVM libc inside of LLVM. For now,
just turn it off unless the user requested the `libc` GPU stuff. This
matches the old behavior.
Commit: 749c20b3e0b88792c10d7709874f3ae374e8170e
https://github.com/llvm/llvm-project/commit/749c20b3e0b88792c10d7709874f3ae374e8170e
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/utils/lit/tests/Inputs/test-data/dummy_format.py
M llvm/utils/lit/tests/Inputs/test-data/metrics.ini
M llvm/utils/lit/tests/test-data.py
M llvm/utils/lit/tests/test-output.py
Log Message:
-----------
[LIT] Add a test for lit.Test.toMetricValue. NFC
Commit: fb7135ec5239a45b43fae6206f7409fd77c50b9f
https://github.com/llvm/llvm-project/commit/fb7135ec5239a45b43fae6206f7409fd77c50b9f
Author: Ankur Ahir <69181589+Ankur-0429 at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
Log Message:
-----------
[Clang] fixed clang frontend crash with friend class declaration and overload == (#133878)
Commit: 02467f9e2100d451b52bc63abc9c94829d7b83f4
https://github.com/llvm/llvm-project/commit/02467f9e2100d451b52bc63abc9c94829d7b83f4
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
A llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Option to move a whole tree to its own module (#133992)
Modules may contain a mix of functions that participate or don't participate in callgraphs covered by a contextual profile. We currently have been importing all the functions under a context root in the module defining that root, but if the other functions there are covered by flat profiles, the result is difficult to reason about.
This patch allows moving everything under a context root (and that root) in its own module. For now, we expect a module with a filename matching the GUID of the function be present in the set of modules known by the linker. This mechanism can be improved in a later patch.
Subsequent patches will handle implementing "move" instead of "import" semantics for the root function (because we want to make sure only one version of the root exists - so the optimizations we perform are actually the ones being observed at runtime).
Commit: d59b2c4def9fe187317c20f96cc76eda09bc68a0
https://github.com/llvm/llvm-project/commit/d59b2c4def9fe187317c20f96cc76eda09bc68a0
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
Log Message:
-----------
[ctxprof][nfc] Make `computeImportForFunction` a member of `ModuleImportsManager` (#134011)
Commit: ff0c2fbd8eb66688746476a7ec850fb5afb4d588
https://github.com/llvm/llvm-project/commit/ff0c2fbd8eb66688746476a7ec850fb5afb4d588
Author: tangaac <tangyan01 at loongson.cn>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/test/CodeGen/LoongArch/lasx/ir-instruction/absd.ll
A llvm/test/CodeGen/LoongArch/lsx/ir-instruction/absd.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for vector absolute difference (#132898)
Commit: 18c43d01fc61648369fef50999e7df62b3ec292f
https://github.com/llvm/llvm-project/commit/18c43d01fc61648369fef50999e7df62b3ec292f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Add a -v/--version command line argument (#134114)
Add a -v/--version command line argument to print the version of both
the lldb-dap binary and the liblldb it's linked against.
This is motivated by me trying to figure out which lldb-dap I had in my
PATH.
Commit: 94dbe5e405a1e8c9ed1462947e2d5a8e45113d47
https://github.com/llvm/llvm-project/commit/94dbe5e405a1e8c9ed1462947e2d5a8e45113d47
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra whitespace in the PadOp example (#134113)
Trivial cleanup change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 4fe0d742752c55d5d10b48620aab30fd81db6645
https://github.com/llvm/llvm-project/commit/4fe0d742752c55d5d10b48620aab30fd81db6645
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-02 (Wed, 02 Apr 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 (#134039)
Fix #133873
Commit: 4986a7964858979d00f0c9a98d13db555d8a6f0d
https://github.com/llvm/llvm-project/commit/4986a7964858979d00f0c9a98d13db555d8a6f0d
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/Common/PredicateExpander.cpp
Log Message:
-----------
[TableGen] Emit `llvm::is_contained` for `CheckOpcode` predicate (#134057)
When the list is large, using `llvm::is_contained` is of higher
performance than a sequence of comparisons. When the list is small,
the `llvm::is_contained` can be inlined and unrolled, which has the
same effect as using a sequence of comparisons.
And the generated code is more readable.
Commit: dcc2182bce3d2ef0e0a991664c51b4b3bfcf7197
https://github.com/llvm/llvm-project/commit/dcc2182bce3d2ef0e0a991664c51b4b3bfcf7197
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Fix a lambda pattern comparison mismatch after ecc7e6ce4 (#133863)
In ecc7e6ce4, we tried to inspect the `LambdaScopeInfo` on stack to
recover the instantiating lambda captures. However, there was a mismatch
in how we compared the pattern declarations of lambdas: the constraint
instantiation used a tailored `getPatternFunctionDecl()` which is
localized in SemaLambda that finds the very primal template declaration
of a lambda, while `FunctionDecl::getTemplateInstantiationPattern` finds
the latest template pattern of a lambda. This difference causes issues
when lambdas are nested, as we always want the primary template
declaration.
This corrects that by moving `Sema::addInstantiatedCapturesToScope` from
SemaConcept to SemaLambda, allowing it to use the localized version of
`getPatternFunctionDecl`.
It is also worth exploring to coalesce the implementation of
`getPatternFunctionDecl` with
`FunctionDecl::getTemplateInstantiationPattern`. But Iโm leaving that
for the future, as Iโd like to backport this fix (ecc7e6ce4 made the
issue more visible in clang 20, sorry!), and changing Semaโs ABI would
not be suitable in that regards. Hence, no release note.
Fixes https://github.com/llvm/llvm-project/issues/133719
Commit: 6a46c6c865270ceb01bcaef4a2e4c8df56a8800a
https://github.com/llvm/llvm-project/commit/6a46c6c865270ceb01bcaef4a2e4c8df56a8800a
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Log Message:
-----------
Ensure KnownBits passed when calculating from range md has right size (#132985)
KnownBits passed to computeKnownBitsFromRangeMetadata must have the same
bit width as the range metadata bit width. Otherwise the calculated
results will be incorrect.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: 4e40c7c4bd66d98f529a807dbf410dc46444f4ca
https://github.com/llvm/llvm-project/commit/4e40c7c4bd66d98f529a807dbf410dc46444f4ca
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
[lldb][debugserver] Save and restore the SVE/SME register state (#134184)
debugserver isn't saving and restoring the SVE/SME register state around
inferior function calls.
Making arbitrary function calls while in Streaming SVE mode is generally
a poor idea because a NEON instruction can be hit and crash the
expression execution, which is how I missed this, but they should be
handled correctly if the user knows it is safe to do.
rdar://146886210
Commit: 3140d51cf3984e83f6480efc6a6f06e4567e7486
https://github.com/llvm/llvm-project/commit/3140d51cf3984e83f6480efc6a6f06e4567e7486
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/tools/llvm-reduce/bitcode-uselistorder.ll
Log Message:
-----------
llvm-reduce: Remove unsupported from bitcode uselistorder test (#134185)
This was disabled due to flakiness but I'm currently unable to
reproduce.
I'm nervous the original issue still exists. However, I downgraded the
tripped
assert in 8c18c25b1b22ea710edb40a4f167a6a8bfe6ff9d to a warning since
the same
assert can trigger for illegitimate reasons.
Fixes #64157
Commit: e3c0565b74b1f5122ab4dbabc3e941924e116330
https://github.com/llvm/llvm-project/commit/e3c0565b74b1f5122ab4dbabc3e941924e116330
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
Log Message:
-----------
Reapply "[cmake] Refactor clang unittest cmake" (#134195)
This reapplies 5ffd9bdb50b57 (#133545) with fixes.
The BUILD_SHARED_LIBS=ON build was fixed by adding missing LLVM
dependencies to the InterpTests binary in
unittests/AST/ByteCode/CMakeLists.txt .
Commit: b8d8405238387ddd92450d6a3ad84350254e76a3
https://github.com/llvm/llvm-project/commit/b8d8405238387ddd92450d6a3ad84350254e76a3
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/source/API/SBModule.cpp
Log Message:
-----------
[LLDB] Expose checking if the symbol file exists/is loaded via SBModule (#134163)
The motivation for this patch is that in Statistics.cpp we [check to see
if the module symfile is
loaded](https://github.com/llvm/llvm-project/blob/990a086d9da0bc2fd53a6a4c95ecbbe23a297a83/lldb/source/Target/Statistics.cpp#L353C60-L353C75)
to calculate how much debug info has been loaded. I have an external
utility that only wants to look at the loaded debug info, which isn't
exposed by the SBAPI.
Commit: 499827318971a7d540a2b928f43d782e63762a47
https://github.com/llvm/llvm-project/commit/499827318971a7d540a2b928f43d782e63762a47
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/insn_xqci-invalid.s
A llvm/test/MC/RISCV/insn_xqci.s
M llvm/test/MC/RISCV/rv64xtheadmemidx-invalid.s
Log Message:
-----------
Reland [RISCV] Add Xqci Insn Formats (#134134)
This adds the following instruction formats from the Xqci Spec:
- QC.EAI
- QC.EI
- QC.EB
- QC.EJ
- QC.ES
The update to the THead test is because the largest number of operands
for a valid instruction has been bumped by this change.
This reverts commit 68fb7a5a1d203dde7badf67031bdd9eb650eef5d. This
relands commit 0cfabd37df9940346f3bf8a4d74c19e1f48a00e9.
Commit: 3ea7902494643517c519142002e42a65e81f40d0
https://github.com/llvm/llvm-project/commit/3ea7902494643517c519142002e42a65e81f40d0
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
Log Message:
-----------
[RISCV] Check S0 register list check for qc.cm.pushfp to after we parsed the whole register list. (#134180)
This is more of a semantic check. The diagnostic location to has been
changed to point at the register list start instead of the
closing brace or whatever character might be there instead of a brace
if its malformed.
Commit: f4048268427f7a5dab4dea9b2d0fd908b8660644
https://github.com/llvm/llvm-project/commit/f4048268427f7a5dab4dea9b2d0fd908b8660644
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv64zcmp-invalid.s
Log Message:
-----------
[RISCV] Don't allow '-' after 'ra' in Zcmp/Xqccmp register list. (#134182)
Move the parsing of '-' under the check that we parsed a comma.
Unfortunately, this leads to a poor error, but I still have more known
issues in this code and may end up with an overall restructuring and
want to think about wording.
Commit: 7f2abe8fd10e611696cbc637e715160851b1902b
https://github.com/llvm/llvm-project/commit/7f2abe8fd10e611696cbc637e715160851b1902b
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Local.cpp
R llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-hoist.ll
R llvm/test/Transforms/SimplifyCFG/merge-direct-call-branch-weights-preserve-sink.ll
Log Message:
-----------
Revert "[Metadata] Preserve MD_prof when merging instructions when one is missing." (#134200)
Reverts llvm/llvm-project#132433
I suspect this change caused a failure in the bolt build bot.
https://lab.llvm.org/buildbot/#/builders/113/builds/6621
```
!9185 = !{!"branch_weights", i32 3912, i32 802}
Wrong number of operands
!9185 = !{!"branch_weights", i32 3912, i32 802}
fatal error: error in backend: Broken module found, compilation aborted!
```
Commit: a19c018379a1d08eceb5db533a19a6bf37423975
https://github.com/llvm/llvm-project/commit/a19c018379a1d08eceb5db533a19a6bf37423975
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-02 (Wed, 02 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
Revert "[lldb][debugserver] Save and restore the SVE/SME register state (#134184)"
This reverts commit 4e40c7c4bd66d98f529a807dbf410dc46444f4ca.
arm64 CI is getting a failure in
lldb-api.tools/lldb-server.TestGdbRemoteRegisterState.py
with this commit, need to investigate and re-land.
Commit: b384d6d6ccc8f4452cd7086061c657ce76b41224
https://github.com/llvm/llvm-project/commit/b384d6d6ccc8f4452cd7086061c657ce76b41224
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[CodeGen] Don't include CGDebugInfo.h in CodeGenFunction.h (NFC) (#134100)
This is an expensive header, only include it where needed. Move some
functions out of line to achieve that.
This reduces time to build clang by ~0.5% in terms of instructions
retired.
Commit: 7e65944292278cc245e36cc6ca971654d584012d
https://github.com/llvm/llvm-project/commit/7e65944292278cc245e36cc6ca971654d584012d
Author: Hua Tian <akiratian at tencent.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/lib/CodeGen/ModuloSchedule.cpp
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
Log Message:
-----------
[llvm][CodeGen] avoid repeated interval calculation in window scheduler (#132352)
Some new registers are reused when replacing some old ones in
certain use case of ModuloScheduleExpander. It is necessary to
avoid repeated interval calculations for these registers.
Commit: 3295970d846b0d820b863f9eeac559b80239297e
https://github.com/llvm/llvm-project/commit/3295970d846b0d820b863f9eeac559b80239297e
Author: Iris <0.0 at owo.li>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/sinh-cosh-intrinsics.ll
Log Message:
-----------
[ConstantFolding] Add support for `sinh` and `cosh` intrinsics in constant folding (#132671)
Closes #132503.
Commit: b6c0ce0bb67d822fac1e3b42461f66c261c1157c
https://github.com/llvm/llvm-project/commit/b6c0ce0bb67d822fac1e3b42461f66c261c1157c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[IR][NFC] Use `SwitchInst::defaultDestUnreachable` (#134199)
Commit: 91f3965be43ccb5291fcb5578b62648a1ece17bc
https://github.com/llvm/llvm-project/commit/91f3965be43ccb5291fcb5578b62648a1ece17bc
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Fix the vectorizable check for a loop (#133667)
In the profitability check for vectorization, the dependency matrix was
not handled correctly. This can result to make a wrong decision: It may
say "this loop can be vectorized" when in fact it cannot. The root cause
of this is that the check process early returns when it finds '=' or 'I'
in the dependency matrix. To make sure that we can actually vectorize
the loop, we need to check all the rows of the matrix. This patch fixes
the process of checking whether we can vectorize the loop or not. Now it
won't make a wrong decision for a loop that cannot be vectorized.
Related: #131130
Commit: 041e84261a502a28401813bf55aa778ee0bbcdeb
https://github.com/llvm/llvm-project/commit/041e84261a502a28401813bf55aa778ee0bbcdeb
Author: Juan Manuel Martinez Caamaรฑo <jmartinezcaamao at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
Log Message:
-----------
[Clang][AMDGPU] Expose buffer load lds as a clang builtin (#132048)
CK is using either inline assembly or inline LLVM-IR builtins to
generate buffer_load_dword lds instructions.
This patch exposes this instruction as a Clang builtin available on gfx9 and gfx10.
Related to SWDEV-519702 and SWDEV-518861
Commit: 73e1710a4d5629cce5aaebc01cab1f76e3de5c84
https://github.com/llvm/llvm-project/commit/73e1710a4d5629cce5aaebc01cab1f76e3de5c84
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
Log Message:
-----------
[SimplifyCFG] Remove unused variable. NFC. (#134211)
Commit: e1aaee7ea218f1d89646fa1f43bb4c94c27808b5
https://github.com/llvm/llvm-project/commit/e1aaee7ea218f1d89646fa1f43bb4c94c27808b5
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Serialization/ASTReader.h
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
Log Message:
-----------
[modules] Handle friend function that was a definition but became only a declaration during AST deserialization (#132214)
Fix for regression #130917, changes in #111992 were too broad. This change reduces scope of previous fix. Added `ExternalASTSource::wasThisDeclarationADefinition` to detect cases when FunctionDecl lost body due to declaration merges.
Commit: 6333fa5160fbde4bd2cf6afe8856695c13ab621f
https://github.com/llvm/llvm-project/commit/6333fa5160fbde4bd2cf6afe8856695c13ab621f
Author: Carlos Galvez <carlosgalvezp at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
Log Message:
-----------
[clang-tidy] Fix broken HeaderFilterRegex when read from config file (#133582)
PR https://github.com/llvm/llvm-project/pull/91400 broke the usage of
HeaderFilterRegex via config file, because it is now created at a
different point in the execution and leads to a different value.
The result of that is that using HeaderFilterRegex only in the config
file does NOT work, in other words clang-tidy stops triggering warnings
on header files, thereby losing a lot of coverage.
This patch reverts the logic so that the header filter is created upon
calling the getHeaderFilter() function.
Additionally, this patch adds 2 unit tests to prevent regressions in the
future:
- One of them, "simple", tests the most basic use case with a single
top-level .clang-tidy file.
- The second one, "inheritance", demonstrates that the subfolder only
gets warnings from headers within it, and not from parent headers.
Fixes #118009
Fixes #121969
Fixes #133453
Co-authored-by: Carlos Gรกlvez <carlos.galvez at zenseact.com>
Commit: edc22c64e527171041876f26a491bb1d03d905d5
https://github.com/llvm/llvm-project/commit/edc22c64e527171041876f26a491bb1d03d905d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - only handle VTRUNC nodes with matching src/dst sizes (#134161)
Cleanup work for #133947 - we need to handle VTRUNC nodes with large
source vectors directly to allow us to widen the size of the shuffle
combine
We currently discard these results in combineX86ShufflesRecursively
anyhow as we don't allow inputs from getTargetShuffleInputs to be larger
than the shuffle value type
Commit: 7baa7edc00c5c92e2d17bae760db2e6df97dcec6
https://github.com/llvm/llvm-project/commit/7baa7edc00c5c92e2d17bae760db2e6df97dcec6
Author: Romaric Jodin <rjodin at chromium.org>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
Log Message:
-----------
[libclc]: clspv: add a dummy implememtation for mul_hi (#134094)
clspv uses a better implementation that is not using a bigger side when
not available.
Add a dummy implementation for mul_hi to avoid to override the
implementation of clspv with the one in libclc.
Commit: 6ec66a2292a7321811700ce455cf404bdaa67fc0
https://github.com/llvm/llvm-project/commit/6ec66a2292a7321811700ce455cf404bdaa67fc0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Move VPERMV3(X,M,Y) -> VPERMV(M,CONCAT(X,Y)) fold after general VPERMV3 canonicalization
Pulled out of #133923 - this prevents regressions with SimplifyDemandedVectorEltsForTargetNode exposing VPERMV3(X,M,X) repeated operand patterns which were getting concatenated to wider VPERMV nodes before simpler canonicalizations could clean them up.
Commit: 6f324bd39b98659c81aae02595cee1b4c92db8e9
https://github.com/llvm/llvm-project/commit/6f324bd39b98659c81aae02595cee1b4c92db8e9
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Remove Convolution Type Verifiers (#134077)
Remove the test in the convolution verifier that checks the input and
output element types of convolution operations conform to the
constraints imposed by the TOSA 1.0 specification.
These checks are too strict for users of the TOSA dialect who wish to
allow more types than those allowed by the spec and provide
compatibility issues with earlier TOSA implementation which allowed more
type combinations.
Users who do wish to constrain the convolution types combination to only
those allowed by the TOSA 1.0 spec should run the TOSA validation pass
which already performs these checks.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 094904303d50e0ab14bc5f2586a602f79af95953
https://github.com/llvm/llvm-project/commit/094904303d50e0ab14bc5f2586a602f79af95953
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
Revert "[lldb] Return *const* UnwindPlan pointers from FuncUnwinders (#133247)"
This reverts commit d7afafdbc464e65c56a0a1d77bad426aa7538306.
Caused remote Linux to Linux buildbot failure
https://lab.llvm.org/buildbot/#/builders/195/builds/7046.
Commit: 662d385c7b07fc6aba51e73a09c254f551ab93ab
https://github.com/llvm/llvm-project/commit/662d385c7b07fc6aba51e73a09c254f551ab93ab
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb/telemetry] Report exit status only once (#134078)
SetExitStatus can be called the second time when we reap the debug
server process. This shouldn't be interesting as at that point, we've
already told everyone that the process has exited.
I believe/hope this will also help with sporadic shutdown crashes that
have cropped up recently. They happen because the debug server is
monitored from a detached thread, so this code can be called after main
returns (and starts destroying everything). This isn't a real fix for
that though, as the situation can still happen (it's just that it
usually happens after the exit status has already been set). I think the
real fix for that is to make sure these threads terminate before we
start shutting everything down.
Commit: 2e7ed78cff0ad3e3535443ce8c0c3c0e0925ff73
https://github.com/llvm/llvm-project/commit/2e7ed78cff0ad3e3535443ce8c0c3c0e0925ff73
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVNonUniformOps.td
M mlir/lib/Dialect/SPIRV/IR/GroupOps.cpp
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
Log Message:
-----------
[mlir][spirv] Add instruction OpGroupNonUniformRotateKHR (#133428)
Add an instruction under the extension SPV_KHR_subgroup_rotate.
The specification for the extension is here:
https://github.khronos.org/SPIRV-Registry/extensions/KHR/SPV_KHR_subgroup_rotate.html
Commit: bf516098fb7c7d428cae03296b92766467f76c9e
https://github.com/llvm/llvm-project/commit/bf516098fb7c7d428cae03296b92766467f76c9e
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 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/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.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] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded (#133923)
With AVX512VL targets, use 128/256-bit VPERMV/VPERMV3 nodes when we only need the lower elements.
Commit: ecc35456d79aac3fb85fe95e30cdaaca916e8722
https://github.com/llvm/llvm-project/commit/ecc35456d79aac3fb85fe95e30cdaaca916e8722
Author: Camsyn <camsyn at foxmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp
Log Message:
-----------
[Utils] Fix incorrect LCSSA PHI nodes when splitting critical edges with MergeIdenticalEdges (#131744)
This PR fixes incorrect LCSSA PHI node generation when splitting
critical edges with both
`PreserveLCSSA` and `MergeIdenticalEdges` enabled. The bug caused PHI
nodes in the split block
to miss predecessors when multiple identical edges were merged.
Commit: 61907ebd764afe75aa7134627f41827e6893d6d0
https://github.com/llvm/llvm-project/commit/61907ebd764afe75aa7134627f41827e6893d6d0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGBuilder.h
Log Message:
-----------
[Clang][CodeGen] Do not use the GEP result to infer offset and result type (#134221)
If `CreateConstInBoundsGEP2_32` returns a constant null/gep, the cast to
GetElementPtrInst will fail.
This patch uses two static helpers
`GEPOperator::accumulateConstantOffset/GetElementPtrInst::getIndexedType`
to infer offset and result type instead of depending on the GEP result.
This patch is extracted from
https://github.com/llvm/llvm-project/pull/130734.
Commit: 554f4d1a5769357ee8438c23f572d595c720ff3c
https://github.com/llvm/llvm-project/commit/554f4d1a5769357ee8438c23f572d595c720ff3c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/Process.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
Log Message:
-----------
[lldb][Target] RunThreadPlan to save/restore the ExecutionContext's frame if one exists (#134097)
When using `SBFrame::EvaluateExpression` on a frame that's not the
currently selected frame, we would sometimes run into errors such as:
```
error: error: The context has changed before we could JIT the expression!
error: errored out in DoExecute, couldn't PrepareToExecuteJITExpression
```
During expression parsing, we call `RunStaticInitializers`. On our
internal fork this happens quite frequently because any usage of, e.g.,
function pointers, will inject ptrauth fixup code into the expression.
The static initializers are run using `RunThreadPlan`. The
`ExecutionContext::m_frame_sp` going into the `RunThreadPlan` is the
`SBFrame` that we called `EvaluateExpression` on. LLDB then tries to
save this frame to restore it after the thread-plan ran (the restore
occurs by unconditionally overwriting whatever is in
`ExecutionContext::m_frame_sp`). However, if the `selected_frame_sp` is
not the same as the `SBFrame`, then `RunThreadPlan` would set the
`ExecutionContext`'s frame to a different frame than what we started
with. When we `PrepareToExecuteJITExpression`, LLDB checks whether the
`ExecutionContext` frame changed from when we initially
`EvaluateExpression`, and if did, bails out with the error above.
One such test-case is attached. This currently passes regardless of the
fix because our ptrauth static initializers code isn't upstream yet. But
the plan is to upstream it soon.
This patch addresses the issue by saving/restoring the frame of the
incoming `ExecutionContext`, if such frame exists. Otherwise, fall back
to using the selected frame.
rdar://147456589
Commit: 6c27817294d96705ffd005aea52494ea40b1ef74
https://github.com/llvm/llvm-project/commit/6c27817294d96705ffd005aea52494ea40b1ef74
Author: David Green <david.green at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/Thumb2/mve-vdup.ll
M llvm/test/CodeGen/WebAssembly/simd-shuffle-bitcast.ll
M llvm/test/CodeGen/X86/kmov.ll
M llvm/test/CodeGen/X86/vector-reduce-fmax-nnan.ll
Log Message:
-----------
[SelectionDAG] Use SimplifyDemandedBits from SimplifyDemandedVectorElts Bitcast. (#133717)
This adds a call to SimplifyDemandedBits from bitcasts with scalar input
types in SimplifyDemandedVectorElts, which can help simplify the input
scalar.
Commit: cb0d1305d12ea6637a541028eb0a4438750164b9
https://github.com/llvm/llvm-project/commit/cb0d1305d12ea6637a541028eb0a4438750164b9
Author: Simi Pallipurath <simi.pallipurath at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
M clang/test/Driver/print-multi-selection-flags.c
Log Message:
-----------
[Clang][ARM] Ensure both -mno-unaligned-access and -munaligned-access are passed to multilib selection logic (#134099)
Previously, alignment option was passed to multilib selection logic only
when -mno-unaligned-access was explicitly specified on the command line.
Now this change ensure both -mno-unaligned-access and -munaligned-access
are passed to the multilib selection logic, which now also considers the
target architecture when determining alignment access policy.
Commit: ee4e8197fa67dd1ed6e9470e00708e7feeaacd97
https://github.com/llvm/llvm-project/commit/ee4e8197fa67dd1ed6e9470e00708e7feeaacd97
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/sme-intrinsics-mova-extract.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-insert-vector-elt.ll
M llvm/test/CodeGen/AArch64/sve-streaming-mode-test-register-mov.ll
Log Message:
-----------
[LLVM][AArch64][SVE] Mark DUP immediate instructions with isAsCheapAsAMove. (#133945)
Doing this means we'll regenerate an immediate rather than copy the
result of an existing one, reducing instruction dependency chains.
Commit: 7febd78f1e6caacb05ea43fa838a3b2b21fdd0bd
https://github.com/llvm/llvm-project/commit/7febd78f1e6caacb05ea43fa838a3b2b21fdd0bd
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaType.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
Log Message:
-----------
No longer diagnose __auto_type as the auto extension (#134129)
Given:
__auto_type x = 12;
decltype(auto) y = 12;
-Wc++98-compat would diagnose both x and y with:
'auto' type specifier is incompatible with C++98
This patch silences the diagnostic in those cases. decltype(auto) is
still diagnosed with:
'decltype(auto)' type specifier is incompatible with C++ standards
before C++14
as expected but no longer produces the extraneous diagnostic about use
of 'auto'.
Fixes #47900
Commit: 739fe980802e17e49ab9cc2e4c18a48c88e15ef5
https://github.com/llvm/llvm-project/commit/739fe980802e17e49ab9cc2e4c18a48c88e15ef5
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
M lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
Log Message:
-----------
[lldb][test] TestExprFromNonZeroFrame.py: fix windows build
On Windows this test was failing to link with following error:
```
make: Entering directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.test'
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe -gdwarf -O0 -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -MT main.o -MD -MP -MF main.d -c -o main.o C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame/main.c
C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\bin\clang.exe main.o -gdwarf -O0 -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/../../../../..//include -IC:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/tools/lldb/include -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\test\API\commands\expression\expr-from-non-zero-frame -IC:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make -include C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\llvm-project\lldb\packages\Python\lldbsuite\test\make/test_common.h -fno-limit-debug-info -fuse-ld=lld --driver-mode=g++ -o "a.out"
lld-link: error: undefined symbol: printf
>>> referenced by main.o:(func)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Makefile.rules:530: a.out] Error 1
make: Leaving directory 'C:/Users/tcwg/llvm-worker/lldb-aarch64-windows/build/lldb-test-build.noindex/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.test'
```
Commit: 722346c7bc70aa528beccead4119db83f134f5cd
https://github.com/llvm/llvm-project/commit/722346c7bc70aa528beccead4119db83f134f5cd
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/AST/QualTypeNames.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
Log Message:
-----------
[Tooling] Handle AttributedType in getFullyQualifiedType (#134228)
Before this change the code used to add extra qualifiers, e.g.
`std::unique_ptr<int> _Nonnull` became `::std::std::unique_ptr<int>
_Nonnull`
when adding a global namespace qualifier was requested.
Commit: 41a6bb4c055cf08110676d9bc942f369fb19450d
https://github.com/llvm/llvm-project/commit/41a6bb4c055cf08110676d9bc942f369fb19450d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
M llvm/test/CodeGen/AArch64/dag-combine-concat-vectors.ll
M llvm/test/CodeGen/AArch64/load-insert-zero.ll
M llvm/test/CodeGen/AArch64/sinksplat.ll
M llvm/test/CodeGen/AArch64/sve-bf16-int-converts.ll
M llvm/test/CodeGen/AArch64/sve-fcmp.ll
M llvm/test/CodeGen/AArch64/sve-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-shuffles.ll
M llvm/test/CodeGen/AArch64/sve-fp-combine.ll
M llvm/test/CodeGen/AArch64/sve-implicit-zero-filling.ll
M llvm/test/CodeGen/AArch64/sve-int-log.ll
M llvm/test/CodeGen/AArch64/sve-int-reduce.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-imm.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-int-arith-merging.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-scalar-to-vec.ll
M llvm/test/CodeGen/AArch64/sve-intrinsics-shifts-merging.ll
M llvm/test/CodeGen/AArch64/sve-knownbits.ll
M llvm/test/CodeGen/AArch64/sve-ld1r.ll
M llvm/test/CodeGen/AArch64/sve-masked-scatter.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-pr92779.ll
M llvm/test/CodeGen/AArch64/sve-split-fcvt.ll
M llvm/test/CodeGen/AArch64/sve-vector-splat.ll
M llvm/test/CodeGen/AArch64/sve-vselect-imm.ll
M llvm/test/CodeGen/AArch64/sve-zeroinit.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfadd.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmax.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmaxnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmin.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfminnm.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmla.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmls.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfmul.ll
M llvm/test/CodeGen/AArch64/sve2p1-intrinsics-bfsub.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-abs-neg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-counts-not.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-ext.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvt-bfcvt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtlt-fcvtx.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-fcvtzsu.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-flogb.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-frint-frecpx-fsqrt.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-rev.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-urecpe-ursqrte-sqabs-sqneg.ll
M llvm/test/CodeGen/AArch64/zeroing-forms-uscvtf.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Prefer NEON instructions when zeroing Z registers. (#133929)
Several implementations have zero-latency instructions to zero
registers. To-date no implementation has a dedicated SVE instruction but
we can use the NEON equivalent because it is defined to zero bits
128..VL regardless of the immediate used.
NOTE: The relevant instruction is not available in streaming mode, where
the original SVE DUP instruction remains in use.
Commit: 52f3cad9ffa35a472699d541736bd72dd01d6e62
https://github.com/llvm/llvm-project/commit/52f3cad9ffa35a472699d541736bd72dd01d6e62
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] getFauxShuffleMask - move INSERT_SUBVECTOR(SRC0, EXTRACT_SUBVECTOR(SRC1)) matching behind common one use bitcast checks (#134227)
No need to ignore one use checks for the INSERT_SUBVECTOR(SRC0, EXTRACT_SUBVECTOR(SRC1)) fold
Noticed while working on the #133947 regressions
Commit: 2a9948f0384d30fa07522f29ddb2de62560d75a4
https://github.com/llvm/llvm-project/commit/2a9948f0384d30fa07522f29ddb2de62560d75a4
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/RecordLayoutBuilder.cpp
R clang/test/SemaCXX/windows-Wpadded-bitfield.cpp
R clang/test/SemaCXX/windows-Wpadded.cpp
Log Message:
-----------
Revert "[CLANG-CL] ignores wpadded" (#134239)
Reverts llvm/llvm-project#130182
This is causing failures on RISC-V and ppc builders as mentioned on
https://github.com/llvm/llvm-project/pull/130182#issuecomment-2775516899
Reverting so the issue can be fixed by the path author without time pressure (as noted in that PR, it seems a value is uninitialised).
Commit: ebacd46996a7f041be73cf31b5776503e8061e8b
https://github.com/llvm/llvm-project/commit/ebacd46996a7f041be73cf31b5776503e8061e8b
Author: Koakuma <koachan at protonmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
A llvm/test/MC/Disassembler/Sparc/sparc-vis.txt
M llvm/test/MC/Sparc/sparc-vis.s
A llvm/test/MC/Sparc/sparc-vis2.s
A llvm/test/MC/Sparc/sparc-vis3.s
Log Message:
-----------
[SPARC][MC] Add tests for VIS family instructions
Also fix up any mistakes/typos in instruction definitions.
Reviewers: rorth, s-barannikov, brad0, MaskRay
Reviewed By: s-barannikov
Pull Request: https://github.com/llvm/llvm-project/pull/130967
Commit: c2355892a4bad78b8ac520a11a7a63371c84d11e
https://github.com/llvm/llvm-project/commit/c2355892a4bad78b8ac520a11a7a63371c84d11e
Author: Elen Kalda <elen.kalda at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Add ERROR_IF checks to TRANSPOSE_CONV2D verifier (#133234)
This patch extends the verifier with following checks:
ERROR_IF(out_pad_top <= -KH || out_pad_bottom <= -KH);
ERROR_IF(out_pad_left <= -KW || out_pad_right <= -KW); ERROR_IF(stride_y
< 1 || stride_x < 1);
ERROR_IF(OH != (IH - 1) * stride_y + out_pad_top + out_pad_bottom + KH);
ERROR_IF(OW != (IW - 1) * stride_x + out_pad_left + out_pad_right + KW);
ERROR_IF(BC != OC && BC != 1);
Signed-off-by: Elen Kalda <elen.kalda at arm.com>
Commit: efbbdd69c7974d4fe08ccbbc1d8a206f3f317a1a
https://github.com/llvm/llvm-project/commit/efbbdd69c7974d4fe08ccbbc1d8a206f3f317a1a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/DenseMap.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
Log Message:
-----------
[ADT] Make DenseMap::init() private (NFC) (#134229)
I believe this method was not supposed to be public, as it has
additional preconditions (it will misbehave when called on a non-empty
DenseMap).
The public API for this is reserve().
Commit: 0509932bb6a291ba11253f30c465ab3ad164ae08
https://github.com/llvm/llvm-project/commit/0509932bb6a291ba11253f30c465ab3ad164ae08
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
[lldb] Initialize active_row pointer variable
It's value is not set on all control flow paths. I believe this should
fix the failure on some buildbots after #133247.
Commit: ae8ad8649da7f69dae2b19db79b69c460be01916
https://github.com/llvm/llvm-project/commit/ae8ad8649da7f69dae2b19db79b69c460be01916
Author: Lukacma <Marian.Lukac at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAArch64.td
Log Message:
-----------
[Clang][AArch64] Model ZT0 table using inaccessible memory (#133727)
This patch changes how ZT0 table is modelled at LLVM-IR level. Currently
accesses to ZT0 are represented at LLVM-IR level as memory reads and
writes. This patch changes that and models them as purely Inaccessible
memory accesses without any unmodeled side-effects.
Commit: c818ae739902f3c46466b67bd4d1bd4d09b38e84
https://github.com/llvm/llvm-project/commit/c818ae739902f3c46466b67bd4d1bd4d09b38e84
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: detect non-protected indirect calls (#131899)
Implement the detection of non-protected indirect calls and branches
similar to pac-ret scanner.
Commit: 9df324e90b32f91e0b2866dffb78b0be0db4f37c
https://github.com/llvm/llvm-project/commit/9df324e90b32f91e0b2866dffb78b0be0db4f37c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] Add growShuffleMask helper to grow the shuffle mask for a larger value type. NFC. (#134243)
Prep work for #133947
Commit: a77d8077815627d188ae26fda6e88f0d0d61c990
https://github.com/llvm/llvm-project/commit/a77d8077815627d188ae26fda6e88f0d0d61c990
Author: Steven Perron <stevenperron at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/docs/SPIRVUsage.rst
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
A llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
Log Message:
-----------
[SPIRV] Add spirv.VulkanBuffer types to the backend (#133475)
Adds code to expand the `llvm.spv.resource.handlefrombinding` and
`llvm.spv.resource.getpointer` when the resource type is
`spirv.VulkanBuffer`.
It gets expanded as a storage buffer or uniform buffer denpending on the
storage class used.
This is implementing part of
https://github.com/llvm/wg-hlsl/blob/main/proposals/0018-spirv-resource-representation.md.
Commit: 6bbdc70066c2bf46ed3d88293e2abfa3d0ffffa3
https://github.com/llvm/llvm-project/commit/6bbdc70066c2bf46ed3d88293e2abfa3d0ffffa3
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use getCallWideningDecision in more places (NFC) (#134236)
Commit: 586c5e3083428e7473e880dafd5939e8707bc1c9
https://github.com/llvm/llvm-project/commit/586c5e3083428e7473e880dafd5939e8707bc1c9
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/test/Conversion/MPIToLLVM/mpitollvm.mlir
Log Message:
-----------
[mlir][mpi] fixing in-place and 0d mpi.all_reduce (#134225)
* inplace allreduce needs special MPI token MPI_IN_PLACE as send buffer
* 0d tensors have no sizes/strides in LLVM memref struct
Commit: 9e0ca5720bee96f4b19eeb69a119b5eda3ab5528
https://github.com/llvm/llvm-project/commit/9e0ca5720bee96f4b19eeb69a119b5eda3ab5528
Author: Aaron Puchert <aaron.puchert at sap.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/test/CodeGen/X86/base-pointer-and-cmpxchg.ll
Log Message:
-----------
[X86] When expanding LCMPXCHG16B_SAVE_RBX, substitute RBX in base (#134109)
The pseudo-instruction LCMPXCHG16B_SAVE_RBX is used when RBX serves as
frame base pointer. At a very late stage it is then translated into a
regular LCMPXCHG16B, preceded by copying the actual argument into RBX,
and followed by restoring the register to the base pointer.
However, in case the `cmpxchg` operates on a local variable, RBX might
also be used as a base for the memory operand in frame finalization, and
we've overwritten RBX with the input operand for `cmpxchg16b`. So we
have to rewrite the memory operand base to use the saved value of RBX.
Fixes #119959.
Commit: 7145ead280ba10d08fe48e7859f1a61a64653104
https://github.com/llvm/llvm-project/commit/7145ead280ba10d08fe48e7859f1a61a64653104
Author: GeorgeKA <gkasante at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaInit.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
Log Message:
-----------
[Clang] Add warning message for C++17 alias template CTAD (#133806)
Alias template class template argument deduction is a documented C++20
feature. C++17 also happens to support it, but there is no message
output to indicate the officially supported version. This PR adds that.
Also updated relevant CTAD test cases.
Closes #125913
Commit: 18dd299fb109792d0716156af0a2d8c0ca781c57
https://github.com/llvm/llvm-project/commit/18dd299fb109792d0716156af0a2d8c0ca781c57
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[Flang][MLIR][OpenMP] Host-evaluation of omp.loop bounds (#133908)
This patch updates Flang lowering and kernel flags identification in
MLIR so that loop bounds on `target teams loop` constructs are evaluated
on the host, making the trip count available to the corresponding
`__tgt_target_kernel` call emitted for the target region.
This is necessary in order to properly execute these constructs as
`target teams distribute parallel do`.
Co-authored-by: Kareem Ergawy <kareem.ergawy at amd.com>
Commit: b61e3874fa97c5ead2c27e8245fe123370a21e81
https://github.com/llvm/llvm-project/commit/b61e3874fa97c5ead2c27e8245fe123370a21e81
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
Log Message:
-----------
Revert "[InstCombine] Match scalable splats in m_ImmConstant (#132522)"
This reverts commit df9e5ae5b40c4d245d904a2565e46f5b7ab9c7c8.
This is triggering an assertion failure on llvm-test-suite with
-enable-vplan-native-path:
https://lab.llvm.org/buildbot/#/builders/198/builds/3365
Commit: 59074a376099333a2546c4e3a8b30693c8a3ee92
https://github.com/llvm/llvm-project/commit/59074a376099333a2546c4e3a8b30693c8a3ee92
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
[ASan] Add metadata to renamed instructions so ASan doesn't use the iโฆ (#119387)
โฆncorrect name
Clang needs variables to be represented with unique names. This means
that if a variable shadows another, its given a different name
internally to ensure it has a unique name. If ASan tries to use this
name when printing an error, it will print the modified unique name,
rather than the variable's source code name
Fixes #47326
Commit: 008040482b15aa76699e61e59218e92d3786e17a
https://github.com/llvm/llvm-project/commit/008040482b15aa76699e61e59218e92d3786e17a
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
Log Message:
-----------
[clang] Add SPIR-V to some OpenMP clang tests (#133503)
Just to get some more coverage.
Some of the behavior might be weird and change in the future, but let's
lock down what happens today to at least prevent regressions.
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: b8fc288c46abeea8d330fabdf6ab1ebf1c5b283d
https://github.com/llvm/llvm-project/commit/b8fc288c46abeea8d330fabdf6ab1ebf1c5b283d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
Log Message:
-----------
[Dexter] Replace clang with clang++ in various cross project tests (#65987)
This patch replaces invocations of clang with clang++ for a set of
c++ files in the dexter cross-project tests. As a small additional change,
this patch removes -lstdc++ from a test that did not appear to require it.
Commit: 50fe5b90e7a17700dd265d3cd917c4332b806152
https://github.com/llvm/llvm-project/commit/50fe5b90e7a17700dd265d3cd917c4332b806152
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Log Message:
-----------
[sanitizer_common][NFC] Fix sanitizer_symbolizer_libcdep.cpp formatting (#133930)
Commit: 51c2750599d2472dafce0231aa8b95f5137c7de8
https://github.com/llvm/llvm-project/commit/51c2750599d2472dafce0231aa8b95f5137c7de8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/docs/use/python-reference.rst
Log Message:
-----------
[lldb] Update examples in docs/use/python-reference.rst to work with Python 3 (#134204)
The examples on this page were using the Python 2-style print. I ran the
updated code examples under Python 3 to confirm they are still
up-to-date.
Commit: f59b5b8d597d52336a59d2c0555212242e29a45b
https://github.com/llvm/llvm-project/commit/f59b5b8d597d52336a59d2c0555212242e29a45b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPEnums.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Dialect/OpenMP/invalid.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
A mlir/test/Target/LLVMIR/openmp-target-generic-spmd.mlir
Log Message:
-----------
[MLIR][OpenMP] Fix standalone distribute on the device (#133094)
This patch updates the handling of target regions to set trip counts and
kernel execution modes properly, based on clang's behavior. This fixes a
race condition on `target teams distribute` constructs with no `parallel
do` loop inside.
This is how kernels are classified, after changes introduced in this
patch:
```f90
! Exec mode: SPMD.
! Trip count: Set.
!$omp target teams distribute parallel do
do i=...
end do
! Exec mode: Generic-SPMD.
! Trip count: Set (outer loop).
!$omp target teams distribute
do i=...
!$omp parallel do private(idx, y)
do j=...
end do
end do
! Exec mode: Generic-SPMD.
! Trip count: Set (outer loop).
!$omp target teams distribute
do i=...
!$omp parallel
...
!$omp end parallel
end do
! Exec mode: Generic.
! Trip count: Set.
!$omp target teams distribute
do i=...
end do
! Exec mode: SPMD.
! Trip count: Not set.
!$omp target parallel do
do i=...
end do
! Exec mode: Generic.
! Trip count: Not set.
!$omp target
...
!$omp end target
```
For the split `target teams distribute + parallel do` case, clang
produces a Generic kernel which gets promoted to Generic-SPMD by the
openmp-opt pass. We can't currently replicate that behavior in flang
because our codegen for these constructs results in the introduction of
calls to the `kmpc_distribute_static_loop` family of functions, instead
of `kmpc_distribute_static_init`, which currently prevent promotion of
the kernel to Generic-SPMD.
For the time being, instead of relying on the openmp-opt pass, we look
at the MLIR representation to find the Generic-SPMD pattern and directly
tag the kernel as such during codegen. This is what we were already
doing, but incorrectly matching other kinds of kernels as such in the
process.
Commit: c14b6e90bd140c2290258fa9dbe0fc1ad8939111
https://github.com/llvm/llvm-project/commit/c14b6e90bd140c2290258fa9dbe0fc1ad8939111
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/Target/StopInfo.h
M lldb/source/Target/Process.cpp
M lldb/source/Target/StopInfo.cpp
Log Message:
-----------
[lldb][NFC] Move ShouldShow/ShouldSelect logic into Stopinfo (#134160)
This NFC patch simplifies the main loop in HandleProcessStateChanged
event by moving duplicated code into the StopInfo class, also allowing
StopInfo subclasses to override behavior.
More specifically, two functions are created:
* ShouldShow: should a Thread with such StopInfo should be printed when
the debugger stops? Currently, no StopInfo subclasses override this, but
a subsequent patch will fix a bug by making StopInfoBreakpoint check
whether the breakpoint is internal.
* ShouldSelect: should a Thread with such a StopInfo be selected? This
is currently overridden by StopInfoUnixSignal but will, in the future,
be overridden by StopInfoBreakpoint.
Commit: 61ef28650626dd4f651a250005c77255d8086f69
https://github.com/llvm/llvm-project/commit/61ef28650626dd4f651a250005c77255d8086f69
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Log Message:
-----------
Fix signed/unsigned mismatch warning (#134255)
Commit: 2334fd2ea3a0a391ca88da36764d895d9c34e1bc
https://github.com/llvm/llvm-project/commit/2334fd2ea3a0a391ca88da36764d895d9c34e1bc
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
Log Message:
-----------
[Dexter] Update Dexter tests to use new dexter test substitutions
Following commit b8fc288, which changed some dexter test substitutions to
be specific to C and C++, some tests that had been added since the original
patch was written were still using the old substitution; this patch updates
them to use the new.
Commit: f23bb530cfad1ca72812d0daf599834ea2291219
https://github.com/llvm/llvm-project/commit/f23bb530cfad1ca72812d0daf599834ea2291219
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-non-integral-address-spaces-vectors.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-calls.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-contents-legalization.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-p7-in-memory.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-pointer-ops.ll
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-unoptimized-debug-data.ll
Log Message:
-----------
[AMDGPULowerBufferFatPointers] Use InstSimplifyFolder during rewrites (#134137)
This PR updates AMDGPULowerBufferFatPointers to use the
InstSimplifyFolder
when creating IR during buffer fat pointer lowering.
This shouldn't cause any large functional changes and might improve the
quality of the generated code.
Commit: 2080334574a88a7ac4102007b56809cd0a19b905
https://github.com/llvm/llvm-project/commit/2080334574a88a7ac4102007b56809cd0a19b905
Author: Daniel Chen <cdchen at ca.ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Driver/ToolChain.h
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
M flang-rt/cmake/modules/GetToolchainDirs.cmake
A flang/test/Driver/flang-ld-powerpc.f90
Log Message:
-----------
[flang-rt] Pass the whole path of libflang_rt.runtime.a to linker on AIX and LoP (#131041)
This PR is to improve the driver code to build `flang-rt` path by
re-using the logic and code of `compiler-rt`.
1. Moved `addFortranRuntimeLibraryPath` and `addFortranRuntimeLibs` to
`ToolChain.h` and made them virtual so that they can be overridden if
customization is needed. The current implementation of those two
procedures is moved to `ToolChain.cpp` as the base implementation to
default to.
2. Both AIX and PPCLinux now override `addFortranRuntimeLibs`.
The overriding function of `addFortranRuntimeLibs` for both AIX and
PPCLinux calls `getCompilerRTArgString` => `getCompilerRT` =>
`buildCompilerRTBasename` to get the path to `flang-rt`. This code
handles `LLVM_ENABLE_PER_TARGET_RUNTIME_DIR` setting. As shown in
`PPCLinux.cpp`, `FT_static` is the default. If not found, it will search
and build for `FT_shared`. To differentiate `flang-rt` from `clang-rt`,
a boolean flag `IsFortran` is passed to the chain of functions in order
to reach `buildCompilerRTBasename`.
Commit: 79435de8a51a3df4b74f858a604b7ff56b342ae7
https://github.com/llvm/llvm-project/commit/79435de8a51a3df4b74f858a604b7ff56b342ae7
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/IR/ConstantFold.cpp
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
M llvm/test/Transforms/InstCombine/addrspacecast.ll
M llvm/test/Transforms/InstCombine/scalable-const-fp-splat.ll
M llvm/test/Transforms/InstCombine/scalable-trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/ConstProp/vscale.ll
M llvm/test/Transforms/InstSimplify/vscale-inseltpoison.ll
M llvm/test/Transforms/InstSimplify/vscale.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/MemCpyOpt/crash.ll
M llvm/test/Transforms/VectorCombine/pr88796.ll
Log Message:
-----------
[ConstantFold] Support scalable constant splats in ConstantFoldCastInstruction (#133207)
Previously only fixed vector splats were handled. This adds supports for
scalable vectors too by allowing ConstantExpr splats.
We need to add the extra V->getType()->isVectorTy() check because a
ConstantExpr might be a scalar to vector bitcast.
By allowing ConstantExprs this also allow fixed vector ConstantExprs to
be folded, which causes the diffs in
llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
and llvm/test/Transforms/InstSimplify/ConstProp/cast-vector.ll. I can
remove them from this PR if reviewers would prefer.
Fixes #132922
Commit: 12f75bba41d7b9752df799349b2b32bdf68e9765
https://github.com/llvm/llvm-project/commit/12f75bba41d7b9752df799349b2b32bdf68e9765
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 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/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.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:
-----------
Revert "[X86] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded" (#134256)
Found a typo in the VPERMV3 mask adjustment - I'm going to revert and re-apply the patch with a fix
Reverts llvm/llvm-project#133923
Commit: c1ada72b0995844299ef40433314124266015428
https://github.com/llvm/llvm-project/commit/c1ada72b0995844299ef40433314124266015428
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
[OpenMP] Mark 'map-type modifiers in arbitrary position' done (#133906)
I think #90499 already implements support for the listed OpenMP 6.0
feature mentioned in the title. This patch just marks it done (for
C/C++).
Commit: 49fd0bf35d2e04a0d76ac7fd13b3e3439a91f76f
https://github.com/llvm/llvm-project/commit/49fd0bf35d2e04a0d76ac7fd13b3e3439a91f76f
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
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/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
M clang/tools/libclang/CIndex.cpp
Log Message:
-----------
[clang] support pack expansions for trailing requires clauses (#133190)
Commit: d7d91500b6ef7efb059f660ff7e4aa44553643e6
https://github.com/llvm/llvm-project/commit/d7d91500b6ef7efb059f660ff7e4aa44553643e6
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/test/Lower/array-constructor-2.f90
Log Message:
-----------
[flang][nfc] Initial changes needed to use llvm intrinsics instead of regular calls (#134170)
Flang uses `fir.call <llvm intrinsic>` in a few places. This means
consumers of the IR need to strcmp every fir.call if they want to find a
particular LLVM intrinsic.
Emit LLVM memcpy intrinsics instead.
Commit: 3801bf6164f570a145e3ebd20cf9114782ae0329
https://github.com/llvm/llvm-project/commit/3801bf6164f570a145e3ebd20cf9114782ae0329
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
Log Message:
-----------
[NFC] Cleanup pass initialization for SPIRV passes (#134189)
- Do not call pass initialization functions from pass contructors.
- Instead, call them from SPIRV target initialization.
- https://github.com/llvm/llvm-project/issues/111767
Commit: bec5cfd970c5882c54a9e8d9f3da430dc39d0dd0
https://github.com/llvm/llvm-project/commit/bec5cfd970c5882c54a9e8d9f3da430dc39d0dd0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
Log Message:
-----------
[lldb-dap] Protect SetBreakpoint with the API mutex (#134030)
Protect the various SetBreakpoint functions with the API mutex. This
fixes a race condition between the breakpoint being created and the DAP
label getting added. This was causing `TestDAP_breakpointEvents.py` to
be flaky.
Fixes #131242.
Commit: bf388f8a43c26264dfa96a91bead440d19f58bc4
https://github.com/llvm/llvm-project/commit/bf388f8a43c26264dfa96a91bead440d19f58bc4
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-true16.mir
M llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16.mir
Log Message:
-----------
[AMDGPU][True16][CodeGen] legalize operands when move16bit SALU to VALU (#133985)
This is a follow up PR from
https://github.com/llvm/llvm-project/pull/132089.
When a V2S copy and its useMI are lowered to VALU, this patch check:
If the generated new VALU is a true16 inst. Add subreg access on all
operands if necessary.
an example MIR looks like:
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:sreg_32 = COPY %1:vgpr_32
%3:sreg_32 = S_FLOOR_F16 %2:sreg_32, ...
```
currently lowered to
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:vgpr_16 = V_FLOOR_F16_t16_e64 0, %1:vgpr_32, 0, 0, 0 ...
```
after this patch
```
%1:vgpr_32 = V_CVT_F32_U32_e64 %0:vgpr_32, 0, 0 ...
%2:vgpr_16 = V_FLOOR_F16_t16_e64 0, %1.lo16:vgpr_32, 0, 0, 0 ...
```
Commit: 65fa57bdcc9d745dd8c222426e79618fb7cf1c91
https://github.com/llvm/llvm-project/commit/65fa57bdcc9d745dd8c222426e79618fb7cf1c91
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/RootSignatures-AST.hlsl
A clang/test/SemaHLSL/RootSignature-err.hlsl
Log Message:
-----------
[HLSL][RootSignature] Define and integrate `HLSLRootSignatureAttr` (#134124)
- Defines HLSLRootSignature Attr in `Attr.td`
- Define and implement handleHLSLRootSignature in `SemaHLSL`
- Adds sample test case to show AST Node is generated in
`RootSignatures-AST.hlsl`
This commit will "hook-up" the seperately defined RootSignature parser
and invoke it to create the RootElements, then store them on the
ASTContext and finally store the reference to the Elements in
RootSignatureAttr
Resolves https://github.com/llvm/llvm-project/issues/119011
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: b738b82699e58fa50d15d76e1e26b58100ad344e
https://github.com/llvm/llvm-project/commit/b738b82699e58fa50d15d76e1e26b58100ad344e
Author: Connector Switch <c8ef at outlook.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/search.yaml
M libc/include/stdlib.yaml
Log Message:
-----------
[libc] Combine the function prototype `int (*compar)(const void *, const void *)` (#134238)
Closes #134118.
Commit: 2190808f5d010a91e17c0dd8143466042b5a4028
https://github.com/llvm/llvm-project/commit/2190808f5d010a91e17c0dd8143466042b5a4028
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-03 (Thu, 03 Apr 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/shuffle-vs-trunc-128.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-6.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bwvl.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] SimplifyDemandedVectorEltsForTargetNode - reduce the size of VPERMV/VPERMV3 nodes if the upper elements are not demanded (REAPPLIED) (#134263)
With AVX512VL targets, use 128/256-bit VPERMV/VPERMV3 nodes when we only need the lower elements.
Reapplied version of #133923 with fix for typo in the VPERMV3 mask adjustment
Commit: 73e8d67a200beaa554a72cdd50e4d1a5a55caf69
https://github.com/llvm/llvm-project/commit/73e8d67a200beaa554a72cdd50e4d1a5a55caf69
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Attr.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/RootSignatures-AST.hlsl
R clang/test/SemaHLSL/RootSignature-err.hlsl
Log Message:
-----------
Revert "[HLSL][RootSignature] Define and integrate `HLSLRootSignatureAttr`" (#134273)
Reverts llvm/llvm-project#134124
The build is failing again to a linking error:
[here](https://github.com/llvm/llvm-project/pull/134124#issuecomment-2776370486).
Again the error was not present locally or any of the pre-merge builds
and must have been transitively linked in these build environments...
Commit: bc6cd825ecea94f015c590c877a1401d3a4a46b8
https://github.com/llvm/llvm-project/commit/bc6cd825ecea94f015c590c877a1401d3a4a46b8
Author: John Harrison <harjohn at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Creating a common configuration structure for launch and attach requests. (#133960)
This moves all the common settings of the launch and attach operations
into the `lldb_dap::protocol::Configuration`. These common settings
can be in both `launch` and `attach` requests and allows us to isolate
the DAP configuration operations into a single common location.
This is split out from #133624.
Commit: a1bc979aa854c600e64e7500f1b79cd1d2655eb4
https://github.com/llvm/llvm-project/commit/a1bc979aa854c600e64e7500f1b79cd1d2655eb4
Author: MaheshRavishankar <1663364+MaheshRavishankar at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/SCF/one-shot-bufferize.mlir
Log Message:
-----------
[mlir][Bufferization] Do not have read semantics for destination of `tensor.parallel_insert_slice`. (#134169)
`tensor.insert_slice` needs to have read semantics on its destination
operand. Since it has a return value, its semantics are
- Copy dest to result
- Copy source to subview of destination.
`tensor.parallel_insert_slice` though has no result. So it does not need
to have read semantics. The op description
[here](https://github.com/llvm/llvm-project/blob/a3ac318e5f8668ec5b79dd86639881dfb2e88b69/mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td#L1524)
also says that it is expected to lower to a `memref.subview`, that does
not have read semantics on the destination (its just a view).
This patch drops the read semantics for destination of
`tensor.parallel_insert_slice` but also makes the `shared_outs` operands
of `scf.forall` have read semantics. Earlier it would rely indirectly on
read semantics of destination operand of `tensor.parallel_insert_slice`
to propagate the read semantics for `shared_outs`. Now that is specified
more directly.
Fixes #133964
---------
Signed-off-by: MaheshRavishankar <mahesh.ravishankar at gmail.com>
Commit: 6ddf7cf7808e7e60314ed003d52c215dedc0924b
https://github.com/llvm/llvm-project/commit/6ddf7cf7808e7e60314ed003d52c215dedc0924b
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[mlir][bazel] Allow `gentbl_cc_library(tbl_outs)` to be a dict. (#134271)
This makes the BUILD file shorter and more readable.
I will follow up with converting the other instances.
Commit: a54736afd5b8f8ed25550a9f456afd36e49c04e0
https://github.com/llvm/llvm-project/commit/a54736afd5b8f8ed25550a9f456afd36e49c04e0
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
CloneFunction: Do not delete blocks with address taken (#134209)
If a block with a single predecessor also had its address taken,
it was getting deleted in this post-inline cleanup step. This would
result in the blockaddress in the resulting function getting deleted
and replaced with inttoptr 1.
This fixes one bug required to permit inlining of functions with blockaddress
uses.
At the moment this is not testable (at least without an annoyingly complex
unit test), and is a pre-bug fix for future patches. Functions with
blockaddress uses are rejected in isInlineViable, so we don't get this far
with the current InlineFunction uses (some of the existing cases seem to
reproduce this part of the rejection logic, like PartialInliner). This
will be tested in a pending llvm-reduce change.
Prerequisite for #38908
Commit: 9a5b0f302be2ce155d5a4a0f0ca998ecb9bca497
https://github.com/llvm/llvm-project/commit/9a5b0f302be2ce155d5a4a0f0ca998ecb9bca497
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/InstCombine/shl-bo.ll
M llvm/test/Transforms/InstCombine/shl-twice-constant.ll
M llvm/test/Transforms/InstCombine/sub.ll
M llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
Log Message:
-----------
Reapply "[InstCombine] Match scalable splats in m_ImmConstant (#132522)" (#134262)
This reapplies #132522.
Previously casts of scalable m_ImmConstant splats weren't being folded
by ConstantFoldCastOperand, triggering the "Constant-fold of ImmConstant
should not fail" assertion.
There are no changes to the code in this PR, instead we just needed
#133207 to land first.
A test has been added for the assertion in
llvm/test/Transforms/InstSimplify/vec-icmp-of-cast.ll
@icmp_ult_sext_scalable_splat_is_true.
<hr/>
#118806 fixed an infinite loop in FoldShiftByConstant that could occur
when the shift amount was a ConstantExpr.
However this meant that FoldShiftByConstant no longer kicked in for
scalable vectors because scalable splats are represented by
ConstantExprs.
This fixes it by allowing scalable splats of non-ConstantExprs in
m_ImmConstant, which also fixes a few other test cases where scalable
splats were being missed.
But I'm also hoping that UseConstantIntForScalableSplat will eventually
remove the need for this.
I noticed this when trying to reverse a combine on RISC-V in #132245,
and saw that the resulting vector and scalar forms were different.
Commit: 2abcdd8cf08b9a170e6e5ad1b9facbf71135522f
https://github.com/llvm/llvm-project/commit/2abcdd8cf08b9a170e6e5ad1b9facbf71135522f
Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
A clang/test/CodeGen/nvptx-surface.cu
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
Log Message:
-----------
[CUDA] Add support for CUDA surfaces (#132883)
This adds support for all the surface read and write calls to clang. It
extends the pattern used for textures to surfaces too.
I tested this by generating all the various permutations of the calls
and argument types in a python script, compiling them with both clang
and nvcc, and comparing the generated ptx for equivilence. They all
agree, ignoring register allocation, and some places where Clang picks
different memory write instructions. An example kernel is:
```
__global__ void testKernel(cudaSurfaceObject_t surfObj, int x, float2* result) {
*result = surf1Dread<float2>(surfObj, x, cudaBoundaryModeZero);
}
```
---------
Signed-off-by: Austin Schuh <austin.linux at gmail.com>
Commit: 0bec0f5c059af5f920fe22ecda469b666b5971b0
https://github.com/llvm/llvm-project/commit/0bec0f5c059af5f920fe22ecda469b666b5971b0
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: 1a540c3b8bcefaf6b36f261341ce55a1a24eca21
https://github.com/llvm/llvm-project/commit/1a540c3b8bcefaf6b36f261341ce55a1a24eca21
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/lib/CodeGen/LivePhysRegs.cpp
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/lib/Target/X86/X86ISelLowering.cpp
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
A llvm/test/CodeGen/PowerPC/carry-liveness-after-expand-isel.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:
-----------
[PowerPC] Deprecate uses of ISD::ADDC/ISD::ADDE/ISD::SUBC/ISD::SUBE (#133155)
ISD::ADDC, ISD::ADDE, ISD::SUBC and ISD::SUBE are being deprecated,
using ISD::UADDO_CARRY,ISD::USUBO_CARRY instead. Lowering the UADDO,
UADDO_CARRY, USUBO, USUBO_CARRY in the patch.
Commit: 75142250527a97fcf0c721148705ae415a2f2d3a
https://github.com/llvm/llvm-project/commit/75142250527a97fcf0c721148705ae415a2f2d3a
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.lds.err.ll
Log Message:
-----------
Use a more proper idiom for "the output file doesn't matter". NFC. (#134280)
As in the description. Follow up to PR #134179.
Commit: 262b9b515330daf7c446cc7983bf5f89185b3666
https://github.com/llvm/llvm-project/commit/262b9b515330daf7c446cc7983bf5f89185b3666
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/Lowering/array.cpp
Log Message:
-----------
[CIR][Upstream] Local initialization for ArrayType (#132974)
This change adds local initialization for ArrayType
Issue #130197
Commit: cfee056b4e75cd941591d298e0f8dc303460c57e
https://github.com/llvm/llvm-project/commit/cfee056b4e75cd941591d298e0f8dc303460c57e
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] NFC: introduce UnsignedOrNone as a replacement for std::optional<unsigned> (#134142)
This introduces a new class 'UnsignedOrNone', which models a lite
version of `std::optional<unsigned>`, but has the same size as
'unsigned'.
This replaces most uses of `std::optional<unsigned>`, and similar
schemes utilizing 'int' and '-1' as sentinel.
Besides the smaller size advantage, this is simpler to serialize, as its
internal representation is a single unsigned int as well.
Commit: 3e59ff27e5d4506086dfe02ec600adf0baa9543e
https://github.com/llvm/llvm-project/commit/3e59ff27e5d4506086dfe02ec600adf0baa9543e
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix pred type for vote functions (#134166)
Commit: 3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff
https://github.com/llvm/llvm-project/commit/3f6ae3f0a81ac32aee7633b7c240ce8eb25192ff
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/docs/ArrayRepacking.md
M flang/include/flang/Lower/LoweringOptions.def
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/ConvertVariable.cpp
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Lower/repack-arrays.f90
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang] Added driver options for arrays repacking. (#134002)
Added options:
* -f[no-]repack-arrays
* -f[no-]stack-repack-arrays
* -frepack-arrays-contiguity=whole/innermost
Commit: b8b752db2b89a730aff250a83b64c7ed10d95ca0
https://github.com/llvm/llvm-project/commit/b8b752db2b89a730aff250a83b64c7ed10d95ca0
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/docs/CMakeLists.txt
Log Message:
-----------
[flang][NFC] Create required Source dir for flang-doc. (#134000)
Commit: 158684a80ff825f0f02863360ac51230f5b7c3b4
https://github.com/llvm/llvm-project/commit/158684a80ff825f0f02863360ac51230f5b7c3b4
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 586c5e3083428e7473e880dafd5939e8707bc1c9
Commit: b393ca6026ffbd5621edb00503dd39e9eec97a1a
https://github.com/llvm/llvm-project/commit/b393ca6026ffbd5621edb00503dd39e9eec97a1a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM][RISCV] Cleanup pass initialization for RISCV (#134279)
- Move calls to pass initialization functions to RISCV target
initialization and remove them from pass constructors.
Commit: 7288f1bc32c1964c4de50aa305b696b32d0c0f1a
https://github.com/llvm/llvm-project/commit/7288f1bc32c1964c4de50aa305b696b32d0c0f1a
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use nvvm operation for match any (#134283)
The string used for intrinsic was not the correct one
"llvm.nvvm.match.any.sync.i32p". There was an extra `p` at the end.
Use the NVVM operation instead so we don't duplicate it.
Commit: 229ca7dbcb5a6bcbcdc87fb0feb29362375c2843
https://github.com/llvm/llvm-project/commit/229ca7dbcb5a6bcbcdc87fb0feb29362375c2843
Author: zcfh <1412805291 at qq.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/test/tools/llvm-profdata/memprof-buildid.test
Log Message:
-----------
[memprof] Report an error when buildid and profile do not match (#132504)
## Problem
When the build ids of the profile and binary do not match, the error
reported by llvm-profdata is `no entries in callstack map after
symbolization`, but the root cause of this problem is the **build id
mismatch**.
## Trigger scenario
For example, when performing `memprof` optimization on `clang`,
`rawprofile` is collected through `ninja clang`. In addition to running
clang, some other programs will also be executed, and these programs
will also generate rawprofile. When `no entries in callstack map after
symbolization` appears during `llvm-profdata merge`, users may
mistakenly think that the **instrumentation failed or other reasons**,
and will **not directly realize that the binary and profile do not
match**.
## Changed
Currently, when the build id does not match, an assert error is
triggered only in debug mode. Change it to directly return an error when
the build id does not match.
Commit: 7c4013d5912d2163147b46d6f97f4e2b0d976f3a
https://github.com/llvm/llvm-project/commit/7c4013d5912d2163147b46d6f97f4e2b0d976f3a
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
Revert "[SLP]Initial support for (masked)loads + compress and (masked)interleaved"
This reverts commit 0bec0f5c059af5f920fe22ecda469b666b5971b0 to fix
a crash reported in https://lab.llvm.org/buildbot/#/builders/143/builds/6668.
Commit: 012e574d4dc3f2441fae05e3fa9c35f3fe1e310e
https://github.com/llvm/llvm-project/commit/012e574d4dc3f2441fae05e3fa9c35f3fe1e310e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Add FindLastIV test with truncated IV and epilogue vectorization.
This adds missing test coverage for
https://github.com/llvm/llvm-project/pull/132691.
Commit: daab7d08078bb7cd37c66b78a56f4773e6b12fba
https://github.com/llvm/llvm-project/commit/daab7d08078bb7cd37c66b78a56f4773e6b12fba
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: b93376f899824ad8543b961f2f79de6841034090
https://github.com/llvm/llvm-project/commit/b93376f899824ad8543b961f2f79de6841034090
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
Log Message:
-----------
[libc++][type_traits] `reference_{constructs|converts}_from_temporary` with `-Winvalid-specialization` tests (#133946)
Addresses comment:
https://github.com/llvm/llvm-project/pull/128649/files#r2022341035
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Commit: 61768b35285ef73b88146946dddfef045b353708
https://github.com/llvm/llvm-project/commit/61768b35285ef73b88146946dddfef045b353708
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Don't import roots elsewhere (#134012)
Block a context root from being imported by its callers.
Suppose that happened. Its caller - usually a message pump - inlines its copy of the root. Then it (the root) and whatever it calls will be the non-contextually optimized callee versions.
Commit: cdff7f0b6ebe48c7d99079db002855be7716a7a9
https://github.com/llvm/llvm-project/commit/cdff7f0b6ebe48c7d99079db002855be7716a7a9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Retrieve middle VPBB via scalar ph to fix epilogue resumephis (NFC)
If ScalarPH has predecessors, we may need to update its reduction resume
values. If there is a middle block, it must be the first predecessor.
Note that the first predecessor may not be the middle block, if the
middle block doesn't branch to the scalar preheader. In that case,
fixReductionScalarResumeWhenVectorizingEpilog will be a no-op.
In preparation for https://github.com/llvm/llvm-project/pull/106748.
Commit: 5f99e0d4b9ea071e29a9cba75619d26811ff76c2
https://github.com/llvm/llvm-project/commit/5f99e0d4b9ea071e29a9cba75619d26811ff76c2
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/source/Core/Statusline.cpp
M lldb/test/API/functionalities/statusline/TestStatusline.py
Log Message:
-----------
[lldb] Use the "reverse video" effect when colors are disabled. (#134203)
When you run lldb without colors (`-X`), the status line looks weird
because it doesn't have a background. You end up with what appears to be
floating text at the bottom of your terminal.
This patch changes the statusline to use the reverse video effect, even
when colors are off. The effect doesn't introduce any new colors and
just inverts the foreground and background color.
I considered an alternative approach which changes the behavior of the
`-X` option, so that turning off colors doesn't prevent emitting
non-color related control characters such as bold, underline, and
reverse video. I decided to go with this more targeted fix as (1) nobody
is asking for this more general change and (2) it introduces significant
complexity to plumb this through using a setting and driver flag so that
it can be disabled when running the tests.
Fixes #134112.
Commit: 7d3dfc862d283319d01997c0672c50b4a082aa4e
https://github.com/llvm/llvm-project/commit/7d3dfc862d283319d01997c0672c50b4a082aa4e
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.h
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
A llvm/test/ExecutionEngine/JITLink/ppc64/XCOFF_ppc64.ll
Log Message:
-----------
[JITLink][XCOFF] Setup initial build support for XCOFF (#127266)
This patch starts the initial implementation of JITLink for XCOFF (Object format for AIX).
Commit: 4f902d2425e59bd182390702de23d5cec3467fc2
https://github.com/llvm/llvm-project/commit/4f902d2425e59bd182390702de23d5cec3467fc2
Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/test/tools/llvm-dwarfdump/X86/debug-names-verify-completeness.s
M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
Log Message:
-----------
[llvm-dwarfdump] Make --verify for .debug_names multithreaded. (#127281)
This PR makes verification of .debug_names acceleration table
multithreaded. In local testing it improves verification of clang
.debug_names from four minutes to under a minute.
This PR relies on a current mechanism of extracting DIEs into a vector.
Future improvements can include creating API to extract one DIE at a
time, or grouping Entires into buckets by CUs and extracting before
parallel step.
Single Thread
4:12.37 real, 246.88 user, 3.54 sys, 0 amem,10232004 mmem
Multi Thread
0:49.40 real, 612.84 user, 515.73 sys, 0 amem, 11226292 mmem
Commit: 13aac46332f607a38067b5ddd466071683b8c255
https://github.com/llvm/llvm-project/commit/13aac46332f607a38067b5ddd466071683b8c255
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/AST/Type.h
M clang/lib/AST/Type.cpp
M clang/lib/CodeGen/CGExpr.cpp
Log Message:
-----------
[clang][NFC] Refactor CodeGen's hasBooleanRepresentation (#134159)
The ClangIR upstreaming project needs the same logic for
hasBooleanRepresentation() that is currently implemented in the standard
clang codegen. In order to share this code, this change moves the
implementation of this function into the AST Type class.
No functional change is intended by this change. The ClangIR use of this
function will be added separately in a later change.
Commit: a06ae976dc0d977ca034041a8b91634e32bf6994
https://github.com/llvm/llvm-project/commit/a06ae976dc0d977ca034041a8b91634e32bf6994
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Upstream support for promoted types with unary plus/minus (#133829)
The initial upstreaming of unary operations left promoted types
unhandled for the unary plus and minus operators. This change implements
support for promoted types and performs a bit of related code cleanup.
Commit: 0f696c2e866d7aa913c7a1eaadde9bd4378e25b1
https://github.com/llvm/llvm-project/commit/0f696c2e866d7aa913c7a1eaadde9bd4378e25b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
Log Message:
-----------
[LV] Add test where epilogue is vectorized and backedge removed.
Adds extra test coverage for
https://github.com/llvm/llvm-project/pull/106748.
Commit: de40f6101d34dd7964d409366fca663c5515a941
https://github.com/llvm/llvm-project/commit/de40f6101d34dd7964d409366fca663c5515a941
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda][NFC] Use NVVM op for match all (#134303)
Commit: fb6f60ddc5f2e386bbeaa2927a6081d15bc159fc
https://github.com/llvm/llvm-project/commit/fb6f60ddc5f2e386bbeaa2927a6081d15bc159fc
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda][NFC] Use NVVM VoteBallotOp (#134307)
`llvm.nvvm.vote.ballot.sync` has its own operation so use it in
lowering.
Commit: 85fdab33b09ab2246e69f806a85f1846a9ea1e51
https://github.com/llvm/llvm-project/commit/85fdab33b09ab2246e69f806a85f1846a9ea1e51
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/command.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/command.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
Log Message:
-----------
[flang][intrinsic] add nonstandard intrinsic unlink (#134162)
This PR adds the intrinsic `unlink` to flang.
## Test plan
- Added two codegen unit tests and ensured flang-check continues to
pass.
- Manually compiled and ran the example from the documentation.
Commit: 506630d6db7c848f8943fff752039b9e1c91cb63
https://github.com/llvm/llvm-project/commit/506630d6db7c848f8943fff752039b9e1c91cb63
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][deps] Avoid unchecked error assertion (#134284)
Commit: 109566a3d0cf20fc13a181a844c159032e7042ee
https://github.com/llvm/llvm-project/commit/109566a3d0cf20fc13a181a844c159032e7042ee
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Fold "${Target}Analysis" targets into their respective CodeGen targets. (#134312)
After 3801bf6164f570a145e3ebd20cf9114782ae0329, SPIRVAnalysis needs to
include SPIRV.h provided by SPIRVCodegen, but the CodeGen target already
depends on Analysis, so that would cause a circular dependency.
Analysis is a subdirectory of CodeGen so it makes sense as a part of the
main CodeGen target too.
Commit: 996cf5dc6731d00da6ce5dc7a25b399d0ed29d54
https://github.com/llvm/llvm-project/commit/996cf5dc6731d00da6ce5dc7a25b399d0ed29d54
Author: Sumit Agarwal <sumitagarwal330 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
A llvm/test/CodeGen/DirectX/dot2add.ll
Log Message:
-----------
[HLSL] Implement dot2add intrinsic (#131237)
Resolves #99221
Key points: For SPIRV backend, it decompose into a `dot` followed a
`add`.
- [x] Implement dot2add clang builtin,
- [x] Link dot2add clang builtin with hlsl_intrinsics.h
- [x] Add sema checks for dot2add to CheckHLSLBuiltinFunctionCall in
SemaHLSL.cpp
- [x] Add codegen for dot2add to EmitHLSLBuiltinExpr in CGBuiltin.cpp
- [x] Add codegen tests to clang/test/CodeGenHLSL/builtins/dot2add.hlsl
- [x] Add sema tests to clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
- [x] Create the int_dx_dot2add intrinsic in IntrinsicsDirectX.td
- [x] Create the DXILOpMapping of int_dx_dot2add to 162 in DXIL.td
- [x] Create the dot2add.ll and dot2add_errors.ll tests in
llvm/test/CodeGen/DirectX/
Commit: b11eece1bb582fa1d06ca61e210f9741e0a357b7
https://github.com/llvm/llvm-project/commit/b11eece1bb582fa1d06ca61e210f9741e0a357b7
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
A flang/test/Lower/Intrinsics/time.f90
Log Message:
-----------
[flang][intrinsics] Implement the time intrinsic (#133823)
This PR implements the nonstandard intrinsic time.
In addition to running the unit tests, I also double checked that the
example code works by manually compiling and running it.
Commit: 2cd8edd1fff2a9d82902f70270b4209463a34cba
https://github.com/llvm/llvm-project/commit/2cd8edd1fff2a9d82902f70270b4209463a34cba
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/20.rst
Log Message:
-----------
[libc++] Add missing release note for LLVM 20 about zip_view (#134144)
We should have had a release note in LLVM 20 about implementing P2165R4
since that is technically an ABI and API break for zip_view. We don't
expect anyone to actually hit the ABI issue, but we've come across some
(fairly small) breakage due to the API change, so this should at least
be mentioned in the release notes.
Commit: f1c6612202d88cbde224387621327a31609f2177
https://github.com/llvm/llvm-project/commit/f1c6612202d88cbde224387621327a31609f2177
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
Log Message:
-----------
[lldb][debugserver] Save and restore the SVE/SME register state (#134184)
debugserver isn't saving and restoring the SVE/SME register state around
inferior function calls.
Making arbitrary function calls while in Streaming SVE mode is generally
a poor idea because a NEON instruction can be hit and crash the
expression execution, which is how I missed this, but they should be
handled correctly if the user knows it is safe to do.
Re-landing this change after fixing an incorrect behavior on systems
without SME support.
rdar://146886210
Commit: 9f2feeb1891a4d58823e6cbbb404847d6e43e65b
https://github.com/llvm/llvm-project/commit/9f2feeb1891a4d58823e6cbbb404847d6e43e65b
Author: modiking <modiking213 at gmail.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp
M mlir/unittests/Target/LLVM/SerializeNVVMTarget.cpp
Log Message:
-----------
[mlir][gpu][nvptx] Remove null terminator when outputting PTX (#133019)
PTX source files are expected to only contain ASCII text
(https://docs.nvidia.com/cuda/parallel-thread-execution/#source-format) and no null terminators.
`ptxas` has so far not enforced this but is moving towards doing so.
This revealed a problem where the null terminator is getting printed out
in the output file in MLIR path when outputting ptx directly. Only add the null on the assembly output path for JIT instead of in output of `moduleToObject `.
Commit: bd197ca00365cd35002792324bd149f71e864e1a
https://github.com/llvm/llvm-project/commit/bd197ca00365cd35002792324bd149f71e864e1a
Author: Ian Anderson <iana at apple.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
Log Message:
-----------
[clang][modules] Determine if the SDK supports builtin modules independent of the target (#134005)
Whether the SDK supports builtin modules is a property of the SDK
itself, and really has nothing to do with the target. This was already
worked around for Mac Catalyst, but there are some other more esoteric
non-obvious target-to-sdk mappings that aren't handled. Have the SDK
parse its OS out of CanonicalName and use that instead of the target to
determine if builtin modules are supported.
Commit: d33ae41c621dfbfb1eda5d469e2fb146ef49fbf9
https://github.com/llvm/llvm-project/commit/d33ae41c621dfbfb1eda5d469e2fb146ef49fbf9
Author: Aditya Tejpaul <97700214+hoarfrost32 at users.noreply.github.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/sys/time.yaml
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Implemented utimes (Issue #133953) (#134167)
This pull request implements the `utimes` command in libc ([Issue
#133953](https://github.com/llvm/llvm-project/issues/133953)).
- [x] Add the implementation of `utimes` in `/src/sys/time`.
- [x] Add tests for `utimes` in `/test/src/sys/time`.
- [x] Add `utimes` to
[entrypoints.txt](https://github.com/llvm/llvm-project/blob/main/libc/config/linux/x86_64/entrypoints.txt)
for at least x86_64 and whatever you're building on
- [x] Add `utimes` to
[include/sys/time.yaml](https://github.com/llvm/llvm-project/blob/main/libc/include/sys/time.yaml)
Commit: ba0a52a04b140bb7ed75cca4e1c27ec7d747fa40
https://github.com/llvm/llvm-project/commit/ba0a52a04b140bb7ed75cca4e1c27ec7d747fa40
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/DebugInfo/NVPTX/debug-addr-class.ll
M llvm/test/DebugInfo/NVPTX/debug-info.ll
A llvm/test/Transforms/InferAddressSpaces/NVPTX/arguments.ll
Log Message:
-----------
[InferAS] Support getAssumedAddrSpace for Arguments for NVPTX (#133991)
Commit: ee1ee1144a20c439432a4f6075bdd7aa0afcfb9f
https://github.com/llvm/llvm-project/commit/ee1ee1144a20c439432a4f6075bdd7aa0afcfb9f
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
Fix unused variable warning in non-debug build after 7d3dfc862d283319d01997c0672c50b4a082aa4e (NFC)
Commit: c0079ba3dd31dd928df0c7f0f0e6106260f0ca19
https://github.com/llvm/llvm-project/commit/c0079ba3dd31dd928df0c7f0f0e6106260f0ca19
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Make utimes_test more stable (#134321)
The test for utimes added in #134167 might fail if the file for one test
hasn't been cleaned up by the OS before the second test starts. This
patch makes the tests use different files.
Commit: 65b85bf8bcb6c88f249de99c6b568f13b9794c1c
https://github.com/llvm/llvm-project/commit/65b85bf8bcb6c88f249de99c6b568f13b9794c1c
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M flang/test/Driver/linker-flags.f90
Log Message:
-----------
[flang] Fixed driver link LIT test for PPC targets. (#134320)
After #131041, the F128 libraries are not linked for PPC targets even
when the driver is built with FLANG_RUNTIME_F128_MATH_LIB.
Commit: fcfbef5582f097f3933470755c3f873e9efce03f
https://github.com/llvm/llvm-project/commit/fcfbef5582f097f3933470755c3f873e9efce03f
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra declarations of MulOperandsAndResultElementType in TosaOps.td (#134300)
Minor code cleanup
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 7d05c2326c579ff93b7b2a412cc2fd2b10598b34
https://github.com/llvm/llvm-project/commit/7d05c2326c579ff93b7b2a412cc2fd2b10598b34
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
Log Message:
-----------
[mlir][tosa] Remove extra trailing whitespace (#134290)
Trivial change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: ae5306f30e17719d7589b7941bd107ce58a04228
https://github.com/llvm/llvm-project/commit/ae5306f30e17719d7589b7941bd107ce58a04228
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/xqcibi-relocations.s
Log Message:
-----------
[RISCV] Add symbol parsing support for the Xqcibi branch immediate instructions (#134233)
This patch adds support for parsing symbols in the Xqcibi branch
immediate instructions. While the 32 bit branch instructions use the
same instruction format and relocation as the existing branch
instructions in RISCV, the 48 bit ones use the `InstFormatQC_EB`
instruction format and the `R_RISCV_QC_E_BRANCH` relocation that is
defined in `BinaryFormat/ELFRelocs/RISCV_nonstandard.def.`
Vendor relocation support will be added in a later patch.
Commit: b9891715af7ab055ccb7ad424aefe54c67d77988
https://github.com/llvm/llvm-project/commit/b9891715af7ab055ccb7ad424aefe54c67d77988
Author: Rodrigo Rocha <rcor at dcc.ufmg.br>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
M bolt/unittests/Core/MCPlusBuilder.cpp
Log Message:
-----------
[BOLT] Handle generation of compare and jump sequences (#131949)
This patch fixes the following two issues with the createCmpJE for
AArch64:
1. Avoids overwriting the value of the input register RegNo by use XZR
as the destination register.
subs xzr, RegNo, #Imm
which is equivalent to a simple
cmp RegNo, #Imm
2. The immediate operand to the Bcc instruction must be EQ instead of
#Imm.
This patch also adds a new function for createCmpJNE and unit tests for
the both createCmpJE and createCmpJNE for X86 and AArch64.
Commit: 21468261695918cd74e0079153eedbccb689fe20
https://github.com/llvm/llvm-project/commit/21468261695918cd74e0079153eedbccb689fe20
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/test/ThinLTO/X86/ctxprof-separate-module.ll
Log Message:
-----------
[ctxprof] Support for "move" semantics for the contextual root (#134192)
This PR finishes what PR #133992 started.
Commit: 4532512f6c2558fa7d5ba9f35fbce7bad76c1380
https://github.com/llvm/llvm-project/commit/4532512f6c2558fa7d5ba9f35fbce7bad76c1380
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
Log Message:
-----------
[ctxprof] Move `MoveSymbolGUID` to address dependency issues (#134334)
See PR #134192
Commit: 4088c70f4e7eae0bfc2916cc88c7301ec5e19daf
https://github.com/llvm/llvm-project/commit/4088c70f4e7eae0bfc2916cc88c7301ec5e19daf
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
Log Message:
-----------
CGHLSLBuiltins.cpp: Suppress a warning in #131237 [-Wunused-variable]
Commit: c9f6d26e049849a8d8d31deaf6c710894a361b0e
https://github.com/llvm/llvm-project/commit/c9f6d26e049849a8d8d31deaf6c710894a361b0e
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/utils/gn/secondary/llvm/lib/MC/MCParser/BUILD.gn
Log Message:
-----------
[MC] Merge MCAsmLexer.{h,cpp} into AsmLexer.{h,cpp} (#134207)
2b11c7de4ae182496438e166cb6758d41b6e1740 introduced
`llvm/include/llvm/MC/MCAsmLexer.h` and made `AsmLexer` inherit from
`MCAsmLexer`, likely to allow target-specific parsers to depend solely
on `MCAsmLexer`. However, this separation now seems unnecessary and
confusing.
`MCAsmLexer` defines virtual functions with `AsmLexer` as its only
implementation, and `AsmLexer` itself has few extra public methods.
To simplify the codebase, this change merges MCAsmLexer.{h,cpp} into
AsmLexer.{h,cpp}. MCAsmLexer.h is temporarily kept as a forwarder.
Note: I doubt that a downstream lexer handling an assembly syntax
significantly different from the standard GNU Assembler syntax would
want to inherit from `MCAsmLexer`. Instead, it's more likely they'd
extend `AsmLexer` by adding new states and modifying its internal logic,
as seen with variables for MASM, M68k, and HLASM.
Commit: 897f9a51b981c773a63dd94709d9de2442feb008
https://github.com/llvm/llvm-project/commit/897f9a51b981c773a63dd94709d9de2442feb008
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsX86.td
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
Log Message:
-----------
[X86][AVX10.2] Replace nepbh with bf16 to match with others, NFCI (#134240)
Commit: 8e7d6baf0e013408be932758b4a5334c14a34086
https://github.com/llvm/llvm-project/commit/8e7d6baf0e013408be932758b4a5334c14a34086
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M lldb/include/lldb/API/SBModule.h
M lldb/source/API/SBModule.cpp
Log Message:
-----------
Revert "[LLDB] Expose checking if the symbol file exists/is loaded via SBModule" (#134341)
Reverts llvm/llvm-project#134163
Reverting while @clayborg and I come up with a better API
Commit: 6333f8457c43f5a2d19d6552689726e86196dea7
https://github.com/llvm/llvm-project/commit/6333f8457c43f5a2d19d6552689726e86196dea7
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/test/Lower/OpenMP/loop-directive.f90
Log Message:
-----------
[flang][OpenMP] Move reductions from `loop` to `teams` when `loop` is mapped to `distribute` (#132920)
Follow-up to #132003, in particular, see
https://github.com/llvm/llvm-project/pull/132003#issuecomment-2739701936.
This PR extends reduction support for `loop` directives. Consider the
following scenario:
```fortran
subroutine bar
implicit none
integer :: x, i
!$omp teams loop reduction(+: x)
DO i = 1, 5
call foo()
END DO
end subroutine
```
Note the following:
* According to the spec, the `reduction` clause will be attached to
`loop` during earlier stages in the compiler.
* Additionally, `loop` cannot be mapped to `distribute parallel for` due
to the call to a foreign function inside the loop's body.
* Therefore, `loop` must be mapped to `distribute`.
* However, `distribute` does not have `reduction` clauses.
* As a result, we have to move the `reduction`s from the `loop` to its
parent `teams` directive, which is what is done by this PR.
Commit: 46e2c07fa28bd42da8f8ca52e93603297114afa2
https://github.com/llvm/llvm-project/commit/46e2c07fa28bd42da8f8ca52e93603297114afa2
Author: cmtice <cmtice at google.com>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
A lldb/docs/dil-expr-lang.ebnf
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/source/Target/StackFrame.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
M lldb/unittests/ValueObject/DILLexerTests.cpp
Log Message:
-----------
[LLDB] Add DIL code for handling plain variable names. (#120971)
Add the Data Inspection Language (DIL) implementation pieces for
handling plain local and global variable names.
See https://discourse.llvm.org/t/rfc-data-inspection-language/69893 for
information about DIL.
This change includes the basic AST, Lexer, Parser and Evaluator pieces,
as well as some tests.
Commit: 92c93f5286b9ff33f27ff694d2dc33da1c07afdd
https://github.com/llvm/llvm-project/commit/92c93f5286b9ff33f27ff694d2dc33da1c07afdd
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-03 (Thu, 03 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/lib/MC/MCParser/AsmLexer.cpp
Log Message:
-----------
[MC] Merge MCAsmLexer and AsmLexer
Follow-up to #134207
Both classes define `IsAtStartOfStatement` but the semantics are
confusingly different. Rename the base class one.
Commit: 92923e517c2926eb94b7b6e403433ecf62953186
https://github.com/llvm/llvm-project/commit/92923e517c2926eb94b7b6e403433ecf62953186
Author: Iris <0.0 at owo.li>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
A mlir/test/Target/LLVMIR/Import/metadata-dependent-libraries.ll
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][llvm] Add `LLVM_DependentLibrariesAttr` (#133385)
https://llvm.org/docs/LangRef.html#dependent-libs-named-metadata
---------
Co-authored-by: Tobias Gysi <tobias.gysi at nextsilicon.com>
Commit: d579622b1e1a6bc59fbe0135ab30fc0fd9849882
https://github.com/llvm/llvm-project/commit/d579622b1e1a6bc59fbe0135ab30fc0fd9849882
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[clang][CGObjC] Prefer PointerType::get with LLVMContext over Type (NFC) (#133871)
Part of #123569
Commit: 78a4b9d9b46d59e20cf01d6008ab0080052e9938
https://github.com/llvm/llvm-project/commit/78a4b9d9b46d59e20cf01d6008ab0080052e9938
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M polly/lib/CodeGen/LoopGeneratorsGOMP.cpp
Log Message:
-----------
[polly] Prefer PointerType::get with LLVMContext over Type (NFC) (#133868)
Part of #123569
Commit: 22130ca486b2fb43198453a53eb048cd8a97e9a8
https://github.com/llvm/llvm-project/commit/22130ca486b2fb43198453a53eb048cd8a97e9a8
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/AST/Expr.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
Log Message:
-----------
[MS][clang] Fix crash on deletion of array of pointers (#134088)
Sometimes a non-array delete is treated as delete[] when input pointer
is pointer to array. With vector deleting destructors support we now
generate a virtual destructor call instead of simple loop over the
elements. This patch adjusts the codepath that generates virtual call to
expect the case of pointer to array.
Commit: e4f76e3a3335dda608c661d76efacc70e607a5e4
https://github.com/llvm/llvm-project/commit/e4f76e3a3335dda608c661d76efacc70e607a5e4
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
Log Message:
-----------
Reapply "[lldb] Return *const* UnwindPlan pointers from FuncUnwinders " (#134246)
This reverts commit 094904303d50e0ab14bc5f2586a602f79af95953, reapplying
d7afafdbc464e65c56a0a1d77bad426aa7538306 (#133247).
The failure ought to be fixed by
0509932bb6a291ba11253f30c465ab3ad164ae08.
Commit: f528a80d3ed70181483e3ce10aa3a7a4dd812817
https://github.com/llvm/llvm-project/commit/f528a80d3ed70181483e3ce10aa3a7a4dd812817
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/test/Driver/arm-thread-pointer.c
Log Message:
-----------
[Arm] Add more -mtp=cp15 tests (#134098)
This patch systematically covers all -mtp=cp15 behaviour options for
better code coverage.
Commit: aaf398c2e76853e890fa3aae35a7ea3aa4edac97
https://github.com/llvm/llvm-project/commit/aaf398c2e76853e890fa3aae35a7ea3aa4edac97
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
Log Message:
-----------
[AArch64] Regenerate apple-unrolling-multi-exit.ll test checks (#134257)
Commit: 9eb7e64145f66f59f07edffb4f9c8a648174543e
https://github.com/llvm/llvm-project/commit/9eb7e64145f66f59f07edffb4f9c8a648174543e
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Add verification for Bias operand (#134231)
Commit: c154d66339ed6e3c236849e4999cf0dc6ddec777
https://github.com/llvm/llvm-project/commit/c154d66339ed6e3c236849e4999cf0dc6ddec777
Author: Adrian Kuegel <akuegel at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Apply ClangTidyBugProne finding (NFC).
argument name 'outputType' in comment does not match parameter name 'outputTypes'
Commit: 1302610f03a1f10c2eea4c66445ccba4c52887b6
https://github.com/llvm/llvm-project/commit/1302610f03a1f10c2eea4c66445ccba4c52887b6
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
A llvm/test/Transforms/MergeFunc/crash-cast-arrays.ll
Log Message:
-----------
[MergeFunc] Fix crash caused by bitcasting ArrayType (#133259)
createCast in MergeFunctions did not consider ArrayTypes, which results
in the creation of a bitcast between ArrayTypes in the thunk function,
leading to an assertion failure in the provided test case.
The version of createCast in GlobalMergeFunctions does handle
ArrayTypes, so this common code has been factored out into the
IRBuilder.
Commit: a4573ee38d4497749d06aedb422159277cccfd66
https://github.com/llvm/llvm-project/commit/a4573ee38d4497749d06aedb422159277cccfd66
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/test/Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
Log Message:
-----------
[LoopUnroll] UnrollRuntimeMultiExit takes precedence over TTI. (#134259)
Update UnrollRuntimeLoopRemainder to always give priority to the
UnrollRuntimeMultiExit option, if provided.
After ad9da92cf6f7357 (https://github.com/llvm/llvm-project/pull/124462),
we would ignore the option if the backend indicates multi-exit is profitable.
This means it cannot be used to disable runtime unrolling.
To be consistent with canProfitablyRuntimeUnrollMultiExitLoop, always
respect the option.
This surfaced while discussing https://github.com/llvm/llvm-project/pull/131998.
PR: https://github.com/llvm/llvm-project/pull/134259
Commit: 4da5e9dd320e9d48be0fa05ba1a8faf50fb53834
https://github.com/llvm/llvm-project/commit/4da5e9dd320e9d48be0fa05ba1a8faf50fb53834
Author: gbMattN <matthew.nagy at sony.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
Log Message:
-----------
[ASan] Fix shadowed-stack-serialization test on targets with different stack layout
Commit: 5812516ae2e034d70b0cca20b95d627e163b4567
https://github.com/llvm/llvm-project/commit/5812516ae2e034d70b0cca20b95d627e163b4567
Author: Alaa Ali <alaa.leithy at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/test/Dialect/Shape/canonicalize.mlir
Log Message:
-----------
[MLIR] Fix canonicalization pattern for 'shape.shape_of' (#134234)
This PR will fix a bug in a canonicalization pattern (operation
shape.shape_of: shape of reshape)
```
// Before
func.func @f(%arg0: tensor<?x1xf32>, %arg1: tensor<3xi32>) -> tensor<3xindex> {
%reshape = tensor.reshape %arg0(%arg1) : (tensor<?x1xf32>, tensor<3xi32>) -> tensor<?x1x1xf32>
%0 = shape.shape_of %reshape : tensor<?x1x1xf32> -> tensor<3xindex>
return %0 : tensor<3xindex>
}
//This is will error out as follows:
error: 'tensor.cast' op operand type 'tensor<3xi32>' and result type 'tensor<3xindex>' are cast incompatible
%0 = shape.shape_of %reshape : tensor<?x1x1xf32> -> tensor<3xindex>
^
note: see current operation: %0 = "tensor.cast"(%arg1) : (tensor<3xi32>) -> tensor<3xindex>
```
```
// After
func.func @f(%arg0: tensor<?x1xf32>, %arg1: tensor<3xi32>) -> tensor<3xindex> {
%0 = arith.index_cast %arg1 : tensor<3xi32> to tensor<3xindex>
return %0 : tensor<3xindex>
}
```
See file canonicalize.mlir in the change list for an example.
For the context, this bug was found while running a test on Keras 3, the
canonicalizer errors out due to an invalid tensor.cast operation when
the batch size is dynamic.
The operands of the op are tensor<3xi32> cast to tensor<3xindex>.
This change is related to a previous PR:
https://github.com/llvm/llvm-project/pull/98531
---------
Co-authored-by: Alaa Ali <alaaali at ah-alaaali-l.dhcp.mathworks.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: a03b2250db20db7d6416ca37b41f5041e613f632
https://github.com/llvm/llvm-project/commit/a03b2250db20db7d6416ca37b41f5041e613f632
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX][Docs] [NFC] Update docs on intrinsics (#133136)
Recently, we have added a set of complex intrinsics on
the TMA, tcgen05, and Cvt family of instructions.
This patch captures the key learnings from our experience
so far and documents them as guidelines for future design.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: d6c076eeaa9d57363c6b64989d17fd094363bf9e
https://github.com/llvm/llvm-project/commit/d6c076eeaa9d57363c6b64989d17fd094363bf9e
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
Log Message:
-----------
[mlir][tosa] Reorder Tosa_ExtensionAttrs to match with definition order (#134319)
Simple refactor change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 2bdc1a1337692a5743658ba6b680e5d914e684a4
https://github.com/llvm/llvm-project/commit/2bdc1a1337692a5743658ba6b680e5d914e684a4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
Log Message:
-----------
[LV] Use frozen start value for FindLastIV if needed. (#132691)
FindLastIV introduces multiple uses of the start value, where in the
original source there was only a single use, when the epilogue is
vectorized.
Each use of undef may produce a different result, so introducing
multiple uses can produce incorrect results when the input is
undef/poison.
If the start value may be undef or poison, freeze it and use the frozen
value, which will be the same at all uses.
See the following scenarios in Alive2:
* Both main and epilogue vector loops execute, go to exit block: https://alive2.llvm.org/ce/z/_TSvRr
* Both main and epilogue vector loops execute, go to scalar loop: https://alive2.llvm.org/ce/z/CsPj5v
* Only epilogue vector loop executes, go to exit block: https://alive2.llvm.org/ce/z/5XqkNV
* Only epilogue vector loop executes, go to scalar loop: https://alive2.llvm.org/ce/z/JUpqRN
The latter 2 show requiring freezing the resume phi. That means we cannot freeze
in the preheader. We could move the freeze to the main iteration count check, but
that would be a bit fragile to find and other transforms can sink the freeze if needed.
Depends on https://github.com/llvm/llvm-project/pull/132689
and https://github.com/llvm/llvm-project/pull/132690.
Fixes https://github.com/llvm/llvm-project/issues/126836
PR: https://github.com/llvm/llvm-project/pull/132691
Commit: a9a7b711e46548b2d6e9fef4daf39c455923644a
https://github.com/llvm/llvm-project/commit/a9a7b711e46548b2d6e9fef4daf39c455923644a
Author: Vladi Krapp <vladi.krapp at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/test/Driver/arm-thread-pointer.c
Log Message:
-----------
[ARM][NFC] Remove lines unnecessary for test (#134359)
Commit: a17d49687a2f5bc43fa57376a566c65a7fc97d7b
https://github.com/llvm/llvm-project/commit/a17d49687a2f5bc43fa57376a566c65a7fc97d7b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Flang.cpp
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/code-object-version.f90
A flang/test/Integration/amdgpu-code-object-version.f90
Log Message:
-----------
[Flang][Driver][AMDGPU] Fix -mcode-object-version (#134230)
This patch updates flang to follow clang's behavior when processing the
`-mcode-object-version` option.
It is now used to populate an LLVM module flag called
`amdhsa_code_object_version` expected by the backend and also updates
the driver to add the `--amdhsa-code-object-version` option to the
frontend invocation for device compilation of AMDGPU targets.
Commit: b0b97e3b0507f44c126dd2e6d3e6575cf1ec598d
https://github.com/llvm/llvm-project/commit/b0b97e3b0507f44c126dd2e6d3e6575cf1ec598d
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
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.td
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/fptosi-sat-vector.ll
M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
M llvm/test/CodeGen/AArch64/neon-compare-instructions.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[LLVM][AArch64] Refactor lowering of fixed length integer setcc operations. (#132434)
The original code is essentially performing isel during legalisation
with the AArch64 specific nodes offering no additional value compared to
ISD::SETCC.
Commit: 0d17547879ffbd50d79907ea23fdac199758d45e
https://github.com/llvm/llvm-project/commit/0d17547879ffbd50d79907ea23fdac199758d45e
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
A llvm/test/CodeGen/X86/powi-const.ll
M llvm/test/CodeGen/X86/powi.ll
Log Message:
-----------
[X86][NFC] Added POWI function testcases (#134276)
- Moved existing llvm/test/CodeGen/X86/powi.ll file to
llvm/test/CodeGen/X86/powi-const.ll.
- Added new testcases for powi into llvm/test/CodeGen/X86/powi.ll.
Commit: a2e888f5b49113c66b055290cb7069ae88c9d2e1
https://github.com/llvm/llvm-project/commit/a2e888f5b49113c66b055290cb7069ae88c9d2e1
Author: Vy Nguyen <vyng at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/source/Interpreter/CommandInterpreter.cpp
Log Message:
-----------
[LLDB][NFC]Fix stack-use-after free bug. (#134296)
Details: detailed_command_telemetry (bool) and command_id (int) could
already be freed when the dispatcher's dtor runs. So we should just copy
them into the lambda since they are cheap.
Commit: babbc6f8429ca07cdf2f5b6ff5e9516c383079b7
https://github.com/llvm/llvm-project/commit/babbc6f8429ca07cdf2f5b6ff5e9516c383079b7
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/Headers.cpp
Log Message:
-----------
[NFC] Fixes proposed by code sanitizer. (#134138)
Commit: 547d054ef13c2ca5ec42f7061d8ba941c05605d9
https://github.com/llvm/llvm-project/commit/547d054ef13c2ca5ec42f7061d8ba941c05605d9
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
Log Message:
-----------
[clang-tidy][NFC][doc] improve "options" sections of `misc-`, `cppcore-` and other checks (#133694)
Improved "options" sections of various checks:
1. Added Options keyword to be a delimiter between "body" and "options"
parts of docs
2. Added default values where were absent.
3. Changed double-tick to single-tick in default values.
---------
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Commit: d02786e7785ffa8c0aae4d89e9f6391bb4645500
https://github.com/llvm/llvm-project/commit/d02786e7785ffa8c0aae4d89e9f6391bb4645500
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Sema/SemaTemplateDeduction.cpp
A clang/test/Sema/nullability-and-template-deduction.cpp
Log Message:
-----------
[Sema] Handle AttributedType in template deduction with derived-to-base conversions (#134361)
Fix #134356.
We accidentally skipped checking derived-to-base conversions because
deduction did not strip sugar in the relevant code. This caused
deduction failures when a parameter type had an attribute.
Commit: da69eb75cbc634a56886e94de3e546c63c17567e
https://github.com/llvm/llvm-project/commit/da69eb75cbc634a56886e94de3e546c63c17567e
Author: Ilya Biryukov <ibiryukov at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/ASTMatchers/ASTMatchers.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/lib/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
Log Message:
-----------
[NFC] [ASTMatchers] Share code of `forEachArgumentWithParamType` with UnsafeBufferUsage (#132387)
This changes exposes a low-level helper that is used to implement
`forEachArgumentWithParamType` but can also be used without matchers,
e.g. if performance is a concern.
Commit f5ee10538b68835112323c241ca7db67ca78bf62 introduced a copy of the
implementation of the `forEachArgumentWithParamType` matcher that was
needed for optimizing performance of `-Wunsafe-buffer-usage`.
This change shares the code between the two so that we do not repeat
ourselves and any bugfixes or changes will be picked up by both
implementations in the future.
Commit: 16a1d5d51f6bafa19afc140b033db2cfb090743a
https://github.com/llvm/llvm-project/commit/16a1d5d51f6bafa19afc140b033db2cfb090743a
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/DeclCXX.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExprCXX.cpp
A clang/test/SemaCXX/gh134265.cpp
Log Message:
-----------
[clang] Do not diagnose unused deleted operator delete[] (#134357)
For vector deleting dtors support we now also search and save operator
delete[]. Avoid diagnosing deleted operator delete[] when doing that
because vector deleting dtors are only called when delete[] is present
and whenever delete[] is present in the TU it will be diagnosed
correctly.
Fixes https://github.com/llvm/llvm-project/issues/134265
Commit: d2bcc11067e682a0753c1068e378d66d59edff73
https://github.com/llvm/llvm-project/commit/d2bcc11067e682a0753c1068e378d66d59edff73
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
[AArch64][SVE] Use FeatureUseFixedOverScalableIfEqualCost for A510 and A520 (#132246)
Inefficient SVE codegen occurs on at least two in-order cores,
those being Cortex-A510 and Cortex-A520. For example a simple vector
add
```
void foo(float a, float b, float dst, unsigned n) {
for (unsigned i = 0; i < n; ++i)
dst[i] = a[i] + b[i];
}
```
Vectorizes the inner loop into the following interleaved sequence
of instructions.
```
add x12, x1, x10
ld1b { z0.b }, p0/z, [x1, x10]
add x13, x2, x10
ld1b { z1.b }, p0/z, [x2, x10]
ldr z2, [x12, #1, mul vl]
ldr z3, [x13, #1, mul vl]
dech x11
add x12, x0, x10
fadd z0.s, z1.s, z0.s
fadd z1.s, z3.s, z2.s
st1b { z0.b }, p0, [x0, x10]
addvl x10, x10, #2
str z1, [x12, #1, mul vl]
```
By adjusting the target features to prefer fixed over scalable if the
cost is equal we get the following vectorized loop.
```
ldp q0, q3, [x11, #-16]
subs x13, x13, #8
ldp q1, q2, [x10, #-16]
add x10, x10, #32
add x11, x11, #32
fadd v0.4s, v1.4s, v0.4s
fadd v1.4s, v2.4s, v3.4s
stp q0, q1, [x12, #-16]
add x12, x12, #32
```
Which is more efficient.
Commit: 85fd83ed49604d1046e937afa76f3ad802e28822
https://github.com/llvm/llvm-project/commit/85fd83ed49604d1046e937afa76f3ad802e28822
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/Lower/host-associated.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/structure-constructors.f90
Log Message:
-----------
[flang][nfc] Use llvm memmove intrinsic over regular call (#134294)
Follow up to #134170.
We should be using the LLVM intrinsics instead of plain fir.calls when
we can. Existing code creates a declaration for the llvm intrinsic and
a regular fir.call, which makes it hard for consumers of the IR to find
all the intrinsic calls.
Commit: 6966b4f4a57be101150fc714f17e8d534db8e79d
https://github.com/llvm/llvm-project/commit/6966b4f4a57be101150fc714f17e8d534db8e79d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
Log Message:
-----------
[mlir][arith] Remove func patterns from `populateArithWideIntEmulationPatterns` (#134316)
This function should populate only patterns that are related to wide
integer operation emulation.
Commit: 77cfa38dcbe100ac26b98309bbf7cf346a75c2e5
https://github.com/llvm/llvm-project/commit/77cfa38dcbe100ac26b98309bbf7cf346a75c2e5
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
Log Message:
-----------
[DirectX][TTI] Sort switch statements. NFC (#134379)
Commit: fb9deab74e5dc9a9227732fcd95c1aadacf86d44
https://github.com/llvm/llvm-project/commit/fb9deab74e5dc9a9227732fcd95c1aadacf86d44
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/test/C/C23/n3042.c
Log Message:
-----------
Add additional test coverage for WG14 N3042
This addresses a post-commit request for some additional tests
Commit: fd6260f13bfecfb13537e184f4e8365cf35492fd
https://github.com/llvm/llvm-project/commit/fd6260f13bfecfb13537e184f4e8365cf35492fd
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
Log Message:
-----------
[EquivClasses] Shorten members_{begin,end} idiom (#134373)
Introduce members() iterator-helper to shorten the members_{begin,end}
idiom. A previous attempt of this patch was #130319, which had to be
reverted due to unit-test failures when attempting to call members() on
the end iterator. In this patch, members() accepts either an ECValue or
an ElemTy, which is more intuitive and doesn't suffer from the same
issue.
Commit: ecd4c0857b69e2c3f592d805bafde8e9f6a19005
https://github.com/llvm/llvm-project/commit/ecd4c0857b69e2c3f592d805bafde8e9f6a19005
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/docs/SourceLevelDebugging.rst
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/AArch64/fast-isel-dbg.ll
M llvm/test/CodeGen/AArch64/selectiondag-order.ll
M llvm/test/CodeGen/MIR/X86/diexpr-win32.mir
M llvm/test/CodeGen/X86/selectiondag-order.ll
M llvm/test/DebugInfo/ARM/lowerbdgdeclare_vla.ll
M llvm/test/Transforms/Coroutines/coro-debug.ll
M llvm/test/Transforms/LoopVectorize/discriminator.ll
Log Message:
-----------
[Verifier] Require that dbg.declare variable is a ptr (#134355)
As far as I understand, the first operand of dbg_declare should be a
pointer (inside a metadata wrapper). However, using a non-pointer is
currently not rejected, and we have some tests that use non-pointer
types. As far as I can tell, these tests either meant to use dbg_value
or are just incorrect hand-crafted tests.
Ran into this while trying to `fix` #134008.
Commit: 846000c0052000034d424c744739b30b70c8c8fc
https://github.com/llvm/llvm-project/commit/846000c0052000034d424c744739b30b70c8c8fc
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
R llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
Revert "[AArch64][SVE] Use FeatureUseFixedOverScalableIfEqualCost for A510 and A520" (#134382)
Reverts llvm/llvm-project#132246
Commit: 7d4ea771c4817bdb042ebc6a2aa35f877785edcf
https://github.com/llvm/llvm-project/commit/7d4ea771c4817bdb042ebc6a2aa35f877785edcf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[SDAG] Use index type size for offset accumulation
This is a precondition of the API. Not testable with in-tree
targets.
Fixes https://github.com/llvm/llvm-project/issues/134008.
Commit: d4002b43f517fea0292bf71dccaa3d0f6dd798b9
https://github.com/llvm/llvm-project/commit/d4002b43f517fea0292bf71dccaa3d0f6dd798b9
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
Log Message:
-----------
[lldb] Skip Expression NonZeroFrame test on Windows
It is failing on our Windows on Arm bot:
https://lab.llvm.org/buildbot/#/builders/141/builds/7605
Will investigate later.
Commit: 5fbd0658a02bd91cf36419f2f425732a06315432
https://github.com/llvm/llvm-project/commit/5fbd0658a02bd91cf36419f2f425732a06315432
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call-scalarize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr73894.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-overflow-checks.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/pr47665.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/predicated-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-inbounds-flags-for-reverse-vector-pointer.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr81872.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/as_cast.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/memdep-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr46525-expander-insertpoint.ll
M llvm/test/Transforms/LoopVectorize/pr51614-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/select-reduction.ll
M llvm/test/Transforms/LoopVectorize/store-reduction-results-in-tail-folded-loop.ll
M llvm/test/Transforms/LoopVectorize/strict-fadd-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-alloca-in-loop.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-switch.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-vectorization-factor-1.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vplan-sink-scalars-and-merge.ll
Log Message:
-----------
[VPlan] Add initial CFG simplification, removing BranchOnCond true. (#106748)
Add an initial CFG simplification transform, which removes the dead
edges for blocks terminated with BranchOnCond true.
At the moment, this removes the edge between middle block and scalar
preheader when folding the tail.
PR: https://github.com/llvm/llvm-project/pull/106748
Commit: aca270877fc607a5558ff0a0f104fd5b6bb8fc62
https://github.com/llvm/llvm-project/commit/aca270877fc607a5558ff0a0f104fd5b6bb8fc62
Author: Gaรซtan Bossu <gaetan.bossu at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] Use named structs in vectorizeStores() (NFC) (#132781)
This is a mostly straightforward replacement of the previous
`std::pair<int, std::set<std::pair<...>>>` data structure used in
`SLPVectorizerPass::vectorizeStores()` with slightly more readable
alternatives.
I had done that change in my local tree to help me better understand the
code. Itโs not very invasive, so I thought Iโd create a PR for it.
Commit: c8bde44cfcc75a8389f1a72917e0aadc125f5e22
https://github.com/llvm/llvm-project/commit/c8bde44cfcc75a8389f1a72917e0aadc125f5e22
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Runtime/extensions.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
Log Message:
-----------
[flang] Implement FSEEK and FTELL (#133003)
Add function and subroutine forms of FSEEK and FTELL as intrinsic
procedures. Accept common aliases from legacy compilers as well.
A separate patch to llvm-test-suite will enable tests for these
procedures once this patch has merged.
Depends on https://github.com/llvm/llvm-project/pull/132423; CI builds
will likely fail until that patch is merged and this PR is rebased.
Commit: 3674a5f18e8d34cc597e0bd81f38fab3731139f5
https://github.com/llvm/llvm-project/commit/3674a5f18e8d34cc597e0bd81f38fab3731139f5
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Semantics/resolve18.f90
Log Message:
-----------
[flang] Permit unused USE association of subprogram name (#134009)
A function or subroutine can allow an object of the same name to appear
in its scope, so long as the name is not used. This is similar to the
case of a name being imported from multiple distinct modules, and
implemented by the same representation.
It's not clear whether this is conforming behavior or a common
extension.
Commit: 262b3f7615b9a4dd660eb39afade73c24777e66a
https://github.com/llvm/llvm-project/commit/262b3f7615b9a4dd660eb39afade73c24777e66a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/descriptor.cpp
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/type-kinds.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/type.h
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/type.cpp
Log Message:
-----------
[flang] Remove runtime dependence on C++ support for types (#134164)
Fortran::runtime::Descriptor::BytesFor() only works for Fortran
intrinsic types for which a C++ type counterpart exists, so it crashes
on some types that are legitimate Fortran types like REAL(2). Move some
logic from Evaluate into a new header in flang/Common, then use it to
avoid this needless dependence on C++.
Commit: ade9d1f8101256398a2b664eba5aac18c6a3bfce
https://github.com/llvm/llvm-project/commit/ade9d1f8101256398a2b664eba5aac18c6a3bfce
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/lib/runtime/descriptor-io.h
Log Message:
-----------
[flang][runtime] Remove bad runtime assertion (#134176)
The RUNTIME_CHECK in question doesn't allow for the possibility that an
allocatable or pointer component could be processed by defined I/O.
Remove it in favor of a dynamic allocation check.
Commit: efd7caac2e60209fd9358a24f038c91afe6a4a0a
https://github.com/llvm/llvm-project/commit/efd7caac2e60209fd9358a24f038c91afe6a4a0a
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/test/Evaluate/errors01.f90
Log Message:
-----------
[flang] IEEE_SUPPORT_FLAG(..., LOCAL) in specification expression (#134270)
The optional second argument to IEEE_SUPPORT_FLAG (and related functions
from the intrinsic IEEE_ARITHMETIC module) is needed only for its type,
not its value. Restrictions on local objects as arguments to function
references in specification expressions shouldn't apply to it.
Define a new attribute for dummy data object characteristics to
distinguish such arguments, set it for the appropriate intrinsic
function references, and test it during specification expression
validation.
Commit: 507ce46b6fb0271c82df1352e82d592c0cbf9aaf
https://github.com/llvm/llvm-project/commit/507ce46b6fb0271c82df1352e82d592c0cbf9aaf
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
M flang/test/Preprocessing/directive-contin-with-pp.F90
Log Message:
-----------
[flang][preprocessor] Directive continuation must skip empty macros (#134149)
When a compiler directive continuation line starts with keyword macro
names that have empty expansions, skip them.
Commit: 1bef59c9db07840609c919fa95127decbfc3f55d
https://github.com/llvm/llvm-project/commit/1bef59c9db07840609c919fa95127decbfc3f55d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Parser/prescan.cpp
A flang/test/Preprocessing/pp047.F
A flang/test/Preprocessing/pp135.F90
Log Message:
-----------
[flang][preprocessor] Further macro replacement of continued identifiers (#134302)
The preprocessor can perform macro replacement within identifiers when
they are split up with Fortran line continuation, but is failing to do
macro replacement on a continued identifier when none of its parts are
replaced.
Commit: 4090910a695efcba4b484e9f8ad2b564e9a4e7ed
https://github.com/llvm/llvm-project/commit/4090910a695efcba4b484e9f8ad2b564e9a4e7ed
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libcxx/include/__configuration/platform.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/fstream
M libcxx/include/regex
M libcxx/include/strstream
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/system_reserved_names.gen.py
Log Message:
-----------
[libc++] Guard additional headers with _LIBCPP_HAS_LOCALIZATION (#131921)
There were some remaining headers that were not guarded with
_LIBCPP_HAS_LOCALIZATION, leading to errors when trying to use modules
on platforms that don't support localization (since all the headers get
pulled in when building the 'std' module). This patch brings these
headers in line with what we do for every other header that depends on
localization.
This patch also requires including <picolibc.h> from
<__configuration/platform.h> in order to define _NEWLIB_VERSION. In the
long term, we should use a better approach for doing that, such as
defining a macro in the __config_site header.
Commit: 07161a3fb16f07f4001de43e17d0cd487841ef98
https://github.com/llvm/llvm-project/commit/07161a3fb16f07f4001de43e17d0cd487841ef98
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/test/MC/RISCV/rv32xqccmp-invalid.s
M llvm/test/MC/RISCV/rv32zcmp-invalid.s
Log Message:
-----------
[RISCV] Return NoMatch if register list does not start with a curly brace.
This way we emit the error message that explains the full syntax
for a register list.
parseZcmpStackAdj had to be modified to not assume the previous
operand had been successfully parsed as a register list.
Commit: 0d3f5ec0da064d2314098644e78d29d3c84e179c
https://github.com/llvm/llvm-project/commit/0d3f5ec0da064d2314098644e78d29d3c84e179c
Author: Evan Wilde <ewilde at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
[compiler-rt][CMake] Pass all flags to _Float16 try-compile (#133952)
The try-compile mechanism requires that `CMAKE_REQUIRED_FLAGS` is a
space-separated string instead of a list of flags. The original code
expanded `BUILTIN_FLAGS` into `CMAKE_REQUIRED_FLAGS` as a
space-separated string and then would overwrite `CMAKE_REQUIRED_FLAGS`
with `TARGET_${arch}_CFLAGS` prepended to the unexpanded
`BUILTIN_CFLAGS_${arch}`. This resulted in the first two arguments being
passed into the try-compile invocation, but dropping the other arguments
listed in `BUILTIN_CFLAGS_${arch}`.
This patch appends `TARGET_${arch}_CFLAGS` and `BUILTIN_CFLAGS_${arch}` to
`CMAKE_REQUIRED_FLAGS` before expanding CMAKE_REQUIRED_FLAGS as a
space-separated string. This passes any pre-set required flags, in addition to
all of the builtin and target flags to the Float16 detection.
Commit: e8d50097849081168f0285418ce8a36733eb7154
https://github.com/llvm/llvm-project/commit/e8d50097849081168f0285418ce8a36733eb7154
Author: Kevin Gleason <gleasonk at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/parser.mlir
Log Message:
-----------
[mlir] Fix parsing of empty complex tensors (#134322)
After https://github.com/llvm/llvm-project/pull/133220 we had some empty
complex literals (`tensor<0xcomplex<f32>>`) failing to parse.
This was largely due to the ambiguity between `shape.empty()` meaning
splat (`dense<1>`) or empty literal (`dense<>`). Used type's numel to
disambiguate during verification.
Commit: 3d24046b3306cbc682aa1f17426169a942d8931a
https://github.com/llvm/llvm-project/commit/3d24046b3306cbc682aa1f17426169a942d8931a
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/Relocation.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
Log Message:
-----------
[BOLT] Skip out-of-range pending relocations (#116964)
When a pending relocation is created it is also marked whether it is
optional or not. It can be optional when such relocation is added as
part of an optimization (i.e., `scanExternalRefs`).
When bolt tries to `flushPendingRelocations`, it safely skips any
optional relocations that cannot be encoded due to being out of
range. A pre-requisite to that is the usage of the `-force-patch`
flag. Alternatrively, BOLT will bail out with a relevant message.
Background:
BOLT, as part of scanExternalRefs, identifies external references from
calls and creates some pending relocations for them. Those when
flushed will update references to point to the optimized functions.
This optimization can be disabled using `--no-scan`.
BOLT can assert if any of these pending relocations cannot be encoded.
This patch does not disable this optimization but instead selectively
applies it given that a pending relocation is optional and `-force-patch`
was enabled.
Commit: 5acab1bd15004e0ab7af60d2c4919c189bd38520
https://github.com/llvm/llvm-project/commit/5acab1bd15004e0ab7af60d2c4919c189bd38520
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
Log Message:
-----------
[mlir][SPIRV] `IfOpConversion`: Compute result types earlier (#134380)
Compute the result types and bail out before modifying any IR. That is
more efficient when type conversion failed, because no modifications
must be rolled back.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Commit: f9193f3b18f08547e2f92b5e354a44655bfc1b94
https://github.com/llvm/llvm-project/commit/f9193f3b18f08547e2f92b5e354a44655bfc1b94
Author: Snehasish Kumar <snehasishk at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/SourceLevelDebugging.rst
M llvm/lib/IR/DebugInfoMetadata.cpp
A llvm/test/DebugInfo/pick-merged-source-locations.ll
Log Message:
-----------
[DebugInfo] Preserve line and column number when merging debug info. (#129960)
This patch introduces a new option `-preserve-merged-debug-info` to
preserve an arbitrary but deterministic version of debug information
when DILocations are merged. This is intended to be used in production
environments from which sample based profiles are derived such as
AutoFDO and MemProf.
With this patch we have see a 0.2% improvement on an internal workload
at Google when generating AutoFDO profiles. It also significantly
improves the ability for MemProf by preserving debug info for merged
call instructions used in the contextual profile.
---------
Co-authored-by: Krzysztof Pszeniczny <kpszeniczny at google.com>
Commit: 70a1445e401f6d7b531933ab157fba98ec84f69f
https://github.com/llvm/llvm-project/commit/70a1445e401f6d7b531933ab157fba98ec84f69f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
Log Message:
-----------
[RISCV] Prefer RegList over Rlist in assembler. NFC
This makes it more obvious what the R means. I've kept rlist in
place that refer to the encoding.
Commit: 5942f0269e62021620e871bfe2e671f4f0f2d932
https://github.com/llvm/llvm-project/commit/5942f0269e62021620e871bfe2e671f4f0f2d932
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/continuation-in-conditional-compilation.f
M flang/test/Preprocessing/bug126459.F90
M flang/test/Preprocessing/line-in-contin.F90
M flang/test/Preprocessing/pp132.f90
M flang/test/Preprocessing/preprocessed-dirs.F90
Log Message:
-----------
[flang] Preserve compiler directives in -E output (#133959)
No longer require -fopenmp or -fopenacc with -E, unless specific version
number options are also required for predefined macros. This means that
most source can be preprocessed with -E and then later compiled with
-fopenmp, -fopenacc, or neither.
This means that OpenMP conditional compilation lines (!$) are also
passed through to -E output. The tricky part of this patch was dealing
with the fact that those conditional lines can also contain regular
Fortran line continuation, and that now has to be deferred when !$ lines
are interspersed.
Commit: 232525f06942adb3b9977632e38dcd5f08c0642d
https://github.com/llvm/llvm-project/commit/232525f06942adb3b9977632e38dcd5f08c0642d
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
Log Message:
-----------
[lldb] Clear thread-creation breakpoints in ProcessGDBRemote::Clear (#134397)
Currently, these breakpoints are being accumulated every time a new
process if created (e.g. through a `run`). Depending on the
circumstances, the old breakpoints are even left enabled, interfering
with subsequent processes. This is addressed by removing the breakpoints
in ProcessGDBRemote::Clear
Note that these breakpoints are more of a PlatformDarwin thing, so in
the future we should look into moving them there.
Commit: 90cf2e31abdee050b5811155c86605935046b07e
https://github.com/llvm/llvm-project/commit/90cf2e31abdee050b5811155c86605935046b07e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
Revert "[SLP]Initial support for (masked)loads + compress and (masked)interleaved"
This reverts commit daab7d08078bb7cd37c66b78a56f4773e6b12fba to fix
a crash reported in https://github.com/llvm/llvm-project/issues/134411.
Commit: 1688c3062a56b4fca1f8ad28f2865df0ed8ca940
https://github.com/llvm/llvm-project/commit/1688c3062a56b4fca1f8ad28f2865df0ed8ca940
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
Log Message:
-----------
[clang] Do not share ownership of `PreprocessorOptions` (#133467)
This PR makes it so that `CompilerInvocation` is the sole owner of the
`PreprocessorOptions` instance.
Commit: ea0869ccb9a80e235f6f47eaa47fb1d5888d660a
https://github.com/llvm/llvm-project/commit/ea0869ccb9a80e235f6f47eaa47fb1d5888d660a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
Log Message:
-----------
[clang][parse] Fix build of ParseHLSLRootSignatureTest.cpp
Fallout from PR #133467.
Commit: cde90e68f8123e7abef3f9e18d79980aa19f460a
https://github.com/llvm/llvm-project/commit/cde90e68f8123e7abef3f9e18d79980aa19f460a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Lex/Lexer.cpp
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
Log Message:
-----------
[clang][deps] Respect `Lexer::cutOffLexing()` (#134404)
This is crucial when recovering from fatal loader errors. Without it,
the `Lexer` keeps yielding more tokens and the compiler may access
invalid `ASTReader` state.
rdar://133388373
Commit: 6ee5e694bffd97e69fe5459fc8f94b79b91c88fb
https://github.com/llvm/llvm-project/commit/6ee5e694bffd97e69fe5459fc8f94b79b91c88fb
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
Log Message:
-----------
[gn] port 10c6ebc4271 (-gen-clang-diags-compat-ids)
Commit: 8f6551935a3896dfab0cc50a085e560d118d4eb3
https://github.com/llvm/llvm-project/commit/8f6551935a3896dfab0cc50a085e560d118d4eb3
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/support/BUILD.gn
Log Message:
-----------
[gn] Add a missing dependency
Needed after 6ee5e694bff
Commit: d9bf39085213013fe8a6e3199c0eddfb040d8ad3
https://github.com/llvm/llvm-project/commit/d9bf39085213013fe8a6e3199c0eddfb040d8ad3
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/tools/clang-sycl-linker/BUILD.gn
Log Message:
-----------
[gn] port 4a4d41e723a
...and add missing TargetsToBuild dep.
Commit: b6b025797245a5e5416b522df041252e3c4ff868
https://github.com/llvm/llvm-project/commit/b6b025797245a5e5416b522df041252e3c4ff868
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Builtins.td
A clang/test/Sema/clear_cache.c
Log Message:
-----------
Fix the signature for __builtin___clear_cache (#134376)
The signature was changed from void(char *, char *) to void(void *, void
*) to match GCC's signature for the same builtin.
Fixes #47833
Commit: 30f2e92c6968a1348a76e7ba169259bb345b784c
https://github.com/llvm/llvm-project/commit/30f2e92c6968a1348a76e7ba169259bb345b784c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGExpr.cpp
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/cfi-check-fail2.c
M clang/test/CodeGen/ubsan-trap-merge.c
Log Message:
-----------
[clang] [sanitizer] predict trap checks succeed (#134310)
Trap checks fail at most once (when the program crashes).
Commit: d62d15e298ce323cb933f4949b42fe46dcb01b77
https://github.com/llvm/llvm-project/commit/d62d15e298ce323cb933f4949b42fe46dcb01b77
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/CodeGen/RISCV/rvv/zext-icmp.ll
Log Message:
-----------
[RISCV] Undo unprofitable zext of icmp combine (#134306)
InstCombine will combine this zext of an icmp where the source has a
single bit set to a lshr plus trunc
(`InstCombinerImpl::transformZExtICmp`):
```llvm
define <vscale x 1 x i8> @f(<vscale x 1 x i64> %x) {
%1 = and <vscale x 1 x i64> %x, splat (i64 8)
%2 = icmp ne <vscale x 1 x i64> %1, splat (i64 0)
%3 = zext <vscale x 1 x i1> %2 to <vscale x 1 x i8>
ret <vscale x 1 x i8> %3
}
```
```llvm
define <vscale x 1 x i8> @reverse_zexticmp_i64(<vscale x 1 x i64> %x) {
%1 = trunc <vscale x 1 x i64> %x to <vscale x 1 x i8>
%2 = lshr <vscale x 1 x i8> %1, splat (i8 2)
%3 = and <vscale x 1 x i8> %2, splat (i8 1)
ret <vscale x 1 x i8> %3
}
```
In a loop, this ends up being unprofitable for RISC-V because the
codegen now goes from:
```asm
f: # @f
.cfi_startproc
# %bb.0:
vsetvli a0, zero, e64, m1, ta, ma
vand.vi v8, v8, 8
vmsne.vi v0, v8, 0
vsetvli zero, zero, e8, mf8, ta, ma
vmv.v.i v8, 0
vmerge.vim v8, v8, 1, v0
ret
```
To a series of narrowing vnsrl.wis:
```asm
f: # @f
.cfi_startproc
# %bb.0:
vsetvli a0, zero, e64, m1, ta, ma
vand.vi v8, v8, 8
vsetvli zero, zero, e32, mf2, ta, ma
vnsrl.wi v8, v8, 3
vsetvli zero, zero, e16, mf4, ta, ma
vnsrl.wi v8, v8, 0
vsetvli zero, zero, e8, mf8, ta, ma
vnsrl.wi v8, v8, 0
ret
```
In the original form, the vmv.v.i is loop invariant and is hoisted out,
and the vmerge.vim usually gets folded away into a masked instruction,
so you usually just end up with a vsetvli + vmsne.vi.
The truncate requires multiple instructions and introduces a vtype
toggle for each one, and is measurably slower on the BPI-F3.
This reverses the transform in RISCVISelLowering for truncations greater
than twice the bitwidth, i.e. it keeps single vnsrl.wis.
Fixes #132245
Commit: cd2f85a24b55336c96de56276b54d1196fd55fd1
https://github.com/llvm/llvm-project/commit/cd2f85a24b55336c96de56276b54d1196fd55fd1
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
Log Message:
-----------
[mlir][NVVM] Add ops for vote all and any sync (#134309)
Add operations for `nvvm.vote.all.sync` and `nvvm.vote.any.sync`
intrinsics similar to `nvvm.vote.ballot.sync`.
Commit: 19aec007351394b552855120e6840537d8780e9d
https://github.com/llvm/llvm-project/commit/19aec007351394b552855120e6840537d8780e9d
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/entries-shuffled-diff-sizes.ll
M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47623.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-possible-strided-node.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather.ll
M llvm/test/Transforms/SLPVectorizer/X86/reorder-reused-masked-gather2.ll
A llvm/test/Transforms/SLPVectorizer/X86/reordered-masked-loads.ll
M llvm/test/Transforms/SLPVectorizer/X86/scatter-vectorize-reused-pointer.ll
M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2-unord.ll
M llvm/test/Transforms/SLPVectorizer/X86/split-load8_2_unord_geps.ll
Log Message:
-----------
[SLP]Initial support for (masked)loads + compress and (masked)interleaved
Added initial support for (masked)loads + compress and
(masked)interleaved loads.
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/132099
Commit: bf1d27889b5831ed3e072a9223bdac098bf71af3
https://github.com/llvm/llvm-project/commit/bf1d27889b5831ed3e072a9223bdac098bf71af3
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[WebKit checkers] Treat Objective-C message send return value as safe (#133605)
Objective-C selectors are supposed to return autoreleased object. Treat
these return values as safe.
Commit: 1d88cfcbb881a921f2d7676e108fe420d9f23ad9
https://github.com/llvm/llvm-project/commit/1d88cfcbb881a921f2d7676e108fe420d9f23ad9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/ValueObject/BUILD.gn
Log Message:
-----------
[gn build] Port 46e2c07fa28b
Commit: 22921540cd3d46d75f746386cd6ce2cb1217bf95
https://github.com/llvm/llvm-project/commit/22921540cd3d46d75f746386cd6ce2cb1217bf95
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/JITLink/BUILD.gn
Log Message:
-----------
[gn build] Port 7d3dfc862d28
Commit: e2092a430aadd731c44003d334dd292263336e81
https://github.com/llvm/llvm-project/commit/e2092a430aadd731c44003d334dd292263336e81
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/ASTMatchers/BUILD.gn
Log Message:
-----------
[gn build] Port da69eb75cbc6
Commit: e4cbb7780bdef33bdedb1d66488586e07d3764a8
https://github.com/llvm/llvm-project/commit/e4cbb7780bdef33bdedb1d66488586e07d3764a8
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/test/AArch64/tls.c
Log Message:
-----------
[BOLT][AArch64] Fix symbolization of unoptimized TLS access (#134332)
TLS relocations may not have a valid BOLT symbol associated with them.
While symbolizing the operand, we were checking for the symbol value,
and since there was no symbol the check resulted in a crash.
Handle TLS case while performing operand symbolization on AArch64.
Commit: 50f0b30cffa72129a3179bd9ac83692114f6b19f
https://github.com/llvm/llvm-project/commit/50f0b30cffa72129a3179bd9ac83692114f6b19f
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Parse/ParseStmt.cpp
M clang/test/C/C11/n1330.c
M clang/test/Sema/for.c
A clang/test/SemaCXX/for-static-assert.cpp
Log Message:
-----------
[Clang] [Sema] Allow static assertions in the first part of a `for` loop in C (#134415)
No release note for this one because the one added by #129737 already
mentions โnon-variable declarationsโ.
Fixes #56471.
Commit: a97f73405f8e074263a0ed2dd2b8c87c014f46d9
https://github.com/llvm/llvm-project/commit/a97f73405f8e074263a0ed2dd2b8c87c014f46d9
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libcxx/include/__configuration/availability.h
Log Message:
-----------
[libc++] Fix deployment targets that were incorrectly bumped (#134278)
When I introduced the various `_LIBCPP_INTRODUCED_IN_LLVM_XY_ATTRIBUTE`
macros in 182f5e9b2f03, I tried to correlate them to the right OS
versions, but it seems that I made a few mistakes. This wasn't caught in
the CI because we don't test back-deployment that far.
rdar://148405946
Commit: a2d983cffba87f9f35ededf7a2d6515d3698216e
https://github.com/llvm/llvm-project/commit/a2d983cffba87f9f35ededf7a2d6515d3698216e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-callback-broken.c
Log Message:
-----------
Improve diagnostic wording for invalid callback attribute uses (#134423)
We were previously telling the user how many arguments were passed to
the attribute rather than saying how many arguments were expected to be
passed to the callback function. This rewords the diagnostic to
hopefully be a bit more clear.
Fixes #47451
Commit: d8fd665960634bd27bf72f06925314312087a3fe
https://github.com/llvm/llvm-project/commit/d8fd665960634bd27bf72f06925314312087a3fe
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
Log Message:
-----------
[alpha.webkit.ForwardDeclChecker] Ignore forward declared struct. (#133804)
There are some system libraries such as sqlite3 which forward declare a
struct then use a pointer to that forward declared type in various APIs.
Ignore these types ForwardDeclChecker like other pointer types.
Commit: c22586a9d18dd0f066e5660102f7de15fd239e2c
https://github.com/llvm/llvm-project/commit/c22586a9d18dd0f066e5660102f7de15fd239e2c
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Headers/altivec.h
M clang/test/Headers/altivec-header.c
Log Message:
-----------
[PowerPC] Update altivec.h to use __inline__ for c89 compatibility (#134430)
Commit: ebb0e6cb2555186fa0417ecb54925aa659346771
https://github.com/llvm/llvm-project/commit/ebb0e6cb2555186fa0417ecb54925aa659346771
Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
Log Message:
-----------
[NFC] Remove dead code detected by code sanitizer. (#134385)
The code sanitizer is failing with this error: `Execution cannot reach
this statement.`
The execution code path would early exit at line 928 if `(Lil && Ril) =
true`.
Commit: 6263de90df7f58c8b98475024d5eef102e10a372
https://github.com/llvm/llvm-project/commit/6263de90df7f58c8b98475024d5eef102e10a372
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-declare-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/declare-construct-ast.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
Log Message:
-----------
[OpenACC] Implement 'modifier-list' sema/AST
OpenACC 3.3-NEXT has changed the way tags for copy, copyin, copyout, and
create clauses are specified, and end up adding a few extras, and
permits them as a list. This patch encodes these as bitmask enum so
they can be stored succinctly, but still diagnose reasonably.
Commit: 9069ba183d0ad56a1e7b9710d9198686bc9b888b
https://github.com/llvm/llvm-project/commit/9069ba183d0ad56a1e7b9710d9198686bc9b888b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
Log Message:
-----------
[RISCV] Rename Spimm to StackAdj in most places. NFC
Spimm in the spec refers to the 2-bit encoded value. All of the code
uses the 0, 16, 32, or 48 adjustment value.
Also remove the decodeZcmpSpimm as its identical to the default
behavior for no custom DecoderMethod.
Commit: 03604a784011bec2292f900b118d825f34f8cf89
https://github.com/llvm/llvm-project/commit/03604a784011bec2292f900b118d825f34f8cf89
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/source/Utility/LLDBAssert.cpp
Log Message:
-----------
[lldb] Make lldbassert fire only once per instance (#134343)
The `lldbassert` macro in LLDB behaves like a regular `assert` when
assertions are enabled, and otherwise prints a pretty backtrace and
prompts the user to file a bug. By default, this is emitted as a
diagnostic event, but vendors can provide their own behavior, for
example pre-populating a bug report.
Recently, we ran into an issue where an `lldbassert` (in the Swift
language plugin) would fire excessively, to the point that it was
interfering with the usability of the debugger.
Once an `lldbasser` has fired, there's no point in bothering the user
over and over again for the same problem. This PR solves the problem by
introducing a static `std::once_flag` in the macro. This way, every
`lldbasser` will fire at most once per lldb instance.
rdar://148520448
Commit: 4c182df633bcd7fd7f0634b2cf6bcab91c3674ec
https://github.com/llvm/llvm-project/commit/4c182df633bcd7fd7f0634b2cf6bcab91c3674ec
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/include/llvm-libc-types/suseconds_t.h
M libc/test/src/sys/time/CMakeLists.txt
M libc/test/src/sys/time/utimes_test.cpp
Log Message:
-----------
[libc] Fix suseconds_t definition and utimes_test (#134326)
The main issue was that the kernel expected `suseconds_t` to be 64 bits
but ours was 32. This caused inconsistent failures since all valid
`suseconds_t` values are less than 1000000 (1 million), and some
configurations caused `struct timeval` to be padded to 128 bits.
Also: forgot to use TEST_FILE instead of FILE_PATH in some places.
Commit: b518242156f7c432249b1ca203a915b4f9906959
https://github.com/llvm/llvm-project/commit/b518242156f7c432249b1ca203a915b4f9906959
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/test/CodeGen/PowerPC/dmf-outer-product.ll
M llvm/test/CodeGen/PowerPC/dmr-enable.ll
M llvm/test/CodeGen/PowerPC/mmaplus-acc-spill.ll
M llvm/test/CodeGen/PowerPC/mmaplus-intrinsics.ll
M llvm/test/CodeGen/PowerPC/v1024ls.ll
M llvm/test/MC/Disassembler/PowerPC/ppc-encoding-ISAFuture.txt
M llvm/test/MC/Disassembler/PowerPC/ppc64le-encoding-ISAFuture.txt
M llvm/test/MC/PowerPC/ppc-encoding-ISAFuture.s
Log Message:
-----------
[PowerPC] Fix instruction name for dmr insert (#134301)
Commit: 3a859b11e3ca758043b88693fdf990d361a02ef1
https://github.com/llvm/llvm-project/commit/3a859b11e3ca758043b88693fdf990d361a02ef1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/debugloc.ll
Log Message:
-----------
[VPlan] Set and use debug location for VPScalarIVStepsRecipe.
This adds missing debug location for VPscalarIVStepsRecipe. The location
of the corresponding phi is used.
Commit: 61af05fe82c6989351c08de8d9eac4dc51f4ef79
https://github.com/llvm/llvm-project/commit/61af05fe82c6989351c08de8d9eac4dc51f4ef79
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/environment.cpp
M flang/docs/Intrinsics.md
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Runtime/command.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
A flang/test/Lower/Intrinsics/putenv-func.f90
A flang/test/Lower/Intrinsics/putenv-sub.f90
A flang/test/Semantics/putenv.f90
Log Message:
-----------
[flang] Add runtime and lowering implementation for extended intrinsic PUTENV (#134412)
Implement extended intrinsic PUTENV, both function and subroutine forms.
Add PUTENV documentation to flang/docs/Intrinsics.md. Add functional and
semantic unit tests.
Commit: d341b632a1a07362dfb51f916baeedcbc8945e0f
https://github.com/llvm/llvm-project/commit/d341b632a1a07362dfb51f916baeedcbc8945e0f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Remove unused function declaration. NFC
Commit: 12cf6d3b9e0b4983d609576b15dc37ceb7d1d8d7
https://github.com/llvm/llvm-project/commit/12cf6d3b9e0b4983d609576b15dc37ceb7d1d8d7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/LLDBAssert.h
Log Message:
-----------
[lldb] Fix missing semicolon in lldbassert macro
Commit: bbaf0877fa61ea5cadc6ded794c3184081790c66
https://github.com/llvm/llvm-project/commit/bbaf0877fa61ea5cadc6ded794c3184081790c66
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
Log Message:
-----------
[RISCV] Assert on all invalid inputs to getStackAdjBase and printRegList. NFC
Commit: 428fc2c8875eca42b4803fe100791270ec971e4d
https://github.com/llvm/llvm-project/commit/428fc2c8875eca42b4803fe100791270ec971e4d
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
Log Message:
-----------
[NFC][HLSL][RootSignature] Make the Lexer adhere to naming conventions (#134136)
- when developing the RootSignatureLexer library, we are creating new
files so we should set the standard to adhere to the coding conventions
for function naming
- this was missed in the initial review but caught in the review of the
parser pr
[here](https://github.com/llvm/llvm-project/pull/133302#discussion_r2017632092)
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 24dfcc0c024f9ab8ba61c0994513f57e882961fc
https://github.com/llvm/llvm-project/commit/24dfcc0c024f9ab8ba61c0994513f57e882961fc
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Use the nvvm.vote.sync op for all and any (#134433)
NVVM operations are now available for all and any as well. Use the op
and clean up the generation function to handle all the 3 vote sync
kinds.
Commit: 19e0233eb844e653a3108de411366bd0165cf3ec
https://github.com/llvm/llvm-project/commit/19e0233eb844e653a3108de411366bd0165cf3ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Make decodeXqccmpRlistS0 defer to decodeZcmpRlist after checking for S0 being included. NFC
This reduces code duplication.
Commit: 18ff8df9583743f4e4ac2a74e55a28e35df958fb
https://github.com/llvm/llvm-project/commit/18ff8df9583743f4e4ac2a74e55a28e35df958fb
Author: Valentin Clement (ใใฌใณใฟใคใณ ใฏใฌใกใณ) <clementval at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/test/Fir/CUDA/cuda-constructor-2.f90
Log Message:
-----------
[flang][cuda] Register managed variables with double descriptor (#134444)
Allocatable or pointer module variables with the CUDA managed attribute
are defined with a double descriptor. One on the host and one on the
device. Only the data pointed to by the descriptor will be allocated in
managed memory.
Allow the registration of any allocatable or pointer module variables
like device or constant.
Commit: 412f7fa31607489dc400321968a70e114463b374
https://github.com/llvm/llvm-project/commit/412f7fa31607489dc400321968a70e114463b374
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticIDs.h
Log Message:
-----------
[clang] Bump DIAG_SIZE_PARSE as we're hitting the limit downstream as of 6263de90df7f58c8b98475024d5eef102e10a372.
Commit: ad39049ec48edcb2ad4024c80f1cadfc9f0e4cb0
https://github.com/llvm/llvm-project/commit/ad39049ec48edcb2ad4024c80f1cadfc9f0e4cb0
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/rotate-add.ll
M llvm/test/CodeGen/ARM/rotate-add.ll
M llvm/test/CodeGen/NVPTX/rotate-add.ll
M llvm/test/CodeGen/X86/rotate-add.ll
Log Message:
-----------
[DAGCombiner] Attempt to fold 'add' nodes to funnel-shift or rotate (#125612)
Almost all of the rotate idioms that are valid for an 'or' are also
valid when the halves are combined with an 'add'. Further, many of these
cases are not handled by common bits tracking meaning that the 'add' is
not converted to a 'disjoint or'.
Commit: 64b060f129fc580cb3a9dce8b4456d496e6cdcd6
https://github.com/llvm/llvm-project/commit/64b060f129fc580cb3a9dce8b4456d496e6cdcd6
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M mlir/docs/Dialects/TOSA.md
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[mlir][tosa] Update URLs to TOSA specification (#134449)
- The existing URLs are no longer valid, updated to the current one
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: e3369a8dc9130ef261a092d866e8ba4f8242aa26
https://github.com/llvm/llvm-project/commit/e3369a8dc9130ef261a092d866e8ba4f8242aa26
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/unittests/Analysis/DXILResourceTest.cpp
M llvm/unittests/Target/DirectX/UniqueResourceFromUseTests.cpp
Log Message:
-----------
[NFC][HLSL] Rename ResourceBinding Types (#134165)
Non-functional change as first step in
https://github.com/llvm/wg-hlsl/pull/207
Removes `Binding` from "Resource Instance" types
Commit: bdff739c7e79933aa7b3233da1bdadceeb7e03e6
https://github.com/llvm/llvm-project/commit/bdff739c7e79933aa7b3233da1bdadceeb7e03e6
Author: Austin Schuh <AustinSchuh at users.noreply.github.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
A clang/test/CodeGen/include/cuda.h
M clang/test/CodeGen/nvptx-surface.cu
M clang/test/Headers/Inputs/include/cuda.h
Log Message:
-----------
cuda clang: Clean up test dependency for CUDA surfaces (#134459)
https://github.com/llvm/llvm-project/pull/132883 added support for cuda
surfaces but reached into clang/test/Headers/ from clang/test/CodeGen/
to grab the minimal cuda.h. Duplicate that file instead based on
comments in the review, to fix remote test runs.
Signed-off-by: Austin Schuh <austin.linux at gmail.com>
Commit: b0d0636026cdd2d1088d60c169a7a3a3371c0e66
https://github.com/llvm/llvm-project/commit/b0d0636026cdd2d1088d60c169a7a3a3371c0e66
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/test/CIR/CodeGen/loop.cpp
Log Message:
-----------
[CIR] Upstream support for break and continue statements (#134181)
This adds ClangIR support for break and continue statements in loops.
Because only loops are currently implemented upstream in CIR, only
breaks in loops are supported here, but this same code will work (with
minor changes to the verification and cfg flattening) when switch
statements are upstreamed.
Commit: 6f34d03b3132a8286630f8496aa7dce9605e677b
https://github.com/llvm/llvm-project/commit/6f34d03b3132a8286630f8496aa7dce9605e677b
Author: Un1q32 <joey.t.reinhart at gmail.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/test/CodeGen/ARM/2010-11-29-PrologueBug.ll
M llvm/test/CodeGen/ARM/ldm.ll
M llvm/test/CodeGen/ARM/zextload_demandedbits.ll
Log Message:
-----------
Remove iOS 5 check for tailcalls on ARM (#133354)
Fixes #102053
The check was added in 8decdc472f308b13d7fb7fd50c3919db086c0417, and at
the time iOS 5 was the latest iOS version, before that commit tail calls
were disabled for all ARMv7 targets. Testing a build of wasm3 with the
patch on a device running iOS 3.0 shows a noticeable performance
improvement and no issues.
Commit: 5271dead61dca30f4a6db0f0df8da00f8987449e
https://github.com/llvm/llvm-project/commit/5271dead61dca30f4a6db0f0df8da00f8987449e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFile.cpp
Log Message:
-----------
[lldb] Add a {ObjectFile,SymbolFile}::GetObjectName method (#133370)
Add ObjectFile::GetObjectName and SymbolFile::GetObjectName to retrieve
the name of the object file, including the `.a` for static libraries.
We currently do something similar in CommandObjectTarget, but the code
for dumping this is a lot more involved than what's being offered by the
new method. We have options to print he full path, the base name, and
the directoy of the path and trim it to a specific width.
This is motivated by #133211, where Greg pointed out that the old code
would print the static archive (the .a file) rather than the actual
object file inside of it.
Commit: 74a78028932f5e26c93dc6fd7efab65b97e6824c
https://github.com/llvm/llvm-project/commit/74a78028932f5e26c93dc6fd7efab65b97e6824c
Author: alx32 <103613512+alx32 at users.noreply.github.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lld/MachO/OutputSegment.cpp
M lld/test/MachO/arm64-objc-stubs.s
Log Message:
-----------
[lld-macho] Fix code section ordering in output binary (#134010)
In `OutputSegment.cpp`, we need to ensure a specific order for certain
sections. The current sorting logic incorrectly prioritizes code
sections over explicitly defined section orders. This is problematic
because the `__objc_stubs` section is both a code section *and* has a
specific ordering requirement. The current logic would incorrectly
prioritize its code section status, causing it to be sorted *before* the
`__stubs` section. This incorrect ordering breaks the branch extension
algorithm, ultimately leading to linker failures due to relocation
errors.
We also modify the `lld/test/MachO/arm64-objc-stubs.s` test to ensure
correct section ordering.
Commit: 7001993880066a40783b960aa3f236a57d09e061
https://github.com/llvm/llvm-project/commit/7001993880066a40783b960aa3f236a57d09e061
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M flang/include/flang/Common/enum-class.h
Log Message:
-----------
[flang] Temporary include variant.h in enum-class.h. (#134460)
I am having problems building Fortran runtime for CUDA
after #134164. I need more time to investigate it,
but in the meantime including variant.h (or any header
that eventually includes a libcudacxx header) resolves
the issue.
Commit: e8b52acca2376aac90ba8e2927e52ddd5253bcbb
https://github.com/llvm/llvm-project/commit/e8b52acca2376aac90ba8e2927e52ddd5253bcbb
Author: Michael Jones <michaelrj at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/src/sys/time/linux/utimes.cpp
M libc/test/src/time/ctime_test.cpp
Log Message:
-----------
[libc][NFC] replace NULL with nullptr (#134464)
Simple cleanup
Commit: 78905ce6cbd3fa8f8b467e7cad0e9a093c1b1c44
https://github.com/llvm/llvm-project/commit/78905ce6cbd3fa8f8b467e7cad0e9a093c1b1c44
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/unary.cpp
Log Message:
-----------
[CIR] Upstream support for logical not operations (#133966)
When unary operation support was initially upstreamed, the cir.cast
operation hadn't been upstreamed yet, so logical not wasn't included.
Since casts have now been added, this change adds support for logical
not.
Commit: 6272e1f37e0710b51d38cb98b905a3f2ffea7966
https://github.com/llvm/llvm-project/commit/6272e1f37e0710b51d38cb98b905a3f2ffea7966
Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
Log Message:
-----------
[lldb] Make `RegisterContextThreadMemory` thread safe (#134469)
The UpdateRegisterContext method can be called from multiple threads.
Commit: 1f72fa29ecb4b283f449c8bf931fcaf0fa1069ee
https://github.com/llvm/llvm-project/commit/1f72fa29ecb4b283f449c8bf931fcaf0fa1069ee
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
Log Message:
-----------
[X86Backend][M68KBackend] Make Ctx in X86MCInstLower (M68KInstLower) the same as AsmPrinter.OutContext (#133352)
In `X86MCInstLower::LowerMachineOperand`, a new `MCSymbol` can be
created in `GetSymbolFromOperand(MO)` where `MO.getType()` is
`MachineOperand::MO_ExternalSymbol`
```
case MachineOperand::MO_ExternalSymbol:
return LowerSymbolOperand(MO, GetSymbolFromOperand(MO));
```
at
https://github.com/llvm/llvm-project/blob/725a7b664b92cd2e884806de5a08900b43d43cce/llvm/lib/Target/X86/X86MCInstLower.cpp#L196
However, this newly created symbol will not be marked properly with its
`IsExternal` field since `Ctx.getOrCreateSymbol(Name)` doesn't know if
the newly created `MCSymbol` is for `MachineOperand::MO_ExternalSymbol`.
Looking at other backends, for example `Arch64MCInstLower` is doing for
handling `MC_ExternalSymbol`
https://github.com/llvm/llvm-project/blob/14c36db16fc090ef494ff6d8207562c414b40e30/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp#L366-L367
https://github.com/llvm/llvm-project/blob/14c36db16fc090ef494ff6d8207562c414b40e30/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp#L145-L148
It creates/gets the MCSymbol from `AsmPrinter.OutContext` instead of
from `Ctx`. Moreover, `Ctx` for `AArch64MCLower` is the same as
`AsmPrinter.OutContext`.
https://github.com/llvm/llvm-project/blob/8e7d6baf0e013408be932758b4a5334c14a34086/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp#L100.
This applies to almost all the other backends except X86 and M68k.
```
$git grep "MCInstLowering("
lib/Target/AArch64/AArch64AsmPrinter.cpp:100: : AsmPrinter(TM, std::move(Streamer)), MCInstLowering(OutContext, *this),
lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:223: AMDGPUMCInstLower MCInstLowering(OutContext, STI, *this);
lib/Target/AMDGPU/AMDGPUMCInstLower.cpp:257: AMDGPUMCInstLower MCInstLowering(OutContext, STI, *this);
lib/Target/AMDGPU/R600MCInstLower.cpp:52: R600MCInstLower MCInstLowering(OutContext, STI, *this);
lib/Target/ARC/ARCAsmPrinter.cpp:41: MCInstLowering(&OutContext, *this) {}
lib/Target/AVR/AVRAsmPrinter.cpp:196: AVRMCInstLower MCInstLowering(OutContext, *this);
lib/Target/BPF/BPFAsmPrinter.cpp:144: BPFMCInstLower MCInstLowering(OutContext, *this);
lib/Target/CSKY/CSKYAsmPrinter.cpp:41: : AsmPrinter(TM, std::move(Streamer)), MCInstLowering(OutContext, *this) {}
lib/Target/Lanai/LanaiAsmPrinter.cpp:147: LanaiMCInstLower MCInstLowering(OutContext, *this);
lib/Target/Lanai/LanaiAsmPrinter.cpp:184: LanaiMCInstLower MCInstLowering(OutContext, *this);
lib/Target/MSP430/MSP430AsmPrinter.cpp:149: MSP430MCInstLower MCInstLowering(OutContext, *this);
lib/Target/Mips/MipsAsmPrinter.h:126: : AsmPrinter(TM, std::move(Streamer)), MCInstLowering(*this) {}
lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp:695: WebAssemblyMCInstLower MCInstLowering(OutContext, *this);
lib/Target/X86/X86MCInstLower.cpp:2200: X86MCInstLower MCInstLowering(*MF, *this);
```
This patch makes `X86MCInstLower` and `M68KInstLower` to have their
`Ctx` from `AsmPrinter.OutContext` instead of getting it from
`MF.getContext()` to be consistent with all the other backends.
I think since normal use case (probably anything other than our
un-conventional case) only handles one llvm module all the way through
in the codegen pipeline till the end of code emission (AsmPrint),
`AsmPrinter.OutContext` is the same as MachineFunction's MCContext, so
this change is an NFC.
----
This fixes an error while running the generated code in ORC JIT for our
use case with
[MCLinker](https://youtu.be/yuSBEXkjfEA?si=HjgjkxJ9hLfnSvBj&t=813) (see
more details below):
https://github.com/llvm/llvm-project/pull/133291#issuecomment-2759200983
We (Mojo) are trying to do a MC level linking so that we break llvm
module into multiple submodules to compile and codegen in parallel
(technically into *.o files with symbol linkage type change), but
instead of archive all of them into one `.a` file, we want to fix the
symbol linkage type and still produce one *.o file. The parallel codegen
pipeline generates the codegen data structures in their own `MCContext`
(which is `Ctx` here). So if function `f` and `g` got split into
different submodules, they will have different `Ctx`. And when we try to
create an external symbol with the same name for each of them with
`Ctx.getOrCreate(SymName)`, we will get two different `MCSymbol*`
because `f` and `g`'s `MCContext` are different and they can't see each
other. This is unfortunately not what we want for external symbols.
Using `AsmPrinter.OutContext` helps, since it is shared, if we try to
get or create the `MCSymbol` there, we'll be able to deduplicate.
Commit: d59594d697c4b1f0f44a4e9ee296543a88575178
https://github.com/llvm/llvm-project/commit/d59594d697c4b1f0f44a4e9ee296543a88575178
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/MC/RISCV/xqcibi-long-conditional-jump.s
M llvm/test/MC/RISCV/xqcibi-relocations.s
Log Message:
-----------
[RISCV] Relax out of range Xqcibi conditional branches (#134336)
If .L1 is not within +-4KiB range,
convert
qc.(e.)bge a0, 10, .L1
to
qc.(e.)blt a0, 10, 8(10)
j .L1
This is similar to what is done for the RISCV conditional branches.
Commit: 71884b63a413c7803fce8ec7bf2857938765f4e2
https://github.com/llvm/llvm-project/commit/71884b63a413c7803fce8ec7bf2857938765f4e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/test/MC/AArch64/coff-relocations.s
M llvm/test/MC/AArch64/data-directive-specifier.s
Log Message:
-----------
[AArch64] Transition from MCSymbolRefExpr::VariantKind constants
Shift ELF `@plt` and `@gotpcrel` references in data directives, as well as
Mach-O `@specifier` notations, to use `AArch64MCExpr::Specifier` constants.
This is a follow-up to #132595. COFF-specific specifiers are not moved
yet.
In addition, partition @-specifiers into COFF, ELF, and Mach-O, so that
mix-and-match is rejected at parse time.
ELF and Mach-O specifiers are distinct, with `None` being the only
shared value. For Mach-O-specific specifiers, we adopt the `M_xxx` naming
convention.
Pull Request: https://github.com/llvm/llvm-project/pull/133214
Commit: 1d7bd3bc5c4f085dfa4443ea3fbab46356ab0a8e
https://github.com/llvm/llvm-project/commit/1d7bd3bc5c4f085dfa4443ea3fbab46356ab0a8e
Author: jobhdez <lara2993 at proton.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M libc/src/math/generic/sin.cpp
Log Message:
-----------
[libc] Remove extra parenthesis in sin.cpp comments (#134477)
Commit: b6a96183015e99ec554f7a6b8c35a0e679b8ba39
https://github.com/llvm/llvm-project/commit/b6a96183015e99ec554f7a6b8c35a0e679b8ba39
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
[MCParser] Rename confusing variable names
https://reviews.llvm.org/D24047 added `IsAtStartOfStatement` to
MCAsmLexer, while its subclass AsmLexer had a variable of the same name.
The assignment in `UnLex` is unnecessary, which is now removed.
60b403e75cd25a0c76aaaf4e6b176923acf49443 (2019) named the result
`parseStatement` `Parsed`. `HasError` is a clearer name.
Commit: a07b37475ccbf6b718fdf64fd6f0756ea1958852
https://github.com/llvm/llvm-project/commit/a07b37475ccbf6b718fdf64fd6f0756ea1958852
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
Log Message:
-----------
[LoongArch] Simplify evaluateAsRelocatableImpl
Similar to RISCV
Commit: f47034cbe5c02b748742c733cf453b3b907687e5
https://github.com/llvm/llvm-project/commit/f47034cbe5c02b748742c733cf453b3b907687e5
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/bf16-conversions.ll
Log Message:
-----------
AMDGPU: Add round-to-odd rounding during f64 to bf16 conversion (#133995)
f64 -> bf16 conversion can be lowered to f64 -> f32 followed by f32 ->
bf16:
v_cvt_f32_f64_e32 v0, v[0:1]
v_cvt_pk_bf16_f32 v0, v0, s0
Both conversion instructions will do round-to-even rounding, and thus we
will have double rounding issue which may generate incorrect result in
some data range. We need to add round-to-odd rounding during f64 -> f32
to avoid double rounding,.
NOTE: we are having the same issue with f64 -> f16 conversion. Will add
round-to-odd rounding for it in a separate patch, which fixes
SWDEV-523856
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: a1935fd3809772c06f9a09fa151181642ae92b20
https://github.com/llvm/llvm-project/commit/a1935fd3809772c06f9a09fa151181642ae92b20
Author: Reid Kleckner <rnk at google.com>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M clang/lib/Basic/SourceManager.cpp
Log Message:
-----------
[clang] Remove unused SourceManager.cpp includes, NFC (trying out clangd)
Commit: f3e6473df46fd920e09e06e57a5549eb8e3a8bd3
https://github.com/llvm/llvm-project/commit/f3e6473df46fd920e09e06e57a5549eb8e3a8bd3
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-04 (Fri, 04 Apr 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
MCValue: reduce getSymB uses
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: 44923d8631fb28b4de54d4210762f256c3894cef
https://github.com/llvm/llvm-project/commit/44923d8631fb28b4de54d4210762f256c3894cef
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[Github] Bump Github Runner Version in Agent Containers
The Github runner version got bumped recently and it would be good to keep
this up to date. Also debugging an issue where Github ARC is failing to
create new pods and trying to see if it might be related to outdated
versions.
Commit: fb96d5171ee4cba7b2cb9cceea755aa4bd51b3c4
https://github.com/llvm/llvm-project/commit/fb96d5171ee4cba7b2cb9cceea755aa4bd51b3c4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
Reapply "[CI] Fix Monolithic Linux Build in Ubuntu 24.04 (#133628)"
This reverts commit d72be157823d41e7eaf457cc37ea99c07431a25c.
Now that the container version got bumped, we need to reland this.
Commit: 70a20757e8fff0a56cd7f95c2854b0fa68e7089c
https://github.com/llvm/llvm-project/commit/70a20757e8fff0a56cd7f95c2854b0fa68e7089c
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/www/cxx_dr_status.html
Log Message:
-----------
[clang] Update C++ DR status page
Commit: a64191053136078761a72fe800feedb8bcc70d31
https://github.com/llvm/llvm-project/commit/a64191053136078761a72fe800feedb8bcc70d31
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGObjCMac.cpp
Log Message:
-----------
[clang][CGObjC] Remove unused ExternalProtocolPtrTy (NFC) (#133870)
This function was previously used to get a type to the protocol that
was used to bitcast the initializer of GenerateProtocol. This bitcast
has later been removed (thanks to opaque pointers), but the member was
left behind.
History:
- 020de3254acc3 used ExternalProtocolPtrTy
- 34ee69b4ce662 removes the bitcast
Also technically part of #123569
Commit: 75bbf768a4ae3d9f6cd45ab7448acf3792d94d82
https://github.com/llvm/llvm-project/commit/75bbf768a4ae3d9f6cd45ab7448acf3792d94d82
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[compiler-rt][rtsan] Linux's eventfd interception. (#132836)
Commit: 6c9e098b397fa8802b701a3a4ac827476b33568e
https://github.com/llvm/llvm-project/commit/6c9e098b397fa8802b701a3a4ac827476b33568e
Author: David CARLIER <devnexen at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 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] symlink/symlinkat interception. (#134168)
Commit: 008e3a0b3d08a863f777d67e067eed75f0c08402
https://github.com/llvm/llvm-project/commit/008e3a0b3d08a863f777d67e067eed75f0c08402
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/assume.ll
Log Message:
-----------
[ValueTracking] Test for trunc nuw cond in assume. (NFC)
Commit: 16573315d986568641e536c37c84fcc5dd161bf6
https://github.com/llvm/llvm-project/commit/16573315d986568641e536c37c84fcc5dd161bf6
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/and-or-icmps.ll
Log Message:
-----------
[InstCombine] Test for fold of and of icmps with operands in the range(0,2) (NFC)
proof https://alive2.llvm.org/ce/z/xeazCu
this is a regression found in https://github.com/llvm/llvm-project/pull/128861
This fold is done when icmp eq/ne x, 1/0 is folded to trunc nuw x iff x is in the range(0,2)
Commit: cd54cb062bba9c90a8f3723bf66caa7effbcf259
https://github.com/llvm/llvm-project/commit/cd54cb062bba9c90a8f3723bf66caa7effbcf259
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/Headers/amxcomplexintrin.h
Log Message:
-----------
[X86][AMX] Add missing __inline__ for AMXCOMPLEX intrinsics, NFCI (#134484)
Found by #64779.
Commit: 13799998c06984f808ff687e7866441a3135fd18
https://github.com/llvm/llvm-project/commit/13799998c06984f808ff687e7866441a3135fd18
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/unittests/ADT/EquivalenceClassesTest.cpp
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotAnalysis.h
Log Message:
-----------
[EquivalenceClasses] Use DenseMap instead of std::set. (NFC) (#134264)
Replace the std::set with DenseMap, which removes the requirement for an
ordering predicate. This also requires to allocate the ECValue objects
separately. This patch uses a BumpPtrAllocator.
Follow-up to https://github.com/llvm/llvm-project/pull/134075.
Compile-time impact is mostly neutral or slightly positive:
https://llvm-compile-time-tracker.com/compare.php?from=ee4e8197fa67dd1ed6e9470e00708e7feeaacd97&to=242e6a8e42889eebfc0bb5d433a4de7dd9e224a7&stat=instructions:u
Commit: 475cbf0ad6e72f33e5ba5890a1c6e84e39a19e83
https://github.com/llvm/llvm-project/commit/475cbf0ad6e72f33e5ba5890a1c6e84e39a19e83
Author: James E T Smith <jamesETsmith at users.noreply.github.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__algorithm/out_value_result.h
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/algorithm
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/version
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/numeric.inc
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/support/test_iterators.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Implement ranges::iota (#68494)
# Overview
As a disclaimer, this is my first PR to LLVM and while I've tried to
ensure I've followed the LLVM and libc++ contributing guidelines,
there's probably a good chance I missed something. If I have, just let
me know and I'll try to correct it as soon as I can.
This PR implements `std::ranges::iota` and
`std::ranges::out_value_result` outlined in
[P2440r1](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2440r1.html).
As outlined in the paper above, I've:
- Implemented `out_value_result` and added to `<algorithm>`
- Added `out_value_result`, `iota_result`, and two overloads of `iota`
to `std::ranges` in `<numeric>`
- Updated the version macro `__cpp_lib_ranges_iota` in `<version>`
I've also added tests for `ranges::iota` and `ranges::out_value_result`.
Lastly, I added those structs to the appropriate module files.
Partially implements #105184
EDIT: Forgot to mention in the original post, thanks to @hawkinsw for
taking a look at a preliminary version of this PR!
# TODOs
- [x] Updating the range [status
doc](https://github.com/jamesETsmith/llvm-project/blob/main/libcxx/docs/Status/RangesMajorFeatures.csv)
- [x] Ensure all comments from https://reviews.llvm.org/D121436 are
addressed here
- [X] EDIT (I'll do this in a separate PR). ~~I'm open to implementing
the rest of P2440r1 (`ranges::shift_left` and `ranges::shift_right`) if
that's ok, I just wanted to get feedback on `ranges::iota` first~~
- [x] I've been having trouble building the modules locally and want to
make sure that's working properly
Closes: #134060
Commit: 68ce637872a2e1a1dedbb9caa6eacf15ec5c7b99
https://github.com/llvm/llvm-project/commit/68ce637872a2e1a1dedbb9caa6eacf15ec5c7b99
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Replace after legalizing constants (#134384)
When folding an op during a conversion, first try to legalize all
generated constants, then replace the original operation. This is
slightly more efficient because fewer rewrites must be rolled back in
case a generated constant could not be legalized.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Commit: fcead25550bb727215919ecf2dfad17765223c19
https://github.com/llvm/llvm-project/commit/fcead25550bb727215919ecf2dfad17765223c19
Author: Martin Storsjรถ <martin at martin.st>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M lldb/include/lldb/Utility/LLDBAssert.h
Log Message:
-----------
[lldb] Fix building with GCC without asserts
This case was missed in 03604a784011bec2292f900b118d825f34f8cf89.
Commit: 13faa819168e568404bee320ca7db9bc386f081f
https://github.com/llvm/llvm-project/commit/13faa819168e568404bee320ca7db9bc386f081f
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/TypePromotion.cpp
A llvm/test/CodeGen/AArch64/typepromotion-gep.ll
M llvm/test/CodeGen/AArch64/typepromotion-phisret.ll
M llvm/test/Transforms/TypePromotion/ARM/phis-ret.ll
M llvm/test/Transforms/TypePromotion/ARM/pointers.ll
Log Message:
-----------
[TypePromotion] Do not zero-extend getelementptr indexes since signed
A miscompilation issue has been addressed with improved handling.
Fixes: https://github.com/llvm/llvm-project/issues/133928.
Alive2: https://alive2.llvm.org/ce/z/gcMNvS.
Commit: c07ab9e2ab0f288c10af172d11a3936b89b952fb
https://github.com/llvm/llvm-project/commit/c07ab9e2ab0f288c10af172d11a3936b89b952fb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
Log Message:
-----------
[VPlan] Set debug location for recipes in VPBB::executeRecipes.
Set the debug location for each recipe before executing the recipe,
instead of ad-hoc setting the debug location during individual recipe
execution.
This simplifies the code and ensures that all recipe repsect the
recipe's debug location. There are some minor changes, where previously
we would re-use a previously set debug location.
Commit: 6ac5cbdd29b630259432fc5b478cd2ddf78a17cd
https://github.com/llvm/llvm-project/commit/6ac5cbdd29b630259432fc5b478cd2ddf78a17cd
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/PassSupport.h
Log Message:
-----------
[NFC][LLVM] Eliminate duplicate code in INITIALIZE_PASS macros (#134457)
- Refactor INITIALIZE_PASS and INITIALIZE_PASS_WITH_OPTIONS macros to
eliminate some code duplication.
Commit: 33246f79e87a0e629ae776d1811a1175a3f10065
https://github.com/llvm/llvm-project/commit/33246f79e87a0e629ae776d1811a1175a3f10065
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/AArch64/label-arithmetic-diags-darwin.s
M llvm/test/MC/ELF/bad-expr.s
M llvm/test/MC/X86/macho-reloc-errors-x86_64.s
Log Message:
-----------
[MC] Rework evaluateSymbolicAdd to eliminate MCValue::SymB reliance
Reworked evaluateSymbolicAdd and isSymbolRefDifferenceFullyResolved to
remove their reliance on MCValue::SymB, which previously used the
MCSymbolRefExpr member when folding two symbolic expressions. This
dependency prevented replacing MCValue::SymB with a MCSymbol. By
refactoring, we enable this replacement, which is a more significant
improvement.
Note that this change eliminates the rare "unsupported subtraction of
qualified symbol" diagnostic, resulting in a minor loss of information.
However, the benefit of enabling MCValue::SymB replacement with MCSymbol
outweighs this slight regression.
Commit: cadfaa83ff1f7d9f983b23a756f25884a3d6314c
https://github.com/llvm/llvm-project/commit/cadfaa83ff1f7d9f983b23a756f25884a3d6314c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
Log Message:
-----------
[AVR,CSKY] Migrate away from MCValue::getSymB
The MCValue::SymB MCSymbolRefExpr member might be replaced with a
MCSymbol in the future. Reduce direct access.
Commit: b4f7a2ab578957657336a598220fce6fc00f56b5
https://github.com/llvm/llvm-project/commit/b4f7a2ab578957657336a598220fce6fc00f56b5
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
Log Message:
-----------
[libc++] Bump OS version for macOS backdeployment CI jobs (#131883)
In 0547e573c555, I introduced backdeployment testing on macOS using
Github-provided builders. This was done by basically building libc++ on
a slightly older macOS (like macOS 13) and then running against the
system library on that machine. However, that created a dependency that
libc++ must keep working on macOS 13, which doesn't support the
latest-released Xcode.
This patch solves that problem by moving the deployment testing to a
newer version of macOS which supports the latest-released version of
Xcode.
Sadly, that also reduces the backdeployment coverage we have since we're
not actually testing on older OSes, but is necessary to satisfy the
documented libc++ support policy. In the future, we could improve the
situation by providing a Lit configuration that allows compiling (but
not running) all the tests, building the tests on a supported macOS, and
then shipping those tests on an older backdeployment target in order to
run them against the system library. Since that requires significant
engineering, this isn't done at this time.
Commit: 5e8f43811acfd72ac5da4df2a5436b27ad1eeab4
https://github.com/llvm/llvm-project/commit/5e8f43811acfd72ac5da4df2a5436b27ad1eeab4
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCValue: Make getSymB private and improve documentation
Commit: ed2b82fb8b066f8c269be9e403ee20d86b5ead8a
https://github.com/llvm/llvm-project/commit/ed2b82fb8b066f8c269be9e403ee20d86b5ead8a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCValue.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
Log Message:
-----------
MCValue: Change getAccessVariant to return uint16_t
Some targets encode the relocation specifier within SymA using
MCSymbolRefExpr::SubclassData. They will cast the specifier
to *MCExpr::Specifier.
Migrate away from the confusing MCSymbolRefExpr::VariantKind.
Note: getAccessVariant is a deprecated method to get the relocation
specifier.
Commit: 582b1b2ac9de696debe6041aa500141c2fef5aa3
https://github.com/llvm/llvm-project/commit/582b1b2ac9de696debe6041aa500141c2fef5aa3
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M .ci/monolithic-linux.sh
Log Message:
-----------
[CI] Use env variable to enable pip breaking system packages
This patch uses an env variable instead of the --break-system-packages
flag. This enables the heterogenous configuration between the old and
new premerge systems as the old premerge container does not recognize
the --break-system-packages flag. An env variable will work on new
premerge and have no impact on old premerge.
Commit: 52eb11f925ddeba4e1b3840fd636ee87387f3ada
https://github.com/llvm/llvm-project/commit/52eb11f925ddeba4e1b3840fd636ee87387f3ada
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSpecifier(Target.getSymA()) with Target.getSymSpecifier()
Add MCValue::getSymSpecifier as a workaround for targets that encode the
relocation specifier on SymA. This function asserts that SymA is not
null.
Commit: 2fd6f8fb5e3a52e901276d97c285b8de66742985
https://github.com/llvm/llvm-project/commit/2fd6f8fb5e3a52e901276d97c285b8de66742985
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Don't add blocks to loop in GeneratedRTChecks (NFC).
Blocks will get added to parent loops as needed during VPlan execution.
Commit: 7ccdc3d5ca648c09bbeb86f5063f7b0ee3e9b5e2
https://github.com/llvm/llvm-project/commit/7ccdc3d5ca648c09bbeb86f5063f7b0ee3e9b5e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 086af836889436baffc71c743c7c8259bad8ed60
https://github.com/llvm/llvm-project/commit/086af836889436baffc71c743c7c8259bad8ed60
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: b1cd3cb3f42881a84ebc3da1dfae59637281d73c
https://github.com/llvm/llvm-project/commit/b1cd3cb3f42881a84ebc3da1dfae59637281d73c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: d71ee7d23048ca64d14a7536927a006867cea39a
https://github.com/llvm/llvm-project/commit/d71ee7d23048ca64d14a7536927a006867cea39a
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
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/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Set C11 instead of C17 for LK_C (#134472)
Fix #134453
Commit: 0c84d71eda538b5ac73811f241d4a0555ff49099
https://github.com/llvm/llvm-project/commit/0c84d71eda538b5ac73811f241d4a0555ff49099
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
Log Message:
-----------
[MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 46a2f4174a051f29a09dbc3844df763571c67309
https://github.com/llvm/llvm-project/commit/46a2f4174a051f29a09dbc3844df763571c67309
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
Revert "[LV] Don't add blocks to loop in GeneratedRTChecks (NFC)."
This reverts commit 2fd6f8fb5e3a52e901276d97c285b8de66742985.
This missed a possible case, causing buildbot failures.
Commit: 7cf8a6201a6eb549b8d41214afa2694e0c1e344c
https://github.com/llvm/llvm-project/commit/7cf8a6201a6eb549b8d41214afa2694e0c1e344c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
Log Message:
-----------
[AArch64,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 70f5632cadb82b1be813d7ba688b80e22df634e2
https://github.com/llvm/llvm-project/commit/70f5632cadb82b1be813d7ba688b80e22df634e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
[PowerPC,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: aeec94500a5dbd576e5d2d16895fe00fa0b1e154
https://github.com/llvm/llvm-project/commit/aeec94500a5dbd576e5d2d16895fe00fa0b1e154
Author: junfengd-nv <junfengd at nvidia.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M mlir/include/mlir/Transforms/Inliner.h
M mlir/include/mlir/Transforms/InliningUtils.h
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/lib/Transforms/Utils/InliningUtils.cpp
A mlir/test/Transforms/test-inlining-callback.mlir
M mlir/test/lib/Transforms/CMakeLists.txt
M mlir/test/lib/Transforms/TestInlining.cpp
A mlir/test/lib/Transforms/TestInliningCallback.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][inliner] Add doClone and canHandleMultipleBlocks callbacks to Inliner Config (#131226)
Current inliner disables inlining when the caller is in a region with
single block trait, while the callee function contains multiple blocks.
the SingleBlock trait is used in operations such as do/while loop, for
example fir.do_loop, fir.iterate_while and fir.if. Typically, calls within
loops are good candidates for inlining. However, functions with multiple
blocks are also common. for example, any function with "if () then
return" will result in multiple blocks in MLIR.
This change gives the flexibility of a customized inliner to handle such
cases.
doClone: clones instructions and other information from the callee
function into the caller function. .
canHandleMultipleBlocks: checks if functions with multiple blocks can be
inlined into a region with the SingleBlock trait.
The default behavior of the inliner remains unchanged.
---------
Co-authored-by: jeanPerier <jean.perier.polytechnique at gmail.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 7e62715e0cd433ed97749549c6582c4e1aa689a3
https://github.com/llvm/llvm-project/commit/7e62715e0cd433ed97749549c6582c4e1aa689a3
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
Log Message:
-----------
[RISCV,LoongArch,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Creating a MCSymbolRefExpr in *AsmBackend::handleAddSubRelocations is
not efficient, but it is temporary and will be replaced when MCValue no
longer uses MCSymbolRefExpr.
Commit: acca419685b0a288e0b06786e6e7bc27bb087578
https://github.com/llvm/llvm-project/commit/acca419685b0a288e0b06786e6e7bc27bb087578
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
Log Message:
-----------
[WebAssembly,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 0431fea88ac9a057d1c8751da7f9506cf51f54c5
https://github.com/llvm/llvm-project/commit/0431fea88ac9a057d1c8751da7f9506cf51f54c5
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
Log Message:
-----------
[AMDGPU,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: d9a767cfc802aca491f5f25fb386679ab1100621
https://github.com/llvm/llvm-project/commit/d9a767cfc802aca491f5f25fb386679ab1100621
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
[Mips,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Create a MipsMCExpr::create overload that takes MCSymbol as an argument.
We use the order preferred by other targets.
Commit: 590d2a3ca5fde93aff1ef1611f1361180adb1813
https://github.com/llvm/llvm-project/commit/590d2a3ca5fde93aff1ef1611f1361180adb1813
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
Log Message:
-----------
[Mips,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: f8f9be32411d63fa65832306cbc9207ef91446af
https://github.com/llvm/llvm-project/commit/f8f9be32411d63fa65832306cbc9207ef91446af
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
Log Message:
-----------
[ARM,MC] Replace getSymA()->getSymbol() with getAddSym. NFC
We will replace the MCSymbolRefExpr member in MCValue with MCSymbol.
This change reduces dependence on MCSymbolRefExpr.
Commit: 7833107993e7df63301c655e0b4c49b2f625fa5e
https://github.com/llvm/llvm-project/commit/7833107993e7df63301c655e0b4c49b2f625fa5e
Author: Alan <ahulambda at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/include/llvm-c/DebugInfo.h
M llvm/test/CMakeLists.txt
Log Message:
-----------
[OCaml] Make OCaml MetadataKind type consistent with C API (#134507)
Fixes breakage of OCaml API introduced by commit 6894734.
Commit: 55ff96abfa08ec94b0f8f4ebe187a3232e9d92b7
https://github.com/llvm/llvm-project/commit/55ff96abfa08ec94b0f8f4ebe187a3232e9d92b7
Author: weiwei chen <weiwei.chen at modular.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/unittests/CodeGen/X86MCInstLowerTest.cpp
Log Message:
-----------
[X86][Test] Reorder PassMgrF and OS. (#134481)
Reordering `OS` and `PassMgrF` should fix the asan failure that's caused
by OS being destroyed before `PassMgrF` deletes the AsmPrinter.
As shown in[ this asan run
](https://lab.llvm.org/buildbot/#/builders/52/builds/7340/steps/12/logs/stdio)
```
This frame has 15 object(s):
[32, 48) 'PassMgrF' (line 154)
[64, 1112) 'Buf' (line 155)
[1248, 1304) 'OS' (line 156) <== Memory access at offset 1280 is inside this variable
```
which indicates an ordering problem.
This should help to fix all the sanitizer failures caused by the test
`X86MCInstLowerTest.cpp` that's introduced by [this
PR](https://github.com/llvm/llvm-project/pull/133352#issuecomment-2780173791).
Commit: aaaeb86acea77c5bcdb60011ce6aaaf4ebca4081
https://github.com/llvm/llvm-project/commit/aaaeb86acea77c5bcdb60011ce6aaaf4ebca4081
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M clang/lib/Format/UnwrappedLineFormatter.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Merge inline short functions for BS_Whitesmiths (#134473)
Fix #126747
Commit: 94821ce45fe93aa78cc5ea03cd9deac91b7af127
https://github.com/llvm/llvm-project/commit/94821ce45fe93aa78cc5ea03cd9deac91b7af127
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
M llvm/test/MC/CSKY/relocation-specifier.s
Log Message:
-----------
MCValue: Store SymA specifier at Specifier
The relocation specifier should be accessed via MCValue::Specifier.
However, some targets encode the relocation specifier within SymA using
MCSymbolRefExpr::SubclassData and access it via getAccessVariant(), though
this method is now deprecated.
This change stores the SymA specifier at Specifier as well, unifying the
two code paths.
* CSKY: GOT- and PLT- relocations now suppress the STT_SECTION
conversion.
* AArch64: https://reviews.llvm.org/D156505 added `getRefkind` check to
prevent folding. This is a hack and is now removed.
MCValue: Unify relocation specifier storage by storing SymA specifier at Specifier
The relocation specifier is accessed via MCValue::Specifier, but some
targets encoded it within SymA using MCSymbolRefExpr::SubclassData and
retrieved it through the now-deprecated getAccessVariant() method. This
commit unifies the two approaches by storing the SymA specifier at
`Specifier` as well.
Additional changes:
- CSKY: GOT- and PLT- relocations now suppress STT_SECTION conversion.
- AArch64: Removed the `getRefkind` check hack (introduced in https://reviews.llvm.org/D156505) that prevented folding.
Removed the assertion from `getRelocType`.
- RISCV: Removed the assertion from `getRelocType`.
Future plans:
- Replace MCSymbolRefExpr members with MCSymbol within MCValue.
- Remove `getSymSpecifier` (added for migration).
Commit: 38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc
https://github.com/llvm/llvm-project/commit/38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/lib/MC/MCAsmBackend.cpp
Log Message:
-----------
Define MCAsmBackend::shouldForceRelocation
Return true if the MCValue has a specifier. When a relocation specifier
is specified, GNU Assembler will generate a relocation unless the
specifier can be optimized due to target-specific reasons (e.g. PPC `@l`
`@ha`).
This reduces targets' reliance on a MCAssembler::evaluateFixup hack
`if (Target.SymSpecifier || SA.isUndefined()) {`, previosuly
`if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {`
llvm/test/MC/SystemZ/fixups.s is known to rely on this hack.
Commit: 4182d2dcb5ecbfc34d41a6cd11810cd36844eddb
https://github.com/llvm/llvm-project/commit/4182d2dcb5ecbfc34d41a6cd11810cd36844eddb
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
Log Message:
-----------
[ARM,PowerPC] shouldForceRelocation: check MCValue::Specifier
Follow-up to 38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc
Removes reliance on a MCAssembler::evaluateFixup hack
`if (Target.SymSpecifier || SA.isUndefined()) {` (previosuly
`if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {`)
Target.SymSpecifier will soon go away when MCValue replaces
MCSymbolRefExpr members with MCSymbol and removes the temporary
`SymSpecifier` workaround.
Commit: d5893fc2a7e1191afdb4940469ec9371a319b114
https://github.com/llvm/llvm-project/commit/d5893fc2a7e1191afdb4940469ec9371a319b114
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/MC/AArch64/elf-reloc-ptrauth.s
Log Message:
-----------
MCValue: Replace MCSymbolRefExpr members with MCSymbol
Commit 0999cbd0b9ed8aa893cce10d681dec6d54b200ad (2014) introduced
`MCValue::RefKind` for AArch64 ELF as a clean approach to encode the
relocation specifier.
Following numerous migration commits, direct references to getSymA and
getSymB have been eliminated. This allows us to seamlessly update SymA
and SymB, replacing MCSymbolRefExpr with MCSymbol.
Removeing reliance on a MCAssembler::evaluateFixup hack
(`if (Target.SymSpecifier || SA.isUndefined()) {` (previosuly
`if (A->getKind() != MCSymbolRefExpr::VK_None || SA.isUndefined()) {`))
requires 38c3ad36be1facbe6db2dede7e93c0f12fb4e1dc and 4182d2dcb5ecbfc34d41a6cd11810cd36844eddb
Revert the temporary RISCV/LoongArch workaround
(7e62715e0cd433ed97749549c6582c4e1aa689a3) during migration.
MCAssembler::evaluateFixup needs an extra `!Add->isAbsolute()` case
to support `movq abs at GOTPCREL(%rip), %rax; abs = 42` in llvm/test/MC/ELF/relocation-alias.s
(ELFObjectWriter::isSymbolRefDifferenceFullyResolvedImpl asserts if
called on an absolute symbol).
Commit: 803fbdd1faa813303cda3d93b3364eca2344ab6a
https://github.com/llvm/llvm-project/commit/803fbdd1faa813303cda3d93b3364eca2344ab6a
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
R llvm/test/MC/PowerPC/ppc64-errors-emit-obj.s
A llvm/test/MC/PowerPC/relocation-specifier-err.s
Log Message:
-----------
[PowerPC] Report proper error for invalid relocation specifier
Generalize the test from https://reviews.llvm.org/D83255
Replace getAccessVariant with MCValue::getSpecifier
Simplify code after MCValue improvement 94821ce45fe93aa78cc5ea03cd9deac91b7af127
Commit: e5923936109ce4ce7be2c8fb3372b14d33c385d9
https://github.com/llvm/llvm-project/commit/e5923936109ce4ce7be2c8fb3372b14d33c385d9
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
Log Message:
-----------
MCValue: Replace getSymSpecifier with getSpecifier
Commit 52eb11f925ddeba4e1b3840fd636ee87387f3ada temporarily introduced
getSymSpecifier to prepare for "MCValue: Replace MCSymbolRefExpr members
with MCSymbol" (d5893fc2a7e1191afdb4940469ec9371a319b114). The
refactoring is now complete.
Commit: 8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e
https://github.com/llvm/llvm-project/commit/8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-05 (Sat, 05 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Log Message:
-----------
MCValue: Replace getAccessVariant with getSpecifier
Commit 52eb11f925ddeba4e1b3840fd636ee87387f3ada temporarily introduced
getSymSpecifier to prepare for "MCValue: Replace MCSymbolRefExpr members
with MCSymbol" (d5893fc2a7e1191afdb4940469ec9371a319b114). The
refactoring is now complete.
Commit: 7cb66ff4648a15741a1908658dfef5cb3d4a9199
https://github.com/llvm/llvm-project/commit/7cb66ff4648a15741a1908658dfef5cb3d4a9199
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
R llvm/test/MC/PowerPC/pr24686.s
M llvm/test/MC/PowerPC/relocation-specifier-err.s
Log Message:
-----------
[PowerPC] Use reportError
Report a proper error and fix de1dc9c98f9ce74d38aceb44e00d258370d1bb34
Commit: e7dc05ebcf50a620bc2307207bfd27620c6ca648
https://github.com/llvm/llvm-project/commit/e7dc05ebcf50a620bc2307207bfd27620c6ca648
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCValue.cpp
Log Message:
-----------
MCValue: Make print private
This is a debug-only feature (the relocation specifier is
target-specific and cannot be printed without backend support) and not
supposed to be used externally. PowerPC imappropriated used it
(removed by 7cb66ff4648a15741a1908658dfef5cb3d4a9199).
Commit: c0b4a8edfe2349b912890951a49a32b6a27747af
https://github.com/llvm/llvm-project/commit/c0b4a8edfe2349b912890951a49a32b6a27747af
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCValue.h
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
Log Message:
-----------
MCValue: Replace getRefKind with getSpecifier
Commit: 53e1c8b118792b0177bff69d806c9e00034ceb1c
https://github.com/llvm/llvm-project/commit/53e1c8b118792b0177bff69d806c9e00034ceb1c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
Log Message:
-----------
AArch64MCExpr: Remove unused getSpecifier
Commit: 8d71a2a905508f32ed201920ef7ac15a3ad8e4e6
https://github.com/llvm/llvm-project/commit/8d71a2a905508f32ed201920ef7ac15a3ad8e4e6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Use ExitBocks to check in VPlan::isExitBlock (NFC).
Exit blocks of the VPlan are now hold in ExitBlocks. Use it to check if
a block is an exit block. Otherwise we currently mis-classify the scalar
loop header also as exit block, as it is not explicitly connected to the
exit blocks.
NFC at the moment, as the helper currently is never queried with the
scalar header, but that will change in the future.
Commit: 7013b51548c0bd2c7e5564735c44506909a2f8dc
https://github.com/llvm/llvm-project/commit/7013b51548c0bd2c7e5564735c44506909a2f8dc
Author: Hui <hui.xie1990 at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/include/CMakeLists.txt
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/flat_set
M libcxx/include/module.modulemap
M libcxx/include/version
M libcxx/modules/std/flat_set.inc
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.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
M libcxx/utils/libcxx/test/modules.py
Log Message:
-----------
[libc++] Implement `std::flat_multiset` (#128363)
fixes https://github.com/llvm/llvm-project/issues/105193
Commit: 0a1742708ddc3a2b31d65479aaad143b5f7562b2
https://github.com/llvm/llvm-project/commit/0a1742708ddc3a2b31d65479aaad143b5f7562b2
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
A llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
A llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
Log Message:
-----------
[SelectionDAG] Wire up -gen-sdnode-info TableGen backend (#125358)
This patch introduces SelectionDAGGenTargetInfo and SDNodeInfo classes,
which provide methods for accessing the generated SDNode descriptions.
Pull Request: https://github.com/llvm/llvm-project/pull/125358
Draft PR: https://github.com/llvm/llvm-project/pull/119709
RFC: https://discourse.llvm.org/t/rfc-tablegen-erating-sdnode-descriptions
Commit: 3e08dcd767a217fa91580704a378b37167e20f74
https://github.com/llvm/llvm-project/commit/3e08dcd767a217fa91580704a378b37167e20f74
Author: Benjamin Kramer <kramerb at google.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M mlir/include/mlir/Transforms/Inliner.h
M mlir/include/mlir/Transforms/InliningUtils.h
M mlir/lib/Transforms/Utils/InliningUtils.cpp
M mlir/test/lib/Transforms/TestInliningCallback.cpp
Log Message:
-----------
[mlir][inliner] Move callback types from InlinerConfig -> InlinerInterface. NFC.
The proper layering here is that Inliner depends on InlinerUtils, and
not the other way round. Maybe it's time to give InliningUtils a less
terrible file name.
Commit: 283a78a088bc669f31d8a3567265b1a3ab129487
https://github.com/llvm/llvm-project/commit/283a78a088bc669f31d8a3567265b1a3ab129487
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
Reapply "[LV] Don't add blocks to loop in GeneratedRTChecks (NFC)."
This reverts commit 46a2f4174a051f29a09dbc3844df763571c67309.
Recommits 2fd6f8fb5e3a with corresponding VPlan change to ensure
LoopInfo is updated for all blocks during VPlan execution if needed.
Commit: ba3fa39b63d7185f7d067f35a39c2fea40ee8861
https://github.com/llvm/llvm-project/commit/ba3fa39b63d7185f7d067f35a39c2fea40ee8861
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/test/Transforms/EarlyCSE/AArch64/intrinsics.ll
Log Message:
-----------
[EarlyCSE] Re-generate checks for intrinsics.ll.
Commit: 0defd832eb7c0618a67556e6fcbd32dd19e88b97
https://github.com/llvm/llvm-project/commit/0defd832eb7c0618a67556e6fcbd32dd19e88b97
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
Log Message:
-----------
[AArch64] Avoid unused variable warnings in release builds
This used to be under !NDEBUG before
0a1742708ddc3a2b31d65479aaad143b5f7562b2, so just put that back. The
code only consists of assertions.
Commit: 449e2f5d66d9d99f58611a8778d688e14d051ca0
https://github.com/llvm/llvm-project/commit/449e2f5d66d9d99f58611a8778d688e14d051ca0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Remove more DT updates from legacy code path (NFCI).
Remove some legacy DT updates. Those should already be handled when
updating the DT during VPlan execution.
Commit: 48441cb8a2fa3b3f9502ba4ba1242746615841cb
https://github.com/llvm/llvm-project/commit/48441cb8a2fa3b3f9502ba4ba1242746615841cb
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/analysis-invalidation.ll
Log Message:
-----------
[Matrix] Properly set Changed status when optimizing transposes.
Currently Changed is not updated properly when transposes are optimized,
causing missing analysis invalidation. Update optimizeTransposes to
indicate if changes have been made.
Commit: eb70253fcbe57c7cb3c309c06b94b05f2eab314d
https://github.com/llvm/llvm-project/commit/eb70253fcbe57c7cb3c309c06b94b05f2eab314d
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef/DataLayout] Spell out requirements for alignment values (#104705)
For 'p' the added wording matches the implementation.
For 'i', 'f', 'v' the implementation also allows 0 for `<pref>`
component, making 'i16:16:0' valid, for example. 'Fi0', 'Fn0' and 'S0'
are also currently accepted. This is likely unintentional. There are no
tests in the codebase that rely on this behavior, so the added wording
prohibits zero alignments for these specifications.
For 'a', the implementation currently allows 0 for both `<abi>` and
`<pref>` components. The added wording prohibits specifying zero for
`<pref>` with the same justification as above. Zero `<abi>` is used in
tests, and the example at the end of the section suggests that this is
valid, so that's left unchanged.
This effectively prohibits zero alignments everywhere except for the
`<abi>` component of aggregate specification.
Commit: 976de53f1008a9e06c94a99fdd59d0f523feaef7
https://github.com/llvm/llvm-project/commit/976de53f1008a9e06c94a99fdd59d0f523feaef7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Log Message:
-----------
[MC,MachO] Replace SectionAddrMap workaround with cleaner variable handling
Mach-O's ARM and X86 writers use MCExpr's `SectionAddrMap *Addrs`
argument to compute label differences, which was a bit of a hack. The
AArch64MachObjectWriter does this better by using `getSymbolAddress` in
its `recordRelocation` function.
This commit:
1. Moves the `SectionAddrMap` logic into the Mach-O code, removing the
workaround.
2. Fixes a bug in `MachObjectWriter::getSymbolAddress` where it failed
to subtract the `SymB` value. This bug has been present since commit
b200f93125eb019d69c220fa447faea4f5d4eb8a (2011).
Commit: b90a92687f399df5afe3e1a2493b0d9c6295ac8c
https://github.com/llvm/llvm-project/commit/b90a92687f399df5afe3e1a2493b0d9c6295ac8c
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCExpr: Remove unused SectionAddrMap workaround
Mach-O's ARM and X86 writers use MCExpr's `SectionAddrMap *Addrs`
argument to compute label differences, which was a bit of a hack.
The hack has been cleaned up by commit
1b7759de8e6979dda2d949b1ba1c742922e5c366.
Commit: 12a377ed71ca1116c3f8f848ec8c7a24b116c180
https://github.com/llvm/llvm-project/commit/12a377ed71ca1116c3f8f848ec8c7a24b116c180
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[LV] Add test for mis-compile when narrowing interleave groups.
Add test case showing mis-compile due to unrolling vector-pointer
recipes after 6b98134.
Commit: 768ccf69f3febe962e0d63dc87fbee31e59547a7
https://github.com/llvm/llvm-project/commit/768ccf69f3febe962e0d63dc87fbee31e59547a7
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSymbolRefExpr: Remove HasSubsectionsViaSymbolsBit
This information is only needed assembly time and we
can get it with Asm->getContext().getAsmInfo()->hasSubsectionsViaSymbols().
Commit: 464286ba633b30bf0bfa9971ec0d61778ccc7561
https://github.com/llvm/llvm-project/commit/464286ba633b30bf0bfa9971ec0d61778ccc7561
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
Log Message:
-----------
[VPlan] Don't narrow interleave groups if there are vector pointers.
Do not narrow interleave groups if there are VectorPointer recipes and
the plan was unrolled. The recipe implicitly uses VF from VPTransformState.
Commit: 146ad71bc71a9cbecccea307bbd157ec910ae82a
https://github.com/llvm/llvm-project/commit/146ad71bc71a9cbecccea307bbd157ec910ae82a
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[IR] Deprecate PointerType::get/getUnqual pointee type overload (#134517)
Deprecates the methods and schedules them for removal in the future as
the overloads taking LLVMContext are preferred, as the pointee type
has no meaning in opaque pointers.
>From what my clangd can tell, there are no usages left in the monorepo
Part of #123569
Commit: f2987f255ae99cc43cd0da61ac42150af71b0ad6
https://github.com/llvm/llvm-project/commit/f2987f255ae99cc43cd0da61ac42150af71b0ad6
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/test/Driver/x86-target-features.c
Log Message:
-----------
[X86][AVX10] Make warning message more informative, NFCI (#134528)
Commit: aef000dd43b8ee2397e71f877217a9ecbd23c608
https://github.com/llvm/llvm-project/commit/aef000dd43b8ee2397e71f877217a9ecbd23c608
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M clang/lib/AST/ASTContext.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
Log Message:
-----------
[clang] fix serialization of SubstNonTypeTemplateParmExpr (#134560)
This fixes a couple of mistakes introduced when merging
https://github.com/llvm/llvm-project/pull/132748
Fixes msan failure reported here:
https://github.com/llvm/llvm-project/pull/132748#issuecomment-2781105225
Commit: c9497a22ef9f9802401cf0cf3352dcbd4f14bcbd
https://github.com/llvm/llvm-project/commit/c9497a22ef9f9802401cf0cf3352dcbd4f14bcbd
Author: Alan <ahulambda at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M llvm/test/Bindings/OCaml/debuginfo.ml
Log Message:
-----------
[OCaml] Fix test with invalid usage of #dbg_declare (#134508)
Even though #dbg_declare can only describe pointers, one of the OCaml
tests tried to add a #dbg_declare to an i32 argument. The change
introduced in ecd4c08 caught this incorrect usage.
Commit: da6e2454fff3fbc86861e31b60f18d3467354375
https://github.com/llvm/llvm-project/commit/da6e2454fff3fbc86861e31b60f18d3467354375
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
Log Message:
-----------
[clang-tidy] Improve `bugprone-capturing-this-in-member-variable` check: add support of `bind` functions. (#132635)
Improve `bugprone-capturing-this-in-member-variable` check:
Added support of `bind`-like functions that capture and store `this`
pointer in class member.
Closes https://github.com/llvm/llvm-project/issues/131220.
Commit: 8f0d8d28ccd8a1ced82a744679c5152f90e80c77
https://github.com/llvm/llvm-project/commit/8f0d8d28ccd8a1ced82a744679c5152f90e80c77
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/CUDA/cuda-doconc.cuf
Log Message:
-----------
Delete duplicated hlfir.declare op of induction variables of do concurrent when inside cuf kernel directive. (#134467)
Delete duplicated creation of hlfir.declare op of do concurrent
induction variables when inside cuf kernel directive.
Obtain the correct hlfir.declare op generated from bindSymbol, and add
it to ivValues.
Commit: 6ce0fd7f74502a75120bef43f12f56e3a5d80dfd
https://github.com/llvm/llvm-project/commit/6ce0fd7f74502a75120bef43f12f56e3a5d80dfd
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-06 (Sun, 06 Apr 2025)
Changed paths:
M clang/test/CXX/drs/cwg15xx.cpp
Log Message:
-----------
[clang] NFC: clean trailing whitespaces in clang/test/CXX/drs/cwg15xx.cpp
Commit: 0d68bad78a68874c31cdb337f97a0c4336b1125b
https://github.com/llvm/llvm-project/commit/0d68bad78a68874c31cdb337f97a0c4336b1125b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
Log Message:
-----------
IR: Fix typo in unreachable message
Commit: e90d40afaff3124408d79ae8ef96ae021ff4f8cf
https://github.com/llvm/llvm-project/commit/e90d40afaff3124408d79ae8ef96ae021ff4f8cf
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/Transforms/NaryReassociate/nary-add.ll
M llvm/test/Transforms/NaryReassociate/nary-mul.ll
M llvm/test/Transforms/NaryReassociate/nary-req.ll
M llvm/test/Transforms/NaryReassociate/nary-smax.ll
M llvm/test/Transforms/NaryReassociate/nary-smin.ll
M llvm/test/Transforms/NaryReassociate/nary-umax.ll
M llvm/test/Transforms/NaryReassociate/nary-umin.ll
M llvm/test/Transforms/NaryReassociate/pr24301.ll
Log Message:
-----------
NaryReassociate: Remove redundant run lines
These only differed in quoting the passes argument or not. There
is further redundancy in some of these tests, but they split the
invocation across multiple opt runs
Commit: d9ccfd7568337c4e38211eabd87818fb39573004
https://github.com/llvm/llvm-project/commit/d9ccfd7568337c4e38211eabd87818fb39573004
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
M mlir/test/Dialect/LLVMIR/inlining.mlir
Log Message:
-----------
[mlir][llvm] Respect call noinline attr in inliner (#134493)
This commit extends the LLVM dialect inliner interface to respect the
call op's noinline attribute. This is a follow-up to
https://github.com/llvm/llvm-project/pull/133726
which added the noinline attribute to the LLVM dialect call op.
Commit: f280d60c9839120618da353ab71004be33c4fa53
https://github.com/llvm/llvm-project/commit/f280d60c9839120618da353ab71004be33c4fa53
Author: Fangrui Song <i at maskray.me>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
Log Message:
-----------
[CSKY] Simplify shouldForceRelocation with MCValue::Specifier
Commit: 87a4215ed154e867683b10c8d7fe1dbc79d81abb
https://github.com/llvm/llvm-project/commit/87a4215ed154e867683b10c8d7fe1dbc79d81abb
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/lib/CodeGen/CodeGenAction.cpp
A clang/test/CodeGen/invalid_llvm_ir.ll
Log Message:
-----------
[Clang] Always verify LLVM IR inputs (#134396)
We get a lot of issues that basically boil down to "I passed malformed
LLVM IR to clang and it crashed". Clang does not perform IR verification
by default in (non-assertion-enabled) release builds, and that's
sensible for IR that Clang itself produces, which is expected to always
be valid. However, if people pass in their own handwritten IR, we should
report if it is malformed, instead of crashing. We should also report it
in a way that does not produce a crash trace and ask for a bug report,
as currently happens in assertions-enabled builds. This aligns the
behavior with how opt/llc work.
Commit: 31ef7acf12e7f5011a813dcfd08b821ec44865f0
https://github.com/llvm/llvm-project/commit/31ef7acf12e7f5011a813dcfd08b821ec44865f0
Author: Balรกzs Kรฉri <balazs.keri at ericsson.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
A clang/test/Analysis/castsize.c
Log Message:
-----------
[clang][analyzer] Fix a possible crash in CastSizeChecker (#134387)
Commit: 7b3b4a5b1b5f8c3ae6855c92cdbe783c804408ea
https://github.com/llvm/llvm-project/commit/7b3b4a5b1b5f8c3ae6855c92cdbe783c804408ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
M llvm/test/Transforms/Mem2Reg/ignore-droppable.ll
M llvm/test/Transforms/SROA/assume.ll
M llvm/test/Transforms/SROA/ignore-droppable.ll
Log Message:
-----------
IR: Use poison in dropDroppableUse (#134576)
Commit: 4a5ff3ec21d0c6476d0da93b8550ba93560a5cbe
https://github.com/llvm/llvm-project/commit/4a5ff3ec21d0c6476d0da93b8550ba93560a5cbe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/IR/Value.cpp
Log Message:
-----------
Value: Remove redundant removeFromList in dropDroppableUse (#134580)
Commit: 2f8b486f979f4b89929a447f516fd1da9a659834
https://github.com/llvm/llvm-project/commit/2f8b486f979f4b89929a447f516fd1da9a659834
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/test/Transforms/JumpThreading/unreachable-loops.ll
Log Message:
-----------
[IR][JumpThreading] Fix infinite recursion on compare self-reference (#129501)
In unreachable code, constant PHI nodes may appear and be replaced by their
single value. As a result, instructions may become self-referencing. This
commit adds checks to avoid going into infinite recursion when handling
self-referencing compare instructions in `evaluateOnPredecessorEdge()`.
This LLVM defect was identified via the AMD Fuzzing project.
Commit: 04bb8ecb05ae4dc2a0407503678e0cef79c1d46c
https://github.com/llvm/llvm-project/commit/04bb8ecb05ae4dc2a0407503678e0cef79c1d46c
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.defined.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-sincos.ll
Log Message:
-----------
AMDGPU: Disable sincos fold for constant inputs (#134579)
Commit: 4a425a4966d6421674d4300e32b0eb57ebade65a
https://github.com/llvm/llvm-project/commit/4a425a4966d6421674d4300e32b0eb57ebade65a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
Log Message:
-----------
NaryReassociate: Check pattern before user scan (#134587)
Commit: 44e32fb80272b77186b42c7583dd0ed8ad668af4
https://github.com/llvm/llvm-project/commit/44e32fb80272b77186b42c7583dd0ed8ad668af4
Author: Juan Manuel Martinez Caamaรฑo <jmartinezcaamao at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Sema/OpenCLBuiltins.td
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
Log Message:
-----------
[Clang][OpenCL] Fix wait_for_event argument address space with -fdeclare-opencl-builtins (#134598)
The pointer argument for `wait_for_event(int, event_t*)` should take the
default address space: generic if available, otherwise private.
Before this patch it would always be generic with
`-fdeclare-opencl-builtins`. This was inconsistent with the behavior
when opencl-c.h is included.
Commit: f20cb3f8d2d4e97760a1a589290224a33ec60473
https://github.com/llvm/llvm-project/commit/f20cb3f8d2d4e97760a1a589290224a33ec60473
Author: Mike <FruitClover at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OptimizeAllocationLiveness.cpp
M mlir/test/Dialect/Bufferization/Transforms/optimize-allocation-liveness.mlir
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[mlir][bufferization] Drop the assumption for alloc result index (#134503)
Relax the assumption that alloc op always has allocation at
`getResult(0)`, allow to use `optimize-allocation-liveness` pass for
custom ops with >1 results. Ops with multiple allocations are not
handled here yet.
Commit: be6ccc98f38227db02164f17bfaf0ac86d800e4a
https://github.com/llvm/llvm-project/commit/be6ccc98f38227db02164f17bfaf0ac86d800e4a
Author: Luke Lau <luke at igalia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Split out VPBlendRecipe simplifications from simplifyRecipes. NFC (#134073)
This is split off from #133977
VPBlendRecipe normalisation is sensitive to the number of users a mask
has, so should probably be run after the masks are simplified as much as
possible.
Note this could be run after removeDeadRecipes but this causes test
diffs, some regressions, so this is left to a later patch.
Commit: 387a8859cfea9e6f8282f14f21064d9ec562e66a
https://github.com/llvm/llvm-project/commit/387a8859cfea9e6f8282f14f21064d9ec562e66a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
Fix MSVC "32-bit shift implicitly converted to 64 bits" warning. NFCI.
Commit: 679b2f714a3a3cbf487480127a4cc6ed296c7fab
https://github.com/llvm/llvm-project/commit/679b2f714a3a3cbf487480127a4cc6ed296c7fab
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: ec400277c6810915a501fa901e9ba58ab6ade831
https://github.com/llvm/llvm-project/commit/ec400277c6810915a501fa901e9ba58ab6ade831
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Darwin.cpp
Log Message:
-----------
Fix MSVC "not all control paths return a value" warning. NFCI.
Commit: 65c7ea713e0b411a707b0ccac374bda9f30234ea
https://github.com/llvm/llvm-project/commit/65c7ea713e0b411a707b0ccac374bda9f30234ea
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
SLPVectorizer: Avoid looking at uselists of constants (#134578)
Commit: 431c8dd0736c61176831750783d1195b9aa1a308
https://github.com/llvm/llvm-project/commit/431c8dd0736c61176831750783d1195b9aa1a308
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/lib/IR/Diagnostics.cpp
R mlir/test/Conversion/MemRefToLLVM/invalid-uint.mlir
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
R mlir/test/Conversion/MemRefToLLVM/issue-70160.mlir
Log Message:
-----------
[mlir][IR] Add support for UnknownLoc to `verify-diagnostics` (#134421)
Diagnostics at unknown locations can now be verified with
`-verify-diagnostics`.
Example:
```
// expected-error at unknown {{something went wrong}}
```
Also clean up some MemRefToLLVM conversion tests that had to redirect
all errors to stdout in order to FileCheck them. All of those tests can
now be stored in a single `invalid.mlir`. That was not possible before.
Commit: 5748ddbab4883420ea23d2319006d814c4bfbda4
https://github.com/llvm/llvm-project/commit/5748ddbab4883420ea23d2319006d814c4bfbda4
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC. Add a comment to introduce the alternate instruction. (#134572)
Commit: 3654621e8796508cc00b6f08241ab951af416fa1
https://github.com/llvm/llvm-project/commit/3654621e8796508cc00b6f08241ab951af416fa1
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
Log Message:
-----------
[X86][NFC] Use `Triple &` to avoid copy (#134532)
Commit: 0fc7aec349394d4713bd88fb5f0319e39b96f187
https://github.com/llvm/llvm-project/commit/0fc7aec349394d4713bd88fb5f0319e39b96f187
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
Log Message:
-----------
[BOLT] Gadget scanner: detect address materialization and arithmetic (#132540)
In addition to authenticated pointers, consider the contents of a
register safe if it was
* written by PC-relative address computation
* updated by an arithmetic instruction whose input address is safe
Commit: c9157d4692bb47b1fa6f053fd780ff47415590d5
https://github.com/llvm/llvm-project/commit/c9157d4692bb47b1fa6f053fd780ff47415590d5
Author: Andrzej Warzyลski <andrzej.warzynski at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] Reorder sections in GitHub.rst (#134212)
Reorder sections in GitHub.rst so that "Branches" and "Stacked Pull
Requests" appear after the more general section on pull requests. This
improves the conceptual flow for readers new to the process:
New order:
* Introduction
* Before your first PR
* Pull Requests
* Approvals
* Landing your change
* Branches
* Stacked Pull Requests
* ...
Previous order:
* Introduction
* Before your first PR
* Branches
* Stacked Pull Requests
* Pull Requests
* Approvals
* Landing your change
* ...
This change only reorders existing text - no content edits.
Commit: 7b007c092d665bcb3f00ff937e04b20e6ec32c55
https://github.com/llvm/llvm-project/commit/7b007c092d665bcb3f00ff937e04b20e6ec32c55
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
Log Message:
-----------
[mlir][tosa-to-linalg] Add acc_type lowering Support (#134267)
Add support for lowering of convolution operations where the `acc_type`
attribute differs from the result type of the operation. The only case
of this in for convolutions in the TOSA-v1.0 specification is an fp16
convolution which internally uses an fp32 accumulator; all other
operations have accumulator types that match their output/result types.
Add lit tests for the fp16 convolution with fp32 accumulator operators
described above.
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 2c107238d54dde577de96455e6d29c0ff1b2b953
https://github.com/llvm/llvm-project/commit/2c107238d54dde577de96455e6d29c0ff1b2b953
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
Log Message:
-----------
[BOLT] Make DataflowAnalysis::getStateBefore() const (NFC) (#133308)
Commit: 409df9f74c04710c1b5ca9a4d33521a590ab3bf0
https://github.com/llvm/llvm-project/commit/409df9f74c04710c1b5ca9a4d33521a590ab3bf0
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[TTI][LV] Change the prototype of preferInLoopReduction. nfc (#132698)
This patch changes the preferInLoopReduction function to take a
RecurKind instead of an unsigned Opcode.
This makes it possible to distinguish non-arithmetic reductions such as
min/max, AnyOf, and FindLastIV, and also helps unify IAnyOf with FAnyOf
and IFindLastIV with FFindLastIV.
Related patch #118393 #131830
Commit: b9c876dd9a3334a26f1cc975b23a91821895aa16
https://github.com/llvm/llvm-project/commit/b9c876dd9a3334a26f1cc975b23a91821895aa16
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/test/Transforms/DoConcurrent/loop_nest_test.f90
Log Message:
-----------
[flang][test] fix sporadically failing test (#134608)
The test is checking output from MLIR debug prints. MLIR passes can be
executed in parallel, for example a pass on func.func might schedule
different func.func operations in different threads. This led to
intermittent test failures where debug output from different threads
became mixed up.
Fix by disabling mlir multithreading for this test.
Commit: b9ec68431b45a9859517aacac684e7290f1679f2
https://github.com/llvm/llvm-project/commit/b9ec68431b45a9859517aacac684e7290f1679f2
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/C/drs/dr0xx.c
M clang/test/Sema/incomplete-decl.c
M clang/test/Sema/tentative-decls.c
Log Message:
-----------
Correctly diagnose incomplete arrays with static storage in C (#134374)
A file scope declaration without an initializer which is neither extern
nor thread_local is a tentative definition. If the declaration of an
identifier for an object is a tentative definition and has internal
linkage, the declared type shall not be an incomplete type.
Clang was previously failing to diagnose this in -pedantic mode.
Fixes #50661
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 96de8435b90e5164da2d38ee34594e86069360e7
https://github.com/llvm/llvm-project/commit/96de8435b90e5164da2d38ee34594e86069360e7
Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][NVVM] Fix default label unreachable warning in `getVoteSyncIntrinsicId` (#134600)
Fixes the following warning after the changes in
https://github.com/llvm/llvm-project/pull/134309:
```
llvm-project/mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp:134:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
default:
^
1 warning generated.
```
Commit: 6c7c8b4776f51dc66138f71333e6ada0c33ca5e2
https://github.com/llvm/llvm-project/commit/6c7c8b4776f51dc66138f71333e6ada0c33ca5e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerINTRINSIC_WO_CHAIN - cleanup and clang-format VP2INTERSECT handling. NFC.
Commit: c9280ba25aef6cd47e973a439da23c7b52bddb56
https://github.com/llvm/llvm-project/commit/c9280ba25aef6cd47e973a439da23c7b52bddb56
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
[AMDGPU] Simplify emitAtomicRMWLegalRemark. NFC. (#134614)
Commit: bd84d66700b23132eecea71fb81d6d7378473937
https://github.com/llvm/llvm-project/commit/bd84d66700b23132eecea71fb81d6d7378473937
Author: Zhaoxin Yang <yangzhaoxin at loongson.cn>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Relocations.cpp
A lld/test/ELF/loongarch-relax-tls-ie.s
M lld/test/ELF/loongarch-tls-ie.s
Log Message:
-----------
[lld][LoongArch] Convert TLS IE to LE in the normal or medium code model (#123680)
Original code sequence:
* pcalau12i $a0, %ie_pc_hi20(sym)
* ld.d $a0, $a0, %ie_pc_lo12(sym)
The code sequence converted is as follows:
* lu12i.w $a0, %le_hi20(sym) # le_hi20 != 0, otherwise NOP
* ori $a0, src, %le_lo12(sym) # le_hi20 != 0, src = $a0,
# otherwise, src = $zero
TODO: When relaxation is enabled, redundant NOP can be removed. This
will be implemented in a future patch.
Note: In the normal or medium code model, original code sequence with
relocations allow interleaving, because converted code sequence
calculates the absolute offset. However, in extreme code model, to
identify the current code model, the first four instructions with
relocations must appear consecutively.
Commit: 37deb0959311bba0d1d51ee9b9d24d1ea400f6d4
https://github.com/llvm/llvm-project/commit/37deb0959311bba0d1d51ee9b9d24d1ea400f6d4
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Utils.h
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
Log Message:
-----------
[MLIR][Affine] Fix signatures of normalize memref utilities (#134466)
These methods were passing derived op types by pointers, which deviates
from the style. While on this, fix obsolete comments on those methods.
Commit: 4d1e4eff5f6c6c62781926b0d31ad155364ffe62
https://github.com/llvm/llvm-project/commit/4d1e4eff5f6c6c62781926b0d31ad155364ffe62
Author: Mats Jun Larsen <mats at jun.codes>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[IR] Avoid call to deprecated PointerType::get (NFC) (#134609)
Should keep MSVC quiet as noticed by @rksimon in #134517.
Assertions have been copied over from PointerType::get in order to not
silently change invariants with this call.
Commit: 9fe6f6a0d430b872750354c20f3e4a651bd1f135
https://github.com/llvm/llvm-project/commit/9fe6f6a0d430b872750354c20f3e4a651bd1f135
Author: Christian Sigg <csigg at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/source/Plugins/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Change `gentbl_cc_library(tbl_outs)` to dicts (#134349)
Follow up from https://github.com/llvm/llvm-project/pull/134271
Commit: e2fe78797fa39e22ebb3c65383d1bd30490535e5
https://github.com/llvm/llvm-project/commit/e2fe78797fa39e22ebb3c65383d1bd30490535e5
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/SyncScope.h
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
Log Message:
-----------
[Clang] Use "syncscope" instead of "synchscope". NFC. (#134616)
This matches the spelling of the keyword in LLVM IR.
Commit: 4509bc12994ade02eda03642fa5bf5f68691f768
https://github.com/llvm/llvm-project/commit/4509bc12994ade02eda03642fa5bf5f68691f768
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/test/CodeGen/X86/powi.ll
Log Message:
-----------
[X86][GlobalISel] Enable POWI function with libcall mapping (#134369)
Commit: bafa2f4442bcee26f05c22369d41646d5c8befb9
https://github.com/llvm/llvm-project/commit/bafa2f4442bcee26f05c22369d41646d5c8befb9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/MemRefToLLVM/AllocLikeConversion.cpp
M mlir/test/Conversion/MemRefToLLVM/invalid.mlir
Log Message:
-----------
[mlir][memref] Check memory space before lowering alloc ops (#134427)
Check the memory space before lowering allocation ops, instead of
starting the lowering and then rolling back the pattern when the memory
space was found to be incompatible with LLVM.
Note: This is in preparation of the One-Shot Dialect Conversion
refactoring.
Note: `isConvertibleAndHasIdentityMaps` now also checks the memory
space.
Commit: 2f6bc47a18d9a97635b76520f0e33391aa72ba68
https://github.com/llvm/llvm-project/commit/2f6bc47a18d9a97635b76520f0e33391aa72ba68
Author: Andrzej Warzyลski <andrzej.warzynski at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Interfaces/VectorInterfaces.td
M mlir/lib/Conversion/VectorToArmSME/VectorToArmSME.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/SubsetOpInterfaceImpl.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorInsertExtractStridedSliceRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][vector] Standardise `valueToStore` Naming Across Vector Ops (NFC) (#134206)
This change standardises the naming convention for the argument
representing the value to store in various vector operations.
Specifically, it ensures that all vector ops storing a valueโwhether
into memory, a tensor, or another vector โ use `valueToStore` for the
corresponding argument name.
Updated operations:
* `vector.transfer_write`, `vector.insert`, `vector.scalable_insert`,
`vector.insert_strided_slice`.
For reference, here are operations that currently use `valueToStore`:
* `vector.store` `vector.scatter`, `vector.compressstore`,
`vector.maskedstore`.
This change is non-functional (NFC) and does not affect the
functionality of these operations.
Implements #131602
Commit: 382962b4a848f66cddbd7d04f6d613fe93a3f125
https://github.com/llvm/llvm-project/commit/382962b4a848f66cddbd7d04f6d613fe93a3f125
Author: Krisztian Rugasi <Krisztian.Rugasi at hightec-rt.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
Log Message:
-----------
[GlobalISel] Fix dangling reference in CombinerHelper::matchCombineExtractedVectorLoad
Commit: 67dd2019aca117798bbb0eb9e0dc5560c06864fc
https://github.com/llvm/llvm-project/commit/67dd2019aca117798bbb0eb9e0dc5560c06864fc
Author: Nashe Mncube <nashe.mncube at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
Log Message:
-----------
Recommit [AArch64][SVE]Use FeatureUseFixedOverScalableIfEqualCost for A510/A520 (#134606)
Recommit. This work was done by #132246 but failed buildbots due to the
test introduced needing updates
Inefficient SVE codegen occurs on at least two in-order cores, those
being Cortex-A510 and Cortex-A520. For example a simple vector add
```
void foo(float a, float b, float dst, unsigned n) {
for (unsigned i = 0; i < n; ++i)
dst[i] = a[i] + b[i];
}
```
Vectorizes the inner loop into the following interleaved sequence of
instructions.
```
add x12, x1, x10
ld1b { z0.b }, p0/z, [x1, x10]
add x13, x2, x10
ld1b { z1.b }, p0/z, [x2, x10]
ldr z2, [x12, #1, mul vl]
ldr z3, [x13, #1, mul vl]
dech x11
add x12, x0, x10
fadd z0.s, z1.s, z0.s
fadd z1.s, z3.s, z2.s
st1b { z0.b }, p0, [x0, x10]
addvl x10, x10, #2
str z1, [x12, #1, mul vl]
```
By adjusting the target features to prefer fixed over scalable if the
cost is equal we get the following vectorized loop.
```
ldp q0, q3, [x11, #-16]
subs x13, x13, #8
ldp q1, q2, [x10, #-16]
add x10, x10, #32
add x11, x11, #32
fadd v0.4s, v1.4s, v0.4s
fadd v1.4s, v2.4s, v3.4s
stp q0, q1, [x12, #-16]
add x12, x12, #32
```
Which is more efficient.
Commit: 771b94fa834b71cfcb0c16b875f656c7facdcb2f
https://github.com/llvm/llvm-project/commit/771b94fa834b71cfcb0c16b875f656c7facdcb2f
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[NFC][SPIRV] remove unimplemented function define for `selectCross` (#134478)
- `selectCross` looks to be a function that had its implementation and
usage removed but this define some how stuck around.
- this change removes the definition.
Commit: 0ab2061c4fd0feac8b142ff76ed823534bebc634
https://github.com/llvm/llvm-project/commit/0ab2061c4fd0feac8b142ff76ed823534bebc634
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
Log Message:
-----------
[WebAssembly] Represent trap instructions as `poison` (#134553)
The WebAssemblyLowerRefTypesIntPtrConv pass currently uses `undef` to
represent trap instructions. These can instead be represented by the
`poison` value.
Commit: b2711e1526f9384be4905f516a5503427e0bafd7
https://github.com/llvm/llvm-project/commit/b2711e1526f9384be4905f516a5503427e0bafd7
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/test/Fir/invalid-types.fir
M flang/unittests/Optimizer/FIRTypesTest.cpp
Log Message:
-----------
[flang][nfc] Support volatile on ref, box, and class types (#134386)
Part one of merging #132486. Add support for representing volatility in
the type system for reference, box, and class types. Don't do anything
with volatile just yet, only support and test their representation and
utility functions.
The naming convention is a little goofy - `fir::isa_volatile_type` and
`fir::updateTypeWithVolatility` use different capitalization, but I put
them near similar functions and tried to match the surrounding
conventions and [the
docs](https://github.com/llvm/llvm-project/blob/main/flang/docs/C%2B%2Bstyle.md#naming)
best I could.
Commit: 0d71d9ab28d626e85a0085a50ff634f76a950ce0
https://github.com/llvm/llvm-project/commit/0d71d9ab28d626e85a0085a50ff634f76a950ce0
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
R clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
A clang/lib/CodeGen/Targets/CMakeLists.txt
A clang/lib/CodeGen/Targets/HLSLBufferLayoutBuilder.cpp
Log Message:
-----------
Reland [Clang][Cmake] fix libtool duplicate member name warnings (#133850)
fixes https://github.com/llvm/llvm-project/issues/133199
As of the third commit the fix to the linker missing references in
`Targets/DirectX.cpp` found in
https://github.com/llvm/llvm-project/pull/133776 was fixed by moving
`HLSLBufferLayoutBuilder.cpp` to `clang/lib/CodeGen/Targets/`.
It fixes the circular reference issue found in
https://github.com/llvm/llvm-project/pull/133619 for all
`-DBUILD_SHARED_LIBS=ON` builds by removing `target_link_libraries` from
the sub directory cmake files.
testing for amdgpu offload was done via
`cmake -B ../llvm_amdgpu -S llvm -GNinja -C
offload/cmake/caches/Offload.cmake -DCMAKE_BUILD_TYPE=Release`
PR https://github.com/llvm/llvm-project/pull/132252 Created a second
file that shared <TargetName>.cpp in clang/lib/CodeGen/CMakeLists.txt
For example There were two AMDGPU.cpp's one in TargetBuiltins and the
other in Targets. Even though these were in different directories
libtool warns that it might not distinguish them because they share the
same base name.
There are two potential fixes. The easy fix is to rename one of them and
keep one cmake file. That solution though doesn't future proof this
problem in the event of a third <TargetName>.cpp and it seems teams want
to just use the target name
https://github.com/llvm/llvm-project/pull/132252#issuecomment-2758178483.
The alternative fix that this PR went with is to seperate the cmake
files into their own sub directories as static libs.
Commit: cff65657d9896cc04ca96907dd8e789403432a28
https://github.com/llvm/llvm-project/commit/cff65657d9896cc04ca96907dd8e789403432a28
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
Log Message:
-----------
[mlir][spirv] Fix incorrect argument erasure in deserializer (#134610)
The current implementation iterates and modifies the list of arguments
at the same time. Depending on the number of arguments this will trigger
an assert: `assert(index < arguments.size())`. This change replaces loop
with a range based erasure.
Commit: 82103dfae9b9ee03f8935f1c8987c7eaecbe9359
https://github.com/llvm/llvm-project/commit/82103dfae9b9ee03f8935f1c8987c7eaecbe9359
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CMakeLists.txt
A clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
R clang/lib/CodeGen/TargetBuiltins/CMakeLists.txt
R clang/lib/CodeGen/Targets/CMakeLists.txt
R clang/lib/CodeGen/Targets/HLSLBufferLayoutBuilder.cpp
Log Message:
-----------
Revert "Reland [Clang][Cmake] fix libtool duplicate member name warnings" (#134656)
Reverts llvm/llvm-project#133850
Commit: 8fddef8483dc9eb569580ffd13695b8f54d3c058
https://github.com/llvm/llvm-project/commit/8fddef8483dc9eb569580ffd13695b8f54d3c058
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.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/SelectionDAGISel.cpp
M llvm/test/CodeGen/AArch64/vector-insert-dag-combines.ll
M llvm/test/CodeGen/X86/half.ll
M llvm/test/CodeGen/X86/pr119158.ll
Log Message:
-----------
[SelectionDAG] Introducing a new ISD::POISON SDNode to represent the poison value in the IR. (#125883)
A new ISD::POISON SDNode is introduced to represent the `poison value`
in the IR, replacing the previous use of ISD::UNDEF.
Commit: 28a391848cc58400a3103730138d46c75871c867
https://github.com/llvm/llvm-project/commit/28a391848cc58400a3103730138d46c75871c867
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/Bitcode/thinlto-unused-type-tests.ll
Log Message:
-----------
Bitcode: Convert test to opaque pointers
Commit: 48bad5bbcdd2afa140e1fca075d46feebcf1bb18
https://github.com/llvm/llvm-project/commit/48bad5bbcdd2afa140e1fca075d46feebcf1bb18
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M clang/cmake/caches/HLSL.cmake
Log Message:
-----------
[HLSL] Include SPIRV in LLVM_TARGETS_TO_BUILD in the HLSL cmake cache (#133287)
Since SPIRV is no longer an experimental target this wasn't actually
enabling it any more.
Commit: 7fa388d77b61685a1e7d359ceb6f73c60f1ade83
https://github.com/llvm/llvm-project/commit/7fa388d77b61685a1e7d359ceb6f73c60f1ade83
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
Log Message:
-----------
[Flang][OpenMP] Fix bug with default(none) and host-assoc threadprivate variable (#134122)
When a host associated `threadprivate` variable was used in a parallel
region with `default(none)` in an internal subroutine was failing,
because the compiler did not properly determine that the variable was
pre-determined `threadprivate` and thus should not have been reported as
missing a DSA.
Commit: 954ccee5d53032f1cdea23368e11922edc20615d
https://github.com/llvm/llvm-project/commit/954ccee5d53032f1cdea23368e11922edc20615d
Author: Matheus Izvekov <mizvekov at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/test/Import/pack-expansion-expr/test.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
Log Message:
-----------
[clang] fix partial ordering of NTTP packs (#134461)
This fixes partial ordering of pack expansions of NTTPs, by procedding
with the check using the pattern of the NTTP through the rules of the
non-pack case.
This also unifies almost all of the different versions of
FinishTemplateArgumentDeduction (except the function template case).
This makes sure they all follow the rules consistently, instantiating
the parameters and comparing those with the argument.
Fixes #132562
Commit: e2885772f05ddf9d81c54c5489801108838ca053
https://github.com/llvm/llvm-project/commit/e2885772f05ddf9d81c54c5489801108838ca053
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
Log Message:
-----------
[libc] Fix function that wasn't updated in wrapper headers
Commit: 4b90f24db81fb4378d9f4816f31e16195d8adb0f
https://github.com/llvm/llvm-project/commit/4b90f24db81fb4378d9f4816f31e16195d8adb0f
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
Log Message:
-----------
[LLDB] Add integration test for libsanitizers trace collection (#134323)
Add integration test for libsanitizers trace collection
(`SanitizersAllocationTraces=all`).
rdar://144244084
Commit: c75eac7c0347b2df88773983bef1e72cb53ad35d
https://github.com/llvm/llvm-project/commit/c75eac7c0347b2df88773983bef1e72cb53ad35d
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
Log Message:
-----------
[LLD][COFF] Don't dllimport from static libraries (#134443)
This reverts commit 6a1bdd9 and re-instate behavior that matches what
MSVC link.exe does, that is, error out when trying to dllimport a symbol
from a static library.
A hint is now displayed in stdout, mentioning that we should rather dllimport the symbol
from a import library.
Fixes https://github.com/llvm/llvm-project/issues/131807
Commit: b09daa4b2314342ed9084d7d85ccd3294fd68021
https://github.com/llvm/llvm-project/commit/b09daa4b2314342ed9084d7d85ccd3294fd68021
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/GitHub.rst
Log Message:
-----------
[llvm][docs] 2 small fixes to GitHub guide (#134620)
1. `arc` is long gone, no need to mention it.
2. Say exactly where user branches can be made.
Commit: 268c065eab06b81a0d7256ac62c0865b3781e236
https://github.com/llvm/llvm-project/commit/268c065eab06b81a0d7256ac62c0865b3781e236
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A clang/test/CodeGenCoroutines/pr134409.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[fatlto] Add coroutine passes when using FatLTO with ThinLTO (#134434)
When coroutines are used w/ both -ffat-lto-objects and -flto=thin,
the coroutine passes are not added to the optimization pipelines.
Ensure they are added before ModuleOptimization to generate a
working ELF object.
Fixes #134409.
Commit: 7fe6e70e7c19a0f5309f1eb1b84f9094189ebff7
https://github.com/llvm/llvm-project/commit/7fe6e70e7c19a0f5309f1eb1b84f9094189ebff7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
Log Message:
-----------
[NFC][LLVM][NVPTX] Cleanup pass initialization for NVPTX (#134311)
- Move all pass initialization function calls to NVPTX target
initialization and out of individual pass constructors.
- Move all pass initialization function declaration to NVPTX.h.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 16c84c4475b909d2de455a44139643c03fe3fe25
https://github.com/llvm/llvm-project/commit/16c84c4475b909d2de455a44139643c03fe3fe25
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M .github/new-prs-labeler.yml
M clang/include/clang/Basic/Builtins.td
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Sema/Sema.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenFunction.h
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
A clang/lib/Sema/SemaDirectX.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
Log Message:
-----------
[DirectX] Add target builtins (#134439)
- fixes #132303
- Moves dot2add from a language builtin to a target builtin.
- Sets the scaffolding for Sema checks for DX builtins
- Setup DirectX backend as able to have target builtins
- Adds a DX TargetBuiltins emitter in
`clang/lib/CodeGen/TargetBuiltins/DirectX.cpp`
Commit: efce8f1ce680b86af48c49edda2c3cbb370a6ba0
https://github.com/llvm/llvm-project/commit/efce8f1ce680b86af48c49edda2c3cbb370a6ba0
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - use enumerate to iterate over shuffle operands. NFC.
Commit: 0a35dd7e99596b1a0316bb81bee3c698adaf0a05
https://github.com/llvm/llvm-project/commit/0a35dd7e99596b1a0316bb81bee3c698adaf0a05
Author: Linux User <linuxusergd at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/tools/llvm-ar/llvm-ar.cpp
Log Message:
-----------
[llvm-ar] --help: fix unquoted angle bracket (#101364)
Changes the argument in llvm-ar help message from `-M [<mri-script]` to
`-M [< mri-script]`
Commit: 1847b00330649aa22a03ac30832bf447f5b0dd7a
https://github.com/llvm/llvm-project/commit/1847b00330649aa22a03ac30832bf447f5b0dd7a
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][ci] Removes C++2b selection option. (#88557)
Since Clang 16 is no longer supported all compilers support C++23.
Commit: 01ec74dfd0db307a3b67cc67448269231cd2e83c
https://github.com/llvm/llvm-project/commit/01ec74dfd0db307a3b67cc67448269231cd2e83c
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate3.f90
Log Message:
-----------
[flang][OpenMP] Fix copyprivate of procedure pointers (#134292)
Just modify the assert to consider fir::BoxProcType as valid. No
other changes are needed.
Fixes #131549
Commit: a406fb8f5a6a65144e5c2564c17ac9ee29da43ed
https://github.com/llvm/llvm-project/commit/a406fb8f5a6a65144e5c2564c17ac9ee29da43ed
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/test/libcxx/clang_tidy.gen.py
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
Log Message:
-----------
[libc++] Clang-tidy operator& hijacker. (#128366)
Guards against introducing new places where operator& depends on a
template type.
Commit: f7cc213d58df01fc630500c5c5ebe48b5577653d
https://github.com/llvm/llvm-project/commit/f7cc213d58df01fc630500c5c5ebe48b5577653d
Author: Lee Wei <lee10202013 at gmail.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
Log Message:
-----------
[ConstraintSystem] Update comments (#127351)
It took me some time to fully understand the implementation of
FourierโMotzkin elimination in the Constraint System, so I added an
example in the comments. Hopefully future developers can understand the
algorithm more easily with the example.
Commit: f413772b318c2da4dfc488df81cb3c458606301f
https://github.com/llvm/llvm-project/commit/f413772b318c2da4dfc488df81cb3c458606301f
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/split-node-last-inst-vectorized.ll
Log Message:
-----------
[SLP]Fix last instruction selection for vectorized last instruction in SplitVectorize nodes
If the last instruction in the SplitVectorize node is vectorized and
scheduled as part of some bundles, the SplitVectorize node might be
placed in the wrong order, leading to a compiler crash. Need to check if
the vectorized node has vector value and place the SplitVectorize node after the vector instruction to prevent a compile crash.
Fixes issue reported in https://github.com/llvm/llvm-project/pull/133091#issuecomment-2782826805
Commit: 600eeed51f538adc5f43c8223a57608e73aba31f
https://github.com/llvm/llvm-project/commit/600eeed51f538adc5f43c8223a57608e73aba31f
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
Log Message:
-----------
[JITLink][NFC] Guard functions used only for debug for `XCOFFLinkGraphBuilder` (#134413)
Commit: 112af8796451e19b43d7a0788039a27b08802974
https://github.com/llvm/llvm-project/commit/112af8796451e19b43d7a0788039a27b08802974
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
Log Message:
-----------
[mlir][tosa] Add parenthesis for the weight padding calculation (#134420)
Minor change.
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 1c8291ffc4d08ca6be915b880d163bfcf91b0c48
https://github.com/llvm/llvm-project/commit/1c8291ffc4d08ca6be915b880d163bfcf91b0c48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/xcvmem.ll
Log Message:
-----------
RISCV: Convert test to opaque pointers
Commit: cb9afe53bf6c7ceb0bdf3b579c185cbff15a3b38
https://github.com/llvm/llvm-project/commit/cb9afe53bf6c7ceb0bdf3b579c185cbff15a3b38
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[mlir][tosa] Fix validation pass assert (#134445)
This fixes a validation pass assert when processing ops with quantized
element types.
The failure case is added to invalid.mlir
The fix is to re-order the validation checking so that only ops with
int/float operands and results pass the first stage of validation pass,
so that the remaining checks do not need to handle quantized data types.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: fbc8335311b27d73fb685d5ebfb702f7acf134d2
https://github.com/llvm/llvm-project/commit/fbc8335311b27d73fb685d5ebfb702f7acf134d2
Author: Jan Leyonberg <jan_sjodin at yahoo.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.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
A mlir/test/Target/LLVMIR/omptarget-teams-distribute-reduction.mlir
A mlir/test/Target/LLVMIR/omptarget-teams-reduction.mlir
A mlir/test/Target/LLVMIR/openmp-teams-distribute-reduction.mlir
A mlir/test/Target/LLVMIR/openmp-teams-reduction.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
A offload/test/offloading/fortran/basic-target-parallel-reduction.f90
A offload/test/offloading/fortran/basic-target-teams-parallel-reduction.f90
Log Message:
-----------
[MLIR][OpenMP] Add codegen for teams reductions (#133310)
This patch adds the lowering of teams reductions from the omp dialect to
LLVM-IR. Some minor cleanup was done in clang to remove an unused
parameter.
Commit: 4701afaeaf2aba604a6160cde04634be88e21022
https://github.com/llvm/llvm-project/commit/4701afaeaf2aba604a6160cde04634be88e21022
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShufflesRecursively - merge loops peeking through shuffle operands. NFC.
Merge loops to peek through free insert_subvector / bitcasts / extract_subvector.
To keep this NFC I haven't reordered the peek throughs - this will done in a future patch to help with #133947 regressions
Commit: 783201b184572a07efe2dc6b6b9110873421cf11
https://github.com/llvm/llvm-project/commit/783201b184572a07efe2dc6b6b9110873421cf11
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/test/Transforms/Attributor/IPConstantProp/pthreads.ll
M llvm/test/Transforms/Attributor/allocator.ll
M llvm/test/Transforms/Attributor/callbacks.ll
M llvm/test/Transforms/Attributor/issue87856.ll
M llvm/test/Transforms/Attributor/memory_locations.ll
M llvm/test/Transforms/Attributor/noalias.ll
M llvm/test/Transforms/Attributor/nocapture-1.ll
M llvm/test/Transforms/Attributor/noundef.ll
M llvm/test/Transforms/Attributor/undefined_behavior.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
M llvm/test/Transforms/Attributor/value-simplify.ll
Log Message:
-----------
Attributor: Don't follow uses of ConstantData (#134573)
These should not really have uselists, and it's not worth the compile
time of looking at all uses of trivial constants. The main observable
change of this is it no longer adds align attributes on constant null
uses, but those are not useful. Some of these cases should potentially
be more aggressive and not look at any Constant users.
Commit: 23c27f3efcdda730b365698ade5fd0c1c283f2e7
https://github.com/llvm/llvm-project/commit/23c27f3efcdda730b365698ade5fd0c1c283f2e7
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
Log Message:
-----------
[NFC][LLVM][AArch64] Cleanup pass initialization for AArch64 (#134315)
- Remove calls to pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: c1c0d551bae4e4f4ed13fcd9264834a2713fe44b
https://github.com/llvm/llvm-project/commit/c1c0d551bae4e4f4ed13fcd9264834a2713fe44b
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Lower/IO.cpp
M flang/test/Lower/io-derived-type.f90
Log Message:
-----------
[flang] Non-type-bound defined IO lowering for an array of derived type (#134667)
Update Non-type-bound IO lowering to call OutputDerivedType for an array
of derived type (rather than OutputDescriptor).
Commit: 1043f5cb0b117bd63369debe80a2d446126cc079
https://github.com/llvm/llvm-project/commit/1043f5cb0b117bd63369debe80a2d446126cc079
Author: Nico Weber <thakis at chromium.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
Log Message:
-----------
[gn] port 16c84c4475b9
Commit: 4607d39c7eded3ff6d425cbc502e30349078365c
https://github.com/llvm/llvm-project/commit/4607d39c7eded3ff6d425cbc502e30349078365c
Author: Pranav Kant <prka at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
Log Message:
-----------
[bazel] Fix build (#134697)
Fixes fallback from #134439
Commit: 21d912121c9f41385b165a736be787527f5bd7c2
https://github.com/llvm/llvm-project/commit/21d912121c9f41385b165a736be787527f5bd7c2
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)
debugserver takes the address of a watchpoint exception and calculates
which watchpoint was responsible for it. There was an off-by-one error
in the range calculation which causes two watchpoints on consecutive
ranges to not correctly identify hits to the second watchpoint. The
result is that lldb wouldn't show the second watchpoint as ever being
hit.
rdar://145107575
Commit: 369c7739d0853b7931410037843d5a63f50bc0a1
https://github.com/llvm/llvm-project/commit/369c7739d0853b7931410037843d5a63f50bc0a1
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
R lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
Revert "[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)"
This reverts commit 21d912121c9f41385b165a736be787527f5bd7c2.
Failure on the aarch64 ubuntu bot when setting the 4th watchpoint;
may be a hardware limitation on that bot. I thought creating four
watchpoints would be generally safe, but I don't need to do that
for my test, will re-land without it.
Commit: 529e9127f0d61f177f2c62ade531d876cf89bf59
https://github.com/llvm/llvm-project/commit/529e9127f0d61f177f2c62ade531d876cf89bf59
Author: YLChenZ <chentongyongcz at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[clang][doc]: Merge entries with duplicate content. (#134089)
Before the patch:

after the patch:

Fixes #133706
Commit: 10bef367a5643bc41d0172b02e080645c68f821a
https://github.com/llvm/llvm-project/commit/10bef367a5643bc41d0172b02e080645c68f821a
Author: Piotr Fusik <p.fusik at samsung.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/zbb-cmp-combine.ll
Log Message:
-----------
[RISCV][test] Fix a comment typo (#134242)
Commit: 8f5a3ec649a3b46093c8a8140bbd91f21236fde6
https://github.com/llvm/llvm-project/commit/8f5a3ec649a3b46093c8a8140bbd91f21236fde6
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Use HW_NCPUONLINE sysctl on NetBSD in GetNumberOfCPUs() (#134704)
Commit: 76fee8f4edf10fb39f0323171c060e97ec0005b0
https://github.com/llvm/llvm-project/commit/76fee8f4edf10fb39f0323171c060e97ec0005b0
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/interop-construct.f90
Log Message:
-----------
[flang][OpenMP][NFC] Don't use special chars in error messages (#134686)
Some error messages were using a special char for `fi`, in the
word `specified`, probably due to a typo.
This caused an error on Windows: #134625
Commit: 27c099bc84d1432752b3828f1ba95de24db76c5e
https://github.com/llvm/llvm-project/commit/27c099bc84d1432752b3828f1ba95de24db76c5e
Author: Drew Lewis <drew90 at vt.edu>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A clang/test/CodeGen/Inputs/cuda.h
R clang/test/CodeGen/include/cuda.h
M clang/test/CodeGen/nvptx-surface.cu
Log Message:
-----------
Move CodeGen cuda.h to Inputs from include (#134706)
Mirrors the behavior of CodeGenCUDA directory and the location of other
.h files in CodeGen.
Commit: 9965f3d337bba09fbf2497a78123957fdaee0ffa
https://github.com/llvm/llvm-project/commit/9965f3d337bba09fbf2497a78123957fdaee0ffa
Author: Damien L-G <dalg24 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/support.h
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
Log Message:
-----------
[libc++] Improve diagnostic when violating `std::atomic` trivially copyable mandates (#131754)
When attempting to instantiate `std::atomic` with a non trivially
copyable type, one gets errors from instantiating internals before the
actual static assertion that check the template parameter type
requirements.
The `verify` test for it had a `// ADDITIONAL_COMPILE_FLAGS: -Xclang
-verify-ignore-unexpected=error` directive to work around this issue.
The changes I propose enable us to drop that directive.
As I understand it, the `verify` test was misplaced so I moved it to
`test/{std -> libcxx}/atomics`.
(I ran into this while working on #121414 in which we would add another
static assertion in `__check_atomic_mandates`)
Commit: 3479c574667eec375cc4ed91e0d63aa2d408b62c
https://github.com/llvm/llvm-project/commit/3479c574667eec375cc4ed91e0d63aa2d408b62c
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/test/CodeGen/PowerPC/mcm-5.ll
A llvm/test/CodeGen/PowerPC/ppc32-pic-bcl.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic-large.ll
M llvm/test/CodeGen/PowerPC/ppc32-pic.ll
Log Message:
-----------
PowerPC32:PIC: Update to bcl to fix branch prediction mis-predict issue (#134140)
Update `bl` to `bcl 20, 31, .+4` for 32bit PIC code gen so the link
stack is
not corrupted and cause mis-predict for the branch predictor.
fixes: https://github.com/llvm/llvm-project/issues/128644
Commit: 19dbde0e81e98758ae9d37ef027bc8d9bbd673df
https://github.com/llvm/llvm-project/commit/19dbde0e81e98758ae9d37ef027bc8d9bbd673df
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
M llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
M llvm/lib/Target/Lanai/Lanai.h
M llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
Log Message:
-----------
[NFC][LLVM] Cleanup pass initialization for ARM/ARV/Lanai/X86/XCore (#134400)
- Remove pass initialization from pass constructors.
- https://github.com/llvm/llvm-project/issues/111767
Commit: 9fdac840ec4901a6e3c71249a136cbecc4a9921a
https://github.com/llvm/llvm-project/commit/9fdac840ec4901a6e3c71249a136cbecc4a9921a
Author: Brad Smith <brad at comstyle.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
Log Message:
-----------
[sanitizer_common] Fix building with NetBSD 10.99.12 or newer (#134708)
https://github.com/NetBSD/src/commit/16543c49052c820334cffc5c69b2afde18f02458
__lwp_getprivate_fast() was moved to a new arch-specific header file.
Closes: #125566
Co-authored-by: Thomas Klausner <wiz at gatalith.at>
Commit: 7d4cddadf2e9e59cde65592a1ea80576a1c1b0fc
https://github.com/llvm/llvm-project/commit/7d4cddadf2e9e59cde65592a1ea80576a1c1b0fc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/CodeGen/SelectionDAG/BUILD.gn
Log Message:
-----------
[gn build] Port 0a1742708ddc
Commit: 06bf7a99fd21c1c450d81d2dc8d3e529042181be
https://github.com/llvm/llvm-project/commit/06bf7a99fd21c1c450d81d2dc8d3e529042181be
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 1f72fa29ecb4
Commit: e1f6e40b282aef17e35de62f14e7b57b487fe2bc
https://github.com/llvm/llvm-project/commit/e1f6e40b282aef17e35de62f14e7b57b487fe2bc
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 475cbf0ad6e7
Commit: 78f624a0d41e9a304ab6f4ac713417b88c667173
https://github.com/llvm/llvm-project/commit/78f624a0d41e9a304ab6f4ac713417b88c667173
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 7013b51548c0
Commit: 7aedebac8cb473555aa8a2928ac3851b0142921e
https://github.com/llvm/llvm-project/commit/7aedebac8cb473555aa8a2928ac3851b0142921e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[VPlan] Populate ExitBlocks when cloning VPlan (NFC).
Update VPlan::duplicate to add cloned exit blocks to ExitBlocks.
Currently there are no uses of the exit blocks after cloning so this is
NFC at the moment.
Commit: d4c16424cf295e7edb7ecd5f8831ff195f7a8fa7
https://github.com/llvm/llvm-project/commit/d4c16424cf295e7edb7ecd5f8831ff195f7a8fa7
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/test/Demangle/invalid-manglings.test
Log Message:
-----------
[LLVM][Demangle] Fix MS Demangler to be stricter about wide string literals (#134483)
Static analysis detected that Demangler::demangleStringLiteral had a
potential overflow if not checking StringByteSize properly.
Added check to ensure that for wide string it is always even and that
there were the byte count did not mismatch the actual size of the
literal.
Fixes: https://github.com/llvm/llvm-project/issues/129970
Commit: 922260722795471870ef793f3187e9a37b145661
https://github.com/llvm/llvm-project/commit/922260722795471870ef793f3187e9a37b145661
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/utils/gn/build/sync_source_lists_from_cmake.py
M llvm/utils/gn/secondary/BUILD.gn
M llvm/utils/gn/secondary/compiler-rt/lib/builtins/BUILD.gn
A llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
A llvm/utils/gn/secondary/compiler-rt/test/builtins/BUILD.gn
Log Message:
-----------
gn build: Add check-builtins target.
Tested on aarch64 Linux and x86_64 Linux.
Reviewers: aeubanks, nico
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/134482
Commit: 15750a0ab2356bea9544b70a72edce421060086e
https://github.com/llvm/llvm-project/commit/15750a0ab2356bea9544b70a72edce421060086e
Author: Nicolas van Kempen <nvankemp at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.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/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.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-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
Log Message:
-----------
[clang-tidy] Use --match-full-lines instead of --strict-whitespace in check_clang_tidy (#133756)
See Discourse post here:
https://discourse.llvm.org/t/rfc-using-match-full-lines-in-clang-tidy-tests/85553
I've added `--match-partial-fixes` to all tests that were failing,
unless I noticed the fix was quick and trivial.
Commit: d1a05721172272f7aab685b56d99e86814a15bff
https://github.com/llvm/llvm-project/commit/d1a05721172272f7aab685b56d99e86814a15bff
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/test/CodeGen/AMDGPU/lower-buffer-fat-pointers-mem-transfer.ll
Log Message:
-----------
[AMDGPU] Add buffer.fat.ptr.load.lds intrinsic wrapping raw rsrc version (#133015)
Add a buffer_fat_ptr_load_lds intrinsic, by analogy with
global_load_lds, which enables using `ptr addrspace(7)` to set the rsrc
and offset arguments to raw_ptr_buffer_load_lds.
Commit: 3756ba3c87f78a2746f26434209e29ac288a5fc6
https://github.com/llvm/llvm-project/commit/3756ba3c87f78a2746f26434209e29ac288a5fc6
Author: vporpo <vporpodas at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/lib/SandboxIR/Context.cpp
M llvm/unittests/SandboxIR/SandboxIRTest.cpp
Log Message:
-----------
[SandboxIR] Implement ConstantDataSequential and subclasses (#133547)
This patch implements sandboxir::ConstantDataSequential mirroring LLVM
IR.
Commit: df28c81f5a2b61a3b5ad1e6274dd27697a9367ac
https://github.com/llvm/llvm-project/commit/df28c81f5a2b61a3b5ad1e6274dd27697a9367ac
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
Log Message:
-----------
[lldb][debugserver] Fix an off-by-one error in watchpoint identification (#134314)
debugserver takes the address of a watchpoint exception and calculates
which watchpoint was responsible for it. There was an off-by-one error
in the range calculation which causes two watchpoints on consecutive
ranges to not correctly identify hits to the second watchpoint. The
result is that lldb wouldn't show the second watchpoint as ever being
hit.
Re-landing this test with a modification to only require two
watchpoints in the test, instead of four. If four watchpoints can
be set, it will test them.
rdar://145107575
Commit: 2ac11daf92531c5de65dd645f4466c709f865a7e
https://github.com/llvm/llvm-project/commit/2ac11daf92531c5de65dd645f4466c709f865a7e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
Log Message:
-----------
[SCEV] Improve code around constant TC (NFC) (#133261)
Commit: 6a94bd136db9393b50bcd99f183e61c2e6e873a9
https://github.com/llvm/llvm-project/commit/6a94bd136db9393b50bcd99f183e61c2e6e873a9
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
Log Message:
-----------
[PPC] Change placeholder from `undef` to `poison` (#134552)
Call `insertelement` on a `poison` value instead of `undef`.
Commit: 3382aef944ef7a497248ef85df75ec04f6c21642
https://github.com/llvm/llvm-project/commit/3382aef944ef7a497248ef85df75ec04f6c21642
Author: amansharma612 <amansharma6122002 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M libc/docs/porting.rst
Log Message:
-----------
[libc] Fixed typo in porting.rst (#134488)
Co-authored-by: Aman Sharma <210100011 at iitb.ac.in>
Commit: eeebdb9711a1c47b1639d1ebeac8b134f86c0634
https://github.com/llvm/llvm-project/commit/eeebdb9711a1c47b1639d1ebeac8b134f86c0634
Author: Steven Hedges <steven.hedges34 at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
Log Message:
-----------
[llvm] Fix Typo in Kaleidoscope BuildingAJIT Example (#134391)
Changed "precedecnce" to precedence.
Commit: ad9f15ab5335ed3c3c40d3c148658b8f2c4223d6
https://github.com/llvm/llvm-project/commit/ad9f15ab5335ed3c3c40d3c148658b8f2c4223d6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanValue.h
Log Message:
-----------
[VPlan] Introduce and use VPValue::replaceUsesOfWith (NFC).
Adds an API matching LLVM's IR Value, which simplifies some code a
bit.
Commit: 01bc672b8a41774feff445b07e749262597501e4
https://github.com/llvm/llvm-project/commit/01bc672b8a41774feff445b07e749262597501e4
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/test/CodeGenHLSL/cbuffer.hlsl
Log Message:
-----------
[HLSL] Desugar ConstantArrayType when calculating cbuffer field layout (#134683)
When calculating the layout for a cbuffer field, if that field is a
ConstantArrayType, desguar it before casting it to a ConstantArrayType.
Closes #134668
---------
Co-authored-by: Eli Friedman <efriedma at quicinc.com>
Commit: 9ce45579781317aade2004e970b352c0e06af291
https://github.com/llvm/llvm-project/commit/9ce45579781317aade2004e970b352c0e06af291
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-int.ll
Log Message:
-----------
[RISCV] Add coverage for reported miscompile in shuffle lowering
Derived from the example in https://github.com/llvm/llvm-project/issues/134126
Commit: 9b63a92ca723293dfe8570d1b2881ce949f1f6cc
https://github.com/llvm/llvm-project/commit/9b63a92ca723293dfe8570d1b2881ce949f1f6cc
Author: Andres Chavarria <84650073+chavandres at users.noreply.github.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
A llvm/test/Transforms/Inline/SystemZ/inline-target-attr.ll
A llvm/test/Transforms/Inline/SystemZ/lit.local.cfg
Log Message:
-----------
Implement areInlineCompatible for SystemZ using feature bitset (#132976)
## What?
Implement `areInlineCompatible` for the SystemZ target using
FeatureBitset comparison.
## Why?
The default implementation in `TargetTransformInfoImpl.h` makes a string
comparison and only inlines when the target-cpu and the target-features
for caller and callee are the same. We are missing out on optimizations
when the callee has a subset of features of the caller.
## How?
Get the FeatureBitset of the caller and callee and check when callee is
a subset or equal to the caller's features. It's a similar
implementation to ARM, PowerPC...
## Testing?
Test cases check for when the callee is a subset of the caller, when
it's not a subset and when both are equals.
Commit: ddb32a67c2e76bc0f69470a8d02a220e8083fa68
https://github.com/llvm/llvm-project/commit/ddb32a67c2e76bc0f69470a8d02a220e8083fa68
Author: Mingming Liu <mingmingl at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/jump-table-partition.ll
Log Message:
-----------
[NFC] Add a precommit test for aarch64 jump table partitioning (#125987)
Commit: a38ad6e2a24b46eaea481c04de566dd2a45d667b
https://github.com/llvm/llvm-project/commit/a38ad6e2a24b46eaea481c04de566dd2a45d667b
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
Log Message:
-----------
[mlir][tosa] Check empty Concat input for inferReturnTypeComponents (#134728)
Signed-off-by: Jerry Ge <jerry.ge at arm.com>
Commit: 65813e0e94c0403dad61e8365b39d76d7b3bfc14
https://github.com/llvm/llvm-project/commit/65813e0e94c0403dad61e8365b39d76d7b3bfc14
Author: Tom Yang <zhenyutyang at gmail.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
Log Message:
-----------
Control Darwin parallel image loading with target.parallel-module-load (#134437)
A requested follow-up from
https://github.com/llvm/llvm-project/pull/130912 by @JDevlieghere to
control Darwin parallel image loading with the same
`target.parallel-module-load` that controls the POSIX dyld parallel
image loading. Darwin parallel image loading was introduced by
https://github.com/llvm/llvm-project/pull/110646.
This small change:
* removes
`plugin.dynamic-loader.darwin.experimental.enable-parallel-image-load`
and associated code.
* changes setting call site in
`DynamicLoaderDarwin::PreloadModulesFromImageInfos` to use the new
setting.
Tested by running `ninja check-lldb` and loading some targets.
Co-authored-by: Tom Yang <toyang at fb.com>
Commit: 0afa872a0db41cba313df473aa3fea52a35c8e70
https://github.com/llvm/llvm-project/commit/0afa872a0db41cba313df473aa3fea52a35c8e70
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-04-08 (Tue, 08 Apr 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/test/CodeGen/DirectX/saturate.ll
Log Message:
-----------
[DirectX] Scalarize the dx.saturate intrinsic (#134381)
The DXIL Saturate op only takes scalars.
Fixes #134378.
Commit: fbbff95b3472e971653966308e12593fb8735b50
https://github.com/llvm/llvm-project/commit/fbbff95b3472e971653966308e12593fb8735b50
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
A bolt/test/AArch64/lite-mode.s
M bolt/test/AArch64/tls.c
A bolt/test/X86/lite-mode-target-expr.s
M bolt/test/binary-analysis/AArch64/cmdline-args.test
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.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/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.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-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/Maintainers.rst
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/cmake/caches/HLSL.cmake
M clang/docs/BoundsSafety.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaConcept.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
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/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/MacroCallReconstructor.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/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/altivec.h
M clang/lib/Headers/amxcomplexintrin.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
M clang/lib/Headers/stdint.h
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/lib/Sema/SemaDirectX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-declare-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/castsize.c
A clang/test/Analysis/lvalue_elements.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/C/C11/n1330.c
A clang/test/C/C11/n1518.c
M clang/test/C/C23/n3042.c
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr209.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/Transforms/loop.cir
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
A clang/test/CodeGen/Inputs/cuda.h
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/cfi-check-fail2.c
A clang/test/CodeGen/invalid_llvm_ir.ll
M clang/test/CodeGen/link-builtin-bitcode.c
A clang/test/CodeGen/nvptx-surface.cu
A clang/test/CodeGen/patchable-function-entry-section.c
A clang/test/CodeGen/promoted-complex-div.c
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/CodeGen/setjmp.c
M clang/test/CodeGen/ubsan-trap-merge.c
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
A clang/test/CodeGenCoroutines/pr134409.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/arch-arm64e.c
M clang/test/Driver/arm-thread-pointer.c
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/link-device-code.test
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/x86-target-features.c
A clang/test/Frontend/print-stats.c
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
M clang/test/Headers/altivec-header.c
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Import/pack-expansion-expr/test.cpp
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Misc/show-diag-options.c
A clang/test/Modules/ComplexExplicitSpecifier.cpp
A clang/test/Modules/no-transitive-decl-change-3.cppm
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/stdint.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/test/Sema/attr-args.c
M clang/test/Sema/attr-callback-broken.c
A clang/test/Sema/clear_cache.c
M clang/test/Sema/for.c
M clang/test/Sema/incomplete-decl.c
A clang/test/Sema/nullability-and-template-deduction.cpp
M clang/test/Sema/patchable-function-entry-attr.c
M clang/test/Sema/tentative-decls.c
A clang/test/SemaCXX/concepts-subsumption.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/for-static-assert.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
A clang/test/SemaCXX/gh134265.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/declare-construct-ast.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/metadata/lit.cfg.py
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
M flang-rt/cmake/modules/GetToolchainDirs.cmake
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang/docs/ArrayRepacking.md
M flang/docs/CMakeLists.txt
M flang/docs/Directives.md
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/Intrinsics.md
M flang/docs/index.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/type-kinds.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.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/command.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
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/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/code-object-version.f90
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Driver/fveclib.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/m64-option.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Evaluate/errors01.f90
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-constructor.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/invalid-types.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/Integration/amdgpu-code-object-version.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
R flang/test/Lower/AMD/code-object-version.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Lower/Intrinsics/perror.f90
A flang/test/Lower/Intrinsics/putenv-func.f90
A flang/test/Lower/Intrinsics/putenv-sub.f90
A flang/test/Lower/Intrinsics/time.f90
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/Todo/interop-construct.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/OpenMP/copyprivate3.f90
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/repack-arrays.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/structure-constructors.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
A flang/test/Parser/OpenMP/interop-construct.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/compiler-directives.f90
M flang/test/Parser/continuation-in-conditional-compilation.f
M flang/test/Preprocessing/bug126459.F90
M flang/test/Preprocessing/directive-contin-with-pp.F90
M flang/test/Preprocessing/line-in-contin.F90
A flang/test/Preprocessing/pp047.F
M flang/test/Preprocessing/pp132.f90
A flang/test/Preprocessing/pp135.F90
M flang/test/Preprocessing/preprocessed-dirs.F90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
A flang/test/Semantics/putenv.f90
M flang/test/Semantics/resolve18.f90
A flang/test/Transforms/DoConcurrent/basic_device.mlir
A flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
A flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplify-fir-operations.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Optimizer/FIRTypesTest.cpp
A libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/docs/porting.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/math.yaml
M libc/include/search.yaml
M libc/include/stdlib.yaml
M libc/include/sys/time.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
A libc/src/math/generic/hypotf16.cpp
M libc/src/math/generic/sin.cpp
A libc/src/math/hypotf16.h
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
A libc/test/src/math/asinhf16_test.cpp
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
M libc/test/src/math/exhaustive/hypotf_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
A libc/test/src/math/smoke/atan2f128_test.cpp
A libc/test/src/math/smoke/hypotf16_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_acosh.h
A libclc/clc/include/clc/math/clc_asinh.h
A libclc/clc/include/clc/math/clc_atan2.h
A libclc/clc/include/clc/math/clc_atan2pi.h
A libclc/clc/include/clc/math/clc_atanh.h
A libclc/clc/include/clc/math/clc_cbrt.inc
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_ep_log.h
A libclc/clc/include/clc/math/clc_ep_log.inc
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp10.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_log1p.h
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_recip.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
A libclc/clc/include/clc/math/clc_native_tan.h
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanh.h
A libclc/clc/include/clc/math/clc_tanpi.h
A libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/include/clc/math/tables.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acosh.cl
A libclc/clc/lib/generic/math/clc_acosh.inc
A libclc/clc/lib/generic/math/clc_asinh.cl
A libclc/clc/lib/generic/math/clc_asinh.inc
A libclc/clc/lib/generic/math/clc_atan2.cl
A libclc/clc/lib/generic/math/clc_atan2.inc
A libclc/clc/lib/generic/math/clc_atan2pi.cl
A libclc/clc/lib/generic/math/clc_atan2pi.inc
A libclc/clc/lib/generic/math/clc_atanh.cl
A libclc/clc/lib/generic/math/clc_atanh.inc
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_ep_log.cl
A libclc/clc/lib/generic/math/clc_ep_log.inc
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
A libclc/clc/lib/generic/math/clc_fmod.cl
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_log1p.cl
A libclc/clc/lib/generic/math/clc_log1p.inc
M libclc/clc/lib/generic/math/clc_log_base.h
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
A libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/clspv/lib/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
R libclc/generic/include/math/clc_tanpi.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/clc_unary.inc
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
R libclc/generic/lib/math/binary_impl.inc
M libclc/generic/lib/math/cbrt.cl
R libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
R libclc/generic/lib/math/clc_rootn.cl
R libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
R libclc/generic/lib/math/ep_log.cl
R libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
M libclc/spirv/lib/SOURCES
M libcxx/.clang-format
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/min_element.h
A libcxx/include/__algorithm/out_value_result.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/support.h
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
M libcxx/include/__configuration/compiler.h
M libcxx/include/__configuration/platform.h
M libcxx/include/__cstddef/byte.h
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__filesystem/operations.h
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/__functional/hash.h
M libcxx/include/__fwd/byte.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__new/align_val_t.h
M libcxx/include/__new/destroying_delete_t.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__new/nothrow_t.h
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_referenceable.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/flat_set
M libcxx/include/fstream
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/regex
M libcxx/include/strstream
M libcxx/include/typeinfo
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/flat_set.inc
M libcxx/modules/std/numeric.inc
M libcxx/src/functional.cpp
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/test/support/test_iterators.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/libcxx/test/params.py
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/OutputSegment.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/SyntheticSections.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-feature-pac.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
A lld/test/ELF/loongarch-relax-tls-ie.s
A lld/test/ELF/loongarch-relax-tlsdesc.s
M lld/test/ELF/loongarch-tls-ie.s
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M lld/test/ELF/weak-undef-rw.s
M lld/test/MachO/arm64-objc-stubs.s
M lld/test/MachO/icf-safe-thunks-dwarf.ll
A lld/test/MachO/interposable.s
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/bindings/python/python-wrapper.swig
A lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Core/Statusline.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/Function.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/include/lldb/Utility/UUID.h
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Symbol/UnwindTable.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/LLDBAssert.cpp
M lldb/source/Utility/UUID.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
M lldb/unittests/Host/HostTest.cpp
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Utility/UUIDTest.cpp
M lldb/unittests/ValueObject/DILLexerTests.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCV/RISCVVectorExtension.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Security.rst
M llvm/docs/SourceLevelDebugging.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/Vectorizers.rst
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/AddressRanges.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/Lint.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
A llvm/include/llvm/Analysis/StaticDataProfileInfo.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/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TileShapeInfo.h
A llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.h
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.def
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCValue.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/lib/Analysis/StaticDataProfileInfo.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/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
A llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
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.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
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/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.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/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Lanai/Lanai.h
M llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
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/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
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/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
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/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
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/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/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
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/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.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/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
M llvm/test/Bindings/OCaml/debuginfo.ml
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/test/Bitcode/thinlto-unused-type-tests.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
M llvm/test/CodeGen/AArch64/andorxor.ll
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
Log Message:
-----------
[๐๐ฝ๐ฟ] changes introduced through rebase
Created using spr 1.3.6-beta.1
[skip ci]
Commit: a4762d78b798d472c53323be19e022cb4f076092
https://github.com/llvm/llvm-project/commit/a4762d78b798d472c53323be19e022cb4f076092
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-04-07 (Mon, 07 Apr 2025)
Changed paths:
R .ci/compute-projects.sh
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/generate-buildkite-pipeline-premerge
R .ci/generate_test_report.py
A .ci/generate_test_report_buildkite.py
A .ci/generate_test_report_github.py
A .ci/generate_test_report_lib.py
A .ci/generate_test_report_lib_test.py
M .ci/monolithic-linux.sh
M .ci/monolithic-windows.sh
M .github/new-prs-labeler.yml
M .github/workflows/build-ci-container.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libclang-abi-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/llvm-tests.yml
M .github/workflows/pr-code-format.yml
M .github/workflows/premerge.yaml
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Core/Relocation.h
M bolt/include/bolt/Passes/DataflowAnalysis.h
M bolt/include/bolt/Passes/DominatorAnalysis.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/lib/Passes/BinaryPasses.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/AArch64/AArch64MCSymbolizer.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
A bolt/test/AArch64/jmp-table-unsupported.s
A bolt/test/AArch64/lite-mode.s
M bolt/test/AArch64/tls.c
A bolt/test/X86/lite-mode-target-expr.s
M bolt/test/binary-analysis/AArch64/cmdline-args.test
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pauth-address-materialization.s
A bolt/test/binary-analysis/AArch64/gs-pauth-calls.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
M bolt/unittests/Core/MCPlusBuilder.cpp
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/assets/index.js
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.cpp
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/CapturingThisInMemberVariableCheck.h
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
M clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
M clang-tools-extra/clang-tidy/misc/UseInternalLinkageCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/utils/ExprSequence.cpp
M clang-tools-extra/clangd/AST.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/DumpAST.cpp
M clang-tools-extra/clangd/FindTarget.cpp
M clang-tools-extra/clangd/Headers.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/index/dex/Dex.cpp
M clang-tools-extra/clangd/refactor/tweaks/ExtractVariable.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/argument-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/assert-side-effect.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/capturing-this-in-member-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/signed-char-misuse.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-enum-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/suspicious-stringview-data-usage.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/unintended-char-ostream-output.rst
M clang-tools-extra/docs/clang-tidy/checks/cert/msc51-cpp.rst
M clang-tools-extra/docs/clang-tidy/checks/concurrency/mt-unsafe.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/no-malloc.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/owning-memory.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.rst
M clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-member-init.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/include-cleaner.rst
M clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-bind.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/loop-convert.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-shared.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/make-unique.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/raw-string-literal.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-emplace.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-data-pointer.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/container-size-empty.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-inline-specifier.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/redundant-smartptr-get.rst
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/test/clang-doc/assets.cpp
M clang-tools-extra/test/clang-doc/basic-project.test
M clang-tools-extra/test/clang-doc/test-path-abs.cpp
M clang-tools-extra/test/clang-tidy/check_clang_tidy.py
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-addition.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-conversion-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-float.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-factory-scale.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/duration-unnecessary-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/time-subtraction.cpp
M clang-tools-extra/test/clang-tidy/checkers/abseil/upgrade-duration-conversions.cpp
M clang-tools-extra/test/clang-tidy/checkers/altera/struct-pack-align.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-memfd-create.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-open.cpp
M clang-tools-extra/test/clang-tidy/checkers/android/cloexec-socket.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/capturing-this-in-member-variable.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/incorrect-enable-shared-from-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/move-forwarding-reference.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-in-initialization-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-memcpy-safe-cxx.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-strlen.c
M clang-tools-extra/test/clang-tidy/checkers/bugprone/not-null-terminated-result-wcslen.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/posix-return.cpp
M clang-tools-extra/test/clang-tidy/checkers/bugprone/standalone-empty.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/bugprone/swapped-arguments.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-bounds-constant-array-index.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init-use-assignment.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/pro-type-member-init.cpp
M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/virtual-class-destructor.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/build-explicit-make-pair.cpp
M clang-tools-extra/test/clang-tidy/checkers/google/objc-avoid-nsobject-new.m
M clang-tools-extra/test/clang-tidy/checkers/google/upgrade-googletest-case.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-isa-or-dyn-cast-in-conditionals.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned2.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/prefer-register-over-unsigned3.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/twine-local.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-pointers.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-pointer-as-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-templates.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values-before-cxx23.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/const-correctness-values.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/definitions-in-headers.hpp
M clang-tools-extra/test/clang-tidy/checkers/misc/unused-parameters.cpp
M clang-tools-extra/test/clang-tidy/checkers/misc/use-internal-linkage-var.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/avoid-bind.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/concat-nested-namespaces.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-basic.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-camelback.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-const.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-extra.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-lowercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-rewritten-binop.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/loop-convert-uppercase.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-shared.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/make-unique.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/pass-by-value.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/redundant-void-arg.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/replace-auto-ptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/type-traits.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast-remove-stars.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-cast.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-for-pointer.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-iterator.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-auto-min-type-name-length.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-equals-default.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison-qt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-fmt.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-using.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/faster-string-find.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/for-range-copy.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/noexcept-move-constructor-fix.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-copy-initialization.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-delayed.cpp
M clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/braces-around-statements.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/const-return-type.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/container-size-empty.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.c
M clang-tools-extra/test/clang-tidy/checkers/readability/implicit-bool-conversion.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr-members.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/simplify-boolean-expr.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/uppercase-literal-suffix-integer-custom-list.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-conflicted-fixes-of-alias-checkers.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/duplicate-fixes-of-alias-checkers.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/foo.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/inheritance/subfolder/bar.h
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/.clang-tidy
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.cpp
A clang-tools-extra/test/clang-tidy/infrastructure/header-filter-from-config-file/simple/foo.h
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang/Maintainers.rst
M clang/bindings/python/tests/cindex/test_diagnostics.py
M clang/cmake/caches/HLSL.cmake
M clang/docs/BoundsSafety.rst
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/ConstantInterpreter.rst
M clang/docs/HIPSupport.rst
M clang/docs/HLSL/AvailabilityDiagnostics.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/MSVCCompatibility.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerCoverage.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/ASTConcept.h
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTImporter.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/ASTStructuralEquivalence.h
M clang/include/clang/AST/AbstractBasicReader.h
M clang/include/clang/AST/AbstractBasicWriter.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/ExternalASTSource.h
M clang/include/clang/AST/Mangle.h
M clang/include/clang/AST/NestedNameSpecifier.h
M clang/include/clang/AST/ODRHash.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/PropertiesBase.td
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/TemplateName.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeLoc.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/AST/VTableBuilder.h
M clang/include/clang/ASTMatchers/ASTMatchers.h
A clang/include/clang/ASTMatchers/LowLevelHelpers.h
M clang/include/clang/Analysis/FlowSensitive/SmartPointerAccessorCaching.h
M clang/include/clang/Basic/ABI.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
A clang/include/clang/Basic/BuiltinsDirectX.td
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/BuiltinsX86.td
M clang/include/clang/Basic/CMakeLists.txt
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/DarwinSDKInfo.h
M clang/include/clang/Basic/Diagnostic.td
M clang/include/clang/Basic/DiagnosticAST.h
M clang/include/clang/Basic/DiagnosticAnalysis.h
M clang/include/clang/Basic/DiagnosticComment.h
M clang/include/clang/Basic/DiagnosticCrossTU.h
M clang/include/clang/Basic/DiagnosticDriver.h
M clang/include/clang/Basic/DiagnosticFrontend.h
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticInstallAPI.h
M clang/include/clang/Basic/DiagnosticLex.h
M clang/include/clang/Basic/DiagnosticParse.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticRefactoring.h
M clang/include/clang/Basic/DiagnosticSema.h
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/DiagnosticSerialization.h
M clang/include/clang/Basic/Features.def
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/Basic/OpenACCKinds.h
M clang/include/clang/Basic/SyncScope.h
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Basic/TokenKinds.def
A clang/include/clang/Basic/UnsignedOrNone.h
M clang/include/clang/Basic/arm_neon.td
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRDialect.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
A clang/include/clang/CIR/LoweringHelpers.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Driver/ToolChain.h
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/CompilerInvocation.h
M clang/include/clang/Lex/HLSLRootSignatureTokenKinds.def
M clang/include/clang/Lex/LexHLSLRootSignature.h
M clang/include/clang/Lex/Preprocessor.h
A clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/DeclSpec.h
M clang/include/clang/Sema/MultiplexExternalSemaSource.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaBase.h
M clang/include/clang/Sema/SemaConcept.h
A clang/include/clang/Sema/SemaDirectX.h
M clang/include/clang/Sema/SemaLambda.h
M clang/include/clang/Sema/SemaOpenACC.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Sema/TemplateDeduction.h
M clang/include/clang/Serialization/ASTDeserializationListener.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
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/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ComputeDependence.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclCXX.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExternalASTSource.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/JSONNodeDumper.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/NestedNameSpecifier.cpp
M clang/lib/AST/ODRHash.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/TemplateName.cpp
M clang/lib/AST/TextNodeDumper.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypeLoc.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/AST/VTableBuilder.cpp
M clang/lib/ASTMatchers/ASTMatchFinder.cpp
M clang/lib/ASTMatchers/CMakeLists.txt
A clang/lib/ASTMatchers/LowLevelHelpers.cpp
M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
M clang/lib/Analysis/FlowSensitive/SimplifyConstraints.cpp
M clang/lib/Analysis/FlowSensitive/SmartPointerAccessorCaching.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/DarwinSDKInfo.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetID.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/DirectX.cpp
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/SPIR.cpp
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenTypeCache.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
M clang/lib/CIR/Lowering/CMakeLists.txt
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
A clang/lib/CIR/Lowering/LoweringHelpers.cpp
M clang/lib/CodeGen/CGAtomic.cpp
M clang/lib/CodeGen/CGBuilder.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCXX.cpp
M clang/lib/CodeGen/CGCXXABI.cpp
M clang/lib/CodeGen/CGCXXABI.h
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCoroutine.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprAgg.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprComplex.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
A clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGLoopInfo.cpp
M clang/lib/CodeGen/CGLoopInfo.h
M clang/lib/CodeGen/CGNonTrivialStruct.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CMakeLists.txt
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenModule.h
M clang/lib/CodeGen/CodeGenPGO.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/HLSLBufferLayoutBuilder.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/MicrosoftCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
A clang/lib/CodeGen/TargetBuiltins/DirectX.cpp
M clang/lib/CodeGen/TargetBuiltins/SPIR.cpp
M clang/lib/CodeGen/TargetBuiltins/X86.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/AIX.cpp
M clang/lib/Driver/ToolChains/AIX.h
M clang/lib/Driver/ToolChains/AMDGPU.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.h
M clang/lib/Driver/ToolChains/Arch/X86.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/Darwin.h
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/MipsLinux.cpp
M clang/lib/Driver/ToolChains/MipsLinux.h
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OHOS.h
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/OpenBSD.h
M clang/lib/Driver/ToolChains/PPCLinux.cpp
M clang/lib/Driver/ToolChains/PPCLinux.h
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/ExtractAPI/DeclarationFragments.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/FormatToken.cpp
M clang/lib/Format/FormatToken.h
M clang/lib/Format/MacroCallReconstructor.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/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/__clang_cuda_runtime_wrapper.h
M clang/lib/Headers/__clang_cuda_texture_intrinsics.h
M clang/lib/Headers/__clang_hip_math.h
M clang/lib/Headers/altivec.h
M clang/lib/Headers/amxcomplexintrin.h
M clang/lib/Headers/avx10_2_512bf16intrin.h
M clang/lib/Headers/avx10_2bf16intrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_compat_overloads.h
M clang/lib/Headers/hlsl/hlsl_intrinsic_helpers.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Headers/llvm_libc_wrappers/stdlib.h
M clang/lib/Headers/stdint.h
M clang/lib/Index/IndexDecl.cpp
M clang/lib/Index/IndexTypeSourceInfo.cpp
M clang/lib/Interpreter/IncrementalExecutor.h
M clang/lib/Interpreter/Interpreter.cpp
M clang/lib/Interpreter/Wasm.cpp
M clang/lib/Interpreter/Wasm.h
M clang/lib/Lex/LexHLSLRootSignature.cpp
M clang/lib/Lex/Lexer.cpp
M clang/lib/Lex/PPDirectives.cpp
M clang/lib/Lex/PPLexerChange.cpp
M clang/lib/Lex/Preprocessor.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
A clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/CMakeLists.txt
M clang/lib/Sema/DeclSpec.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/MultiplexExternalSemaSource.cpp
M clang/lib/Sema/OpenCLBuiltins.td
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAMDGPU.cpp
M clang/lib/Sema/SemaBase.cpp
M clang/lib/Sema/SemaCXXScopeSpec.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCodeComplete.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
A clang/lib/Sema/SemaDirectX.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaFunctionEffects.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLambda.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaObjCProperty.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateDeduction.cpp
M clang/lib/Sema/SemaTemplateDeductionGuide.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ASTWriterDecl.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ForwardDeclChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/Syntax/BuildTree.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
A clang/test/AST/ByteCode/codegen-constexpr-unknown.cpp
R clang/test/AST/ByteCode/codegen-mutable-read.cpp
M clang/test/AST/ByteCode/unions.cpp
M clang/test/AST/ast-dump-decl.cpp
M clang/test/AST/ast-dump-expr.cpp
R clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
M clang/test/AST/ast-dump-template-decls.cpp
M clang/test/AST/ast-dump-template-json-win32-mangler-crash.cpp
M clang/test/AST/ast-dump-templates.cpp
M clang/test/AST/ast-dump-types-json.cpp
M clang/test/AST/ast-print-openacc-atomic-construct.cpp
M clang/test/AST/ast-print-openacc-combined-construct.cpp
M clang/test/AST/ast-print-openacc-compute-construct.cpp
M clang/test/AST/ast-print-openacc-data-construct.cpp
M clang/test/AST/ast-print-openacc-declare-construct.cpp
M clang/test/AST/ast-print-openacc-wait-construct.cpp
M clang/test/Analysis/ArrayBound/assumption-reporting.c
M clang/test/Analysis/Checkers/WebKit/forward-decl-checker.mm
M clang/test/Analysis/Checkers/WebKit/mock-system-header.h
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unretained-call-args-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-call-args.mm
M clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/analyzer-stats/entry-point-stats.cpp
A clang/test/Analysis/castsize.c
A clang/test/Analysis/lvalue_elements.c
M clang/test/Analysis/taint-generic.cpp
M clang/test/C/C11/n1330.c
A clang/test/C/C11/n1518.c
M clang/test/C/C23/n3042.c
A clang/test/C/C2y/n3369.c
A clang/test/C/C2y/n3369_1.c
A clang/test/C/C2y/n3369_2.c
A clang/test/C/C2y/n3469.c
M clang/test/C/drs/dr0xx.c
M clang/test/C/drs/dr209.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/loop.cpp
M clang/test/CIR/CodeGen/unary.cpp
A clang/test/CIR/IR/unary.cir
M clang/test/CIR/Lowering/array.cpp
M clang/test/CIR/Lowering/global-var-simple.cpp
M clang/test/CIR/Lowering/hello.c
M clang/test/CIR/Transforms/loop.cir
M clang/test/CIR/global-var-simple.cpp
M clang/test/CXX/class.access/p6.cpp
M clang/test/CXX/class/class.compare/class.compare.default/p1.cpp
M clang/test/CXX/drs/cwg15xx.cpp
M clang/test/CXX/drs/cwg2xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
A clang/test/ClangScanDeps/modules-relocated-mm-macro.c
M clang/test/CodeGen/2003-08-20-vfork-bug.c
M clang/test/CodeGen/AArch64/bf16-dotprod-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-getset-intrinsics.c
M clang/test/CodeGen/AArch64/bf16-reinterpret-intrinsics.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_cvt.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fdot.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_fmla.c
M clang/test/CodeGen/AArch64/fp8-intrinsics/acle_neon_fp8_reinterpret.c
M clang/test/CodeGen/AArch64/neon-2velem.c
M clang/test/CodeGen/AArch64/neon-extract.c
M clang/test/CodeGen/AArch64/neon-fma.c
M clang/test/CodeGen/AArch64/neon-fp16fml.c
M clang/test/CodeGen/AArch64/neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/neon-intrinsics.c
M clang/test/CodeGen/AArch64/neon-ldst-one-rcpc3.c
M clang/test/CodeGen/AArch64/neon-ldst-one.c
M clang/test/CodeGen/AArch64/neon-misc-constrained.c
M clang/test/CodeGen/AArch64/neon-misc.c
M clang/test/CodeGen/AArch64/neon-perm.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem-constrained.c
M clang/test/CodeGen/AArch64/neon-scalar-x-indexed-elem.c
M clang/test/CodeGen/AArch64/neon-vcmla.c
M clang/test/CodeGen/AArch64/poly-add.c
M clang/test/CodeGen/AArch64/poly128.c
M clang/test/CodeGen/AArch64/poly64.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_1x2.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x1.c
A clang/test/CodeGen/AArch64/sme2-intrinsics/acle_sme2_mop4_2x2.c
M clang/test/CodeGen/AArch64/v8.1a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-constrained.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/AArch64/v8.2a-neon-intrinsics.c
M clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
M clang/test/CodeGen/AArch64/v8.6a-neon-intrinsics.c
A clang/test/CodeGen/Inputs/cuda.h
A clang/test/CodeGen/Mips/subtarget-feature-test.c
M clang/test/CodeGen/allow-ubsan-check.c
M clang/test/CodeGen/amdgpu-abi-version.c
M clang/test/CodeGen/amdgpu-address-spaces.cpp
M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
M clang/test/CodeGen/arm-bf16-dotprod-intrinsics.c
M clang/test/CodeGen/arm-bf16-getset-intrinsics.c
M clang/test/CodeGen/arm-neon-directed-rounding-constrained.c
M clang/test/CodeGen/arm-neon-directed-rounding.c
M clang/test/CodeGen/arm-neon-fma.c
M clang/test/CodeGen/arm-neon-numeric-maxmin.c
M clang/test/CodeGen/arm-neon-vcvtX.c
M clang/test/CodeGen/arm-neon-vst.c
M clang/test/CodeGen/arm-poly-add.c
M clang/test/CodeGen/arm-v8.1a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
M clang/test/CodeGen/arm-v8.2a-neon-intrinsics.c
M clang/test/CodeGen/arm-v8.6a-neon-intrinsics.c
M clang/test/CodeGen/arm64-vrnd-constrained.c
M clang/test/CodeGen/arm64-vrnd.c
M clang/test/CodeGen/arm64_vcreate.c
M clang/test/CodeGen/arm64_vdupq_n_f64.c
M clang/test/CodeGen/arm_neon_intrinsics.c
M clang/test/CodeGen/attr-btf_type_tag-similar-type.c
M clang/test/CodeGen/attr-btf_type_tag-typedef-field.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/cfi-check-fail.c
M clang/test/CodeGen/cfi-check-fail2.c
A clang/test/CodeGen/invalid_llvm_ir.ll
M clang/test/CodeGen/link-builtin-bitcode.c
A clang/test/CodeGen/nvptx-surface.cu
A clang/test/CodeGen/patchable-function-entry-section.c
A clang/test/CodeGen/promoted-complex-div.c
M clang/test/CodeGen/sanitize-coverage.c
M clang/test/CodeGen/setjmp.c
M clang/test/CodeGen/ubsan-trap-merge.c
R clang/test/CodeGenCUDA/amdgpu-code-object-version-linking.cu
M clang/test/CodeGenCUDA/amdgpu-workgroup-size.cu
M clang/test/CodeGenCXX/debug-info-windows-dtor.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dynamic-cast-address-space.cpp
M clang/test/CodeGenCXX/microsoft-abi-extern-template.cpp
M clang/test/CodeGenCXX/microsoft-abi-structors.cpp
M clang/test/CodeGenCXX/microsoft-abi-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vftables.cpp
M clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-vdtors.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp
M clang/test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp
M clang/test/CodeGenCXX/microsoft-no-rtti-data.cpp
A clang/test/CodeGenCXX/microsoft-vector-deleting-dtors.cpp
M clang/test/CodeGenCXX/pragma-followup_inner.cpp
M clang/test/CodeGenCXX/pragma-followup_outer.cpp
M clang/test/CodeGenCXX/pragma-loop.cpp
M clang/test/CodeGenCXX/vtable-consteval.cpp
A clang/test/CodeGenCoroutines/pr134409.cpp
A clang/test/CodeGenDirectX/Builtins/dot2add.c
M clang/test/CodeGenHIP/default-attributes.hip
M clang/test/CodeGenHLSL/GlobalDestructors.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/WaveReadLaneAt.hlsl
A clang/test/CodeGenHLSL/builtins/acos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/acos.hlsl
A clang/test/CodeGenHLSL/builtins/asin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/asin.hlsl
A clang/test/CodeGenHLSL/builtins/atan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan.hlsl
A clang/test/CodeGenHLSL/builtins/atan2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/atan2.hlsl
A clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
A clang/test/CodeGenHLSL/builtins/cosh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cosh.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/dot-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/dot.hlsl
A clang/test/CodeGenHLSL/builtins/dot2add.hlsl
A clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
A clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
A clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
A clang/test/CodeGenHLSL/builtins/frac-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/lerp.hlsl
A clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
A clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
A clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
A clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
A clang/test/CodeGenHLSL/builtins/radians-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
A clang/test/CodeGenHLSL/builtins/rcp-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
A clang/test/CodeGenHLSL/builtins/saturate-builtin.hlsl
A clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
A clang/test/CodeGenHLSL/builtins/sinh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sinh.hlsl
A clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
A clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
A clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
A clang/test/CodeGenHLSL/builtins/tan-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tan.hlsl
A clang/test/CodeGenHLSL/builtins/tanh-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/tanh.hlsl
A clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenOpenCL/amdgpu-enqueue-kernel.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-cvt-off-f32-i4.cl
R clang/test/CodeGenOpenCL/builtins-amdgcn-gfx942.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-lds.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-raw-buffer-load.cl
M clang/test/CodeGenOpenCL/fdeclare-opencl-builtins.cl
A clang/test/CodeGenSPIRV/Builtins/smoothstep.c
M clang/test/Driver/Inputs/DriverKit23.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.14.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX10.15.versioned.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/MacOSX15.1.sdk/SDKSettings.json
A clang/test/Driver/Inputs/SYCL/bar.ll
A clang/test/Driver/Inputs/SYCL/baz.ll
A clang/test/Driver/Inputs/SYCL/foo.ll
A clang/test/Driver/Inputs/SYCL/libsycl.ll
M clang/test/Driver/Inputs/WatchOS6.0.sdk/SDKSettings.json
M clang/test/Driver/Inputs/iPhoneOS13.0.sdk/SDKSettings.json
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc.a
A clang/test/Driver/Inputs/resource_dir/lib/aix/libclang_rt.builtins-powerpc64.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libclang_rt.builtins.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64-ibm-aix/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.a
A clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/powerpc64le-unknown-linux-gnu/libflang_rt.runtime.so
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/bin/.hipVersion
R clang/test/Driver/Inputs/rocm-spack/hip-4.0.0-5f63slrursbrvfe2txrrjkynbsywsob5/include/hip/hip_runtime.h
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/asanrtl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/hip.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ockl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_400.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_500.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_abi_version_600.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_daz_opt_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_finite_only_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1010.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1011.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_1012.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_803.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_900.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_isa_version_908.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_unsafe_math_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_off.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/oclc_wavefrontsize64_on.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/ocml.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/amdgcn/bitcode/opencl.bc
R clang/test/Driver/Inputs/rocm-spack/llvm-amdgpu-4.0.0-ieagcs7inf7runpyfvepqkurasoglq4z/bin/.keep
M clang/test/Driver/aix-ld.c
M clang/test/Driver/aix-print-runtime-dir.c
M clang/test/Driver/aix-rtlib.c
M clang/test/Driver/amdgpu-toolchain.c
A clang/test/Driver/arch-arm64e.c
M clang/test/Driver/arm-thread-pointer.c
M clang/test/Driver/clang-sycl-linker-test.cpp
A clang/test/Driver/cuda-no-pgo-or-coverage.cu
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/fpatchable-function-entry.c
M clang/test/Driver/fsanitize-coverage.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-options.hip
M clang/test/Driver/hip-toolchain-rdc-flto-partitions.hip
M clang/test/Driver/hip-toolchain-rdc-static-lib.hip
M clang/test/Driver/hip-toolchain-rdc.hip
A clang/test/Driver/link-device-code.test
M clang/test/Driver/print-multi-selection-flags.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/rocm-detect.hip
M clang/test/Driver/sycl-link-spirv-target.cpp
M clang/test/Driver/x86-target-features.c
A clang/test/Frontend/print-stats.c
M clang/test/Headers/Inputs/include/cuda.h
A clang/test/Headers/Inputs/include/surface_indirect_functions.h
M clang/test/Headers/altivec-header.c
M clang/test/Headers/openmp_device_math_isnan.cpp
M clang/test/Import/pack-expansion-expr/test.cpp
M clang/test/InstallAPI/Inputs/MacOSX13.0.sdk/SDKSettings.json
M clang/test/Misc/diag-template-diffing-cxx11.cpp
M clang/test/Misc/show-diag-options.c
A clang/test/Modules/ComplexExplicitSpecifier.cpp
A clang/test/Modules/no-transitive-decl-change-3.cppm
M clang/test/Modules/vtable-windows.cppm
M clang/test/OpenMP/amdgcn_target_global_constructor.cpp
M clang/test/OpenMP/declare_variant_construct_codegen_1.c
M clang/test/OpenMP/interop_codegen.cpp
M clang/test/OpenMP/ompx_attributes_codegen.cpp
M clang/test/OpenMP/target_num_teams_num_threads_attributes.cpp
M clang/test/OpenMP/target_parallel_no_exceptions.cpp
M clang/test/OpenMP/target_team_variable_codegen.cpp
M clang/test/OpenMP/target_visibility.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-clauses.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Preprocessor/stdint.c
M clang/test/Profile/cxx-abc-deleting-dtor.cpp
M clang/test/Sema/Inputs/AppleTVOS15.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/MacOSX11.0.sdk/SDKSettings.json
M clang/test/Sema/Inputs/WatchOS7.0.sdk/SDKSettings.json
A clang/test/Sema/aarch64-sme2p2-instrinsics/acle_sme2p2_imm.cpp
M clang/test/Sema/attr-args.c
M clang/test/Sema/attr-callback-broken.c
A clang/test/Sema/clear_cache.c
M clang/test/Sema/for.c
M clang/test/Sema/incomplete-decl.c
A clang/test/Sema/nullability-and-template-deduction.cpp
M clang/test/Sema/patchable-function-entry-attr.c
M clang/test/Sema/tentative-decls.c
A clang/test/SemaCXX/concepts-subsumption.cpp
M clang/test/SemaCXX/cxx17-compat.cpp
M clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
M clang/test/SemaCXX/cxx20-ctad-type-alias.cpp
M clang/test/SemaCXX/cxx98-compat.cpp
M clang/test/SemaCXX/fold_lambda_with_variadics.cpp
A clang/test/SemaCXX/for-static-assert.cpp
A clang/test/SemaCXX/friend-default-parameters-modules.cpp
A clang/test/SemaCXX/friend-default-parameters.cpp
A clang/test/SemaCXX/gh134265.cpp
A clang/test/SemaCXX/invalid-std-initializer-list.cpp
M clang/test/SemaCXX/ms_struct.cpp
M clang/test/SemaCXX/offsetof-0x.cpp
M clang/test/SemaCXX/offsetof.cpp
M clang/test/SemaCXX/static-assert.cpp
M clang/test/SemaCXX/sugar-common-types.cpp
M clang/test/SemaCXX/warn-base-type-qualifiers.cpp
M clang/test/SemaHLSL/BuiltIns/clamp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/clip-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/dot-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/dot2add-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/frac-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/lerp-errors.hlsl
M clang/test/SemaHLSL/BuiltIns/rsqrt-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/smoothstep-errors.hlsl
M clang/test/SemaOpenACC/atomic-construct-ast.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/combined-construct-copy-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copy-clause.c
M clang/test/SemaOpenACC/combined-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyin-clause.c
M clang/test/SemaOpenACC/combined-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/combined-construct-copyout-clause.c
M clang/test/SemaOpenACC/combined-construct-create-ast.cpp
M clang/test/SemaOpenACC/combined-construct-create-clause.c
M clang/test/SemaOpenACC/combined-construct-wait-ast.cpp
M clang/test/SemaOpenACC/combined-construct-wait-clause.c
M clang/test/SemaOpenACC/compute-construct-copy-clause.c
M clang/test/SemaOpenACC/compute-construct-copyin-clause.c
M clang/test/SemaOpenACC/compute-construct-copyout-clause.c
M clang/test/SemaOpenACC/compute-construct-create-clause.c
M clang/test/SemaOpenACC/compute-construct-intexpr-clause-ast.cpp
M clang/test/SemaOpenACC/compute-construct-varlist-ast.cpp
M clang/test/SemaOpenACC/compute-construct-wait-clause.c
M clang/test/SemaOpenACC/data-construct-copy-ast.cpp
M clang/test/SemaOpenACC/data-construct-copy-clause.c
M clang/test/SemaOpenACC/data-construct-copyin-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyin-clause.c
M clang/test/SemaOpenACC/data-construct-copyout-ast.cpp
M clang/test/SemaOpenACC/data-construct-copyout-clause.c
M clang/test/SemaOpenACC/data-construct-create-ast.cpp
M clang/test/SemaOpenACC/data-construct-create-clause.c
M clang/test/SemaOpenACC/data-construct-wait-ast.cpp
M clang/test/SemaOpenACC/data-construct-wait-clause.c
M clang/test/SemaOpenACC/declare-construct-ast.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
A clang/test/SemaOpenACC/no-empty-pqr-list.cpp
M clang/test/SemaOpenACC/update-construct.cpp
M clang/test/SemaOpenACC/wait-construct-ast.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
A clang/test/SemaOpenCL/builtins-amdgcn-cvt-off-f32-i4-err.cl
R clang/test/SemaOpenCL/builtins-amdgcn-gfx942-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-global-load-lds-err.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-error.cl
A clang/test/SemaOpenCL/builtins-amdgcn-raw-ptr-buffer-load-lds-target-error.cl
A clang/test/SemaSPIRV/BuiltIns/smoothstep-errors.c
M clang/test/SemaTemplate/aggregate-deduction-candidate.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/SemaTemplate/dependent-template-recover.cpp
M clang/test/SemaTemplate/instantiate-requires-expr.cpp
M clang/test/SemaTemplate/make_integer_seq.cpp
M clang/test/SemaTemplate/partial-order.cpp
M clang/test/SemaTemplate/temp_arg_nontype.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/CMakeLists.txt
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/tools/libclang/CIndex.cpp
M clang/unittests/AST/ASTImporterTest.cpp
M clang/unittests/AST/ByteCode/CMakeLists.txt
M clang/unittests/AST/CMakeLists.txt
M clang/unittests/AST/SourceLocationTest.cpp
M clang/unittests/ASTMatchers/CMakeLists.txt
M clang/unittests/ASTMatchers/Dynamic/CMakeLists.txt
M clang/unittests/Analysis/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
M clang/unittests/Analysis/FlowSensitive/MultiVarConstantPropagationTest.cpp
M clang/unittests/Analysis/FlowSensitive/SmartPointerAccessorCachingTest.cpp
M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
M clang/unittests/Analysis/MacroExpansionContextTest.cpp
M clang/unittests/Basic/CMakeLists.txt
M clang/unittests/Basic/SourceManagerTest.cpp
M clang/unittests/CMakeLists.txt
M clang/unittests/CodeGen/CMakeLists.txt
M clang/unittests/CrossTU/CMakeLists.txt
M clang/unittests/DirectoryWatcher/CMakeLists.txt
M clang/unittests/Driver/CMakeLists.txt
M clang/unittests/Format/CMakeLists.txt
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Format/FormatTestVerilog.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CMakeLists.txt
M clang/unittests/Index/CMakeLists.txt
M clang/unittests/InstallAPI/CMakeLists.txt
M clang/unittests/Interpreter/CMakeLists.txt
M clang/unittests/Interpreter/ExceptionTests/CMakeLists.txt
M clang/unittests/Lex/CMakeLists.txt
M clang/unittests/Lex/LexHLSLRootSignatureTest.cpp
M clang/unittests/Lex/LexerTest.cpp
M clang/unittests/Lex/ModuleDeclStateTest.cpp
M clang/unittests/Lex/PPCallbacksTest.cpp
M clang/unittests/Lex/PPConditionalDirectiveRecordTest.cpp
M clang/unittests/Lex/PPDependencyDirectivesTest.cpp
M clang/unittests/Lex/PPMemoryAllocationsTest.cpp
A clang/unittests/Parse/CMakeLists.txt
A clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M clang/unittests/Rewrite/CMakeLists.txt
M clang/unittests/Sema/CMakeLists.txt
M clang/unittests/Serialization/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CMakeLists.txt
M clang/unittests/StaticAnalyzer/CallEventTest.cpp
M clang/unittests/StaticAnalyzer/RegisterCustomCheckersTest.cpp
M clang/unittests/Support/CMakeLists.txt
M clang/unittests/Tooling/CMakeLists.txt
M clang/unittests/Tooling/ExecutionTest.cpp
M clang/unittests/Tooling/QualTypeNamesTest.cpp
M clang/unittests/Tooling/Syntax/CMakeLists.txt
M clang/unittests/libclang/CMakeLists.txt
M clang/unittests/libclang/CrashTests/CMakeLists.txt
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp
M clang/utils/TableGen/NeonEmitter.cpp
M clang/utils/TableGen/SveEmitter.cpp
M clang/utils/TableGen/TableGen.cpp
M clang/utils/TableGen/TableGenBackends.h
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/cmake/Modules/AddCompilerRT.cmake
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/cmake/builtin-config-ix.cmake
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/asan/asan_activation.cpp
M compiler-rt/lib/asan/asan_flags.h
M compiler-rt/lib/asan/asan_interceptors.cpp
M compiler-rt/lib/asan/asan_poisoning.h
M compiler-rt/lib/asan/asan_report.cpp
M compiler-rt/lib/asan/asan_rtl.cpp
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CMakeLists.txt
M compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.cpp
A compiler-rt/lib/ctx_profile/RootAutoDetector.h
M compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
A compiler-rt/lib/ctx_profile/tests/RootAutoDetectorTest.cpp
M compiler-rt/lib/memprof/memprof_flags.h
M compiler-rt/lib/msan/tests/msan_test.cpp
M compiler-rt/lib/profile/InstrProfiling.h
M compiler-rt/lib/profile/InstrProfilingFile.c
M compiler-rt/lib/profile/InstrProfilingInternal.h
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
M compiler-rt/test/CMakeLists.txt
M compiler-rt/test/asan/TestCases/Posix/deep_call_stack.cpp
M compiler-rt/test/asan/TestCases/Posix/stack-overflow.cpp
M compiler-rt/test/asan/TestCases/alloca_instruments_all_paddings.cpp
A compiler-rt/test/asan/TestCases/shadowed-stack-serialization.cpp
M compiler-rt/test/asan/TestCases/use-after-scope-inlined.cpp
M compiler-rt/test/lit.common.cfg.py
M compiler-rt/test/metadata/lit.cfg.py
A compiler-rt/test/profile/AIX/pgo-lto-bcdtor-function-section.test
M compiler-rt/test/sanitizer_common/TestCases/Darwin/malloc_zone.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/getservent_r.cpp
M compiler-rt/test/sanitizer_common/TestCases/Linux/preadv2.cpp
M compiler-rt/test/sanitizer_common/lit.common.cfg.py
M compiler-rt/test/tsan/Darwin/no_call_setenv_in_symbolize.cpp
M compiler-rt/test/tsan/Linux/clone_setns.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/aggregate-indirect-arg.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/asan-deque.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/ctor.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/deferred_globals.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/namespace.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/nrvo-string.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-fastmath.cpp
M cross-project-tests/debuginfo-tests/dexter-tests/optnone-loops.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/dex_declare_file.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_kinds.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_out_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/float_range_zero_nonmatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/missing_dex_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_line_range.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/penalty/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/command_line.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_after_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/address_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/expression_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/identical_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/multiple_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/offset_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_address/self_comparison.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/dex_and_source/test.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/precompiled_binary/commands.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_declare_file/windows_noncanonical_path/test.dex
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/default_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_conditional_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/dex_finish_test/limit_steps_simple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_program_state.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/direction.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/func_external.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/recursive.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_kind/small_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_step_order.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/expect_watch_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_multiple.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_no_arg.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_small.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/float_range_watch/float_range_zero_match.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/hit_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_check_json_step_count.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_loop.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_expect_value.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_line_mismatch.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_overlapping_ranges.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/limit_steps_same_line_conditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/limit_steps/unconditional.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_not_cmd_lineno.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/commands/perfect/unreachable_on_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/address_printing.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_bad_label_ref.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_address.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_duplicate_label.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_paren_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_dexdeclarefile.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_syntax_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_type_mline.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/err_undeclared_addr.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_another_line.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/label_offset.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/source-root-dir.cpp
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/test/target_run_args_with_command.c
M cross-project-tests/debuginfo-tests/dexter/feature_tests/subtools/view.cpp
M cross-project-tests/lit.cfg.py
M flang-rt/cmake/modules/GetToolchainDirs.cmake
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/lib/cuda/allocator.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/command.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/descriptor.cpp
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/extensions.cpp
M flang-rt/lib/runtime/matmul-transpose.cpp
M flang-rt/lib/runtime/matmul.cpp
M flang-rt/lib/runtime/stop.cpp
M flang-rt/lib/runtime/unit.cpp
M flang-rt/lib/runtime/unit.h
M flang/docs/ArrayRepacking.md
M flang/docs/CMakeLists.txt
M flang/docs/Directives.md
A flang/docs/DoConcurrentConversionToOpenMP.md
M flang/docs/Intrinsics.md
M flang/docs/index.md
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Common/Fortran-consts.h
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/real.h
A flang/include/flang/Common/type-kinds.h
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/target.h
M flang/include/flang/Evaluate/traverse.h
M flang/include/flang/Evaluate/type.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
M flang/include/flang/Optimizer/Builder/LowLevelIntrinsics.h
M flang/include/flang/Optimizer/Builder/Runtime/Command.h
M flang/include/flang/Optimizer/Builder/Runtime/Intrinsics.h
M flang/include/flang/Optimizer/CodeGen/CGPasses.td
M flang/include/flang/Optimizer/CodeGen/CodeGen.h
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/Dialect/FIRTypes.td
M flang/include/flang/Optimizer/OpenMP/Passes.h
M flang/include/flang/Optimizer/OpenMP/Passes.td
A flang/include/flang/Optimizer/OpenMP/Utils.h
M flang/include/flang/Optimizer/Passes/Pipelines.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/command.h
M flang/include/flang/Runtime/extensions.h
M flang/include/flang/Runtime/stop.h
M flang/include/flang/Semantics/openmp-modifiers.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/LangOptions.def
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/check-expression.cpp
M flang/lib/Evaluate/intrinsics-library.cpp
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Evaluate/target.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Evaluate/type.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/ConvertExpr.cpp
M flang/lib/Lower/ConvertExprToHLFIR.cpp
M flang/lib/Lower/ConvertType.cpp
M flang/lib/Lower/ConvertVariable.cpp
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/OpenMP.cpp
M flang/lib/Lower/PFTBuilder.cpp
M flang/lib/Optimizer/Builder/Character.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/Builder/LowLevelIntrinsics.cpp
M flang/lib/Optimizer/Builder/Runtime/Command.cpp
M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
M flang/lib/Optimizer/CodeGen/CMakeLists.txt
A flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/OpenMP/CMakeLists.txt
A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/Fortran-parsers.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parsing.cpp
M flang/lib/Parser/prescan.cpp
M flang/lib/Parser/token-sequence.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-directives.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/openmp-modifiers.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
M flang/lib/Semantics/unparse-with-symbols.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/cudadevice.f90
M flang/test/Driver/bbc-mlir-pass-pipeline.f90
M flang/test/Driver/bbc-openmp-version-macro.f90
M flang/test/Driver/code-object-version.f90
A flang/test/Driver/do_concurrent_to_omp_cli.f90
A flang/test/Driver/flang-ld-powerpc.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Driver/frepack-arrays-contiguity.f90
A flang/test/Driver/frepack-arrays.f90
A flang/test/Driver/fstack-repack-arrays.f90
M flang/test/Driver/fveclib.f90
M flang/test/Driver/linker-flags.f90
A flang/test/Driver/m64-option.f90
M flang/test/Driver/mlir-debug-pass-pipeline.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Evaluate/errors01.f90
M flang/test/Fir/CUDA/cuda-constructor-2.f90
M flang/test/Fir/CUDA/cuda-constructor.f90
M flang/test/Fir/basic-program.fir
M flang/test/Fir/invalid-types.fir
M flang/test/HLFIR/assign-codegen.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/char_extremum-bufferization.fir
M flang/test/HLFIR/concat-bufferization.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/Integration/amdgpu-code-object-version.f90
M flang/test/Integration/debug-local-var-2.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
R flang/test/Lower/AMD/code-object-version.f90
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/CUDA/cuda-doconc.cuf
A flang/test/Lower/Intrinsics/erf.f90
M flang/test/Lower/Intrinsics/erf_real16.f90
M flang/test/Lower/Intrinsics/erfc.f90
M flang/test/Lower/Intrinsics/erfc_real16.f90
M flang/test/Lower/Intrinsics/erfc_scaled.f90
A flang/test/Lower/Intrinsics/erfc_scaled_real16.f90
A flang/test/Lower/Intrinsics/perror.f90
A flang/test/Lower/Intrinsics/putenv-func.f90
A flang/test/Lower/Intrinsics/putenv-sub.f90
A flang/test/Lower/Intrinsics/time.f90
A flang/test/Lower/Intrinsics/unlink-func.f90
A flang/test/Lower/Intrinsics/unlink-sub.f90
A flang/test/Lower/OpenMP/Todo/depend-clause-vector-subscript-array-section.f90
A flang/test/Lower/OpenMP/Todo/interop-construct.f90
M flang/test/Lower/OpenMP/copyin.f90
A flang/test/Lower/OpenMP/copyprivate3.f90
A flang/test/Lower/OpenMP/cray-pointers01.f90
A flang/test/Lower/OpenMP/cray-pointers02.f90
M flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
M flang/test/Lower/OpenMP/generic-loop-rewriting.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/OpenMP/loop-directive.f90
M flang/test/Lower/OpenMP/omp-is-gpu.f90
M flang/test/Lower/OpenMP/rtl-flags.f90
M flang/test/Lower/OpenMP/target.f90
M flang/test/Lower/OpenMP/target_cpu_features.f90
A flang/test/Lower/OpenMP/task-depend-array-section.f90
M flang/test/Lower/OpenMP/task.f90
A flang/test/Lower/OpenMP/threadprivate-host-association-3.f90
M flang/test/Lower/array-constructor-2.f90
M flang/test/Lower/host-associated.f90
M flang/test/Lower/io-derived-type.f90
M flang/test/Lower/optional-value-caller.f90
M flang/test/Lower/pointer-references.f90
M flang/test/Lower/repack-arrays.f90
M flang/test/Lower/statement-function.f90
M flang/test/Lower/structure-constructors.f90
M flang/test/Lower/unroll_and_jam.f90
M flang/test/Lower/vector-always.f90
M flang/test/Parser/OpenMP/compiler-directive-continuation.f90
A flang/test/Parser/OpenMP/interop-construct.f90
M flang/test/Parser/OpenMP/sentinels.f
M flang/test/Parser/compiler-directives.f90
M flang/test/Parser/continuation-in-conditional-compilation.f
M flang/test/Preprocessing/bug126459.F90
M flang/test/Preprocessing/directive-contin-with-pp.F90
M flang/test/Preprocessing/line-in-contin.F90
A flang/test/Preprocessing/pp047.F
M flang/test/Preprocessing/pp132.f90
A flang/test/Preprocessing/pp135.F90
M flang/test/Preprocessing/preprocessed-dirs.F90
A flang/test/Semantics/OpenMP/declare-target-function-name-with-symbols.f90
A flang/test/Semantics/OpenMP/interop-construct.f90
A flang/test/Semantics/erf.f90
A flang/test/Semantics/erfc.f90
A flang/test/Semantics/erfc_scaled.f90
A flang/test/Semantics/putenv.f90
M flang/test/Semantics/resolve18.f90
A flang/test/Transforms/DoConcurrent/basic_device.mlir
A flang/test/Transforms/DoConcurrent/basic_host.f90
A flang/test/Transforms/DoConcurrent/basic_host.mlir
A flang/test/Transforms/DoConcurrent/locally_destroyed_temp.f90
A flang/test/Transforms/DoConcurrent/loop_nest_test.f90
A flang/test/Transforms/DoConcurrent/multiple_iteration_ranges.f90
A flang/test/Transforms/DoConcurrent/non_const_bounds.f90
A flang/test/Transforms/DoConcurrent/not_perfectly_nested.f90
A flang/test/Transforms/loop-versioning-with-repack-arrays.fir
A flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/simplify-fir-operations.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Optimizer/FIRTypesTest.cpp
A libc/Maintainers.rst
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/darwin/arm/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/aarch64/headers.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/docs/CMakeLists.txt
A libc/docs/Maintainers.rst
M libc/docs/headers/math/index.rst
M libc/docs/index.rst
M libc/docs/porting.rst
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__bsearchcompare_t.h
R libc/include/llvm-libc-types/__lsearchcompare_t.h
A libc/include/llvm-libc-types/__search_compare_t.h
M libc/include/llvm-libc-types/suseconds_t.h
M libc/include/math.yaml
M libc/include/search.yaml
M libc/include/stdlib.yaml
M libc/include/sys/time.yaml
M libc/src/__support/CMakeLists.txt
M libc/src/__support/CPP/atomic.h
M libc/src/__support/CPP/type_traits/is_signed.h
M libc/src/__support/CPP/type_traits/is_unsigned.h
M libc/src/__support/FPUtil/Hypot.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/libc_assert.h
M libc/src/__support/str_to_float.h
M libc/src/__support/str_to_integer.h
M libc/src/math/CMakeLists.txt
A libc/src/math/asinhf16.h
A libc/src/math/atan2f128.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinhf16.cpp
A libc/src/math/generic/atan2f128.cpp
M libc/src/math/generic/atan_utils.h
A libc/src/math/generic/hypotf16.cpp
M libc/src/math/generic/sin.cpp
A libc/src/math/hypotf16.h
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/memalignment.cpp
A libc/src/stdlib/memalignment.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/time/CMakeLists.txt
A libc/src/sys/time/linux/CMakeLists.txt
A libc/src/sys/time/linux/utimes.cpp
A libc/src/sys/time/utimes.h
M libc/startup/gpu/CMakeLists.txt
M libc/test/src/__support/CPP/type_traits_test.cpp
M libc/test/src/math/CMakeLists.txt
M libc/test/src/math/HypotTest.h
A libc/test/src/math/asinhf16_test.cpp
A libc/test/src/math/atan2f128_test.cpp
M libc/test/src/math/exhaustive/CMakeLists.txt
A libc/test/src/math/exhaustive/hypotf16_test.cpp
M libc/test/src/math/exhaustive/hypotf_test.cpp
A libc/test/src/math/hypotf16_test.cpp
M libc/test/src/math/performance_testing/CMakeLists.txt
A libc/test/src/math/performance_testing/hypotf16_perf.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinhf16_test.cpp
A libc/test/src/math/smoke/atan2f128_test.cpp
A libc/test/src/math/smoke/hypotf16_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/memalignment_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/time/CMakeLists.txt
A libc/test/src/sys/time/utimes_test.cpp
M libc/test/src/time/CMakeLists.txt
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/mktime_test.cpp
M libclc/CMakeLists.txt
M libclc/amdgpu/lib/SOURCES
R libclc/amdgpu/lib/math/native_exp.cl
R libclc/amdgpu/lib/math/native_exp.inc
R libclc/amdgpu/lib/math/native_log.cl
R libclc/amdgpu/lib/math/native_log.inc
R libclc/amdgpu/lib/math/native_log10.cl
R libclc/amdgpu/lib/math/native_log10.inc
A libclc/clc/include/clc/math/binary_decl_with_int_second_arg.inc
A libclc/clc/include/clc/math/binary_def_via_fp32.inc
A libclc/clc/include/clc/math/binary_def_with_int_second_arg.inc
A libclc/clc/include/clc/math/clc_acosh.h
A libclc/clc/include/clc/math/clc_asinh.h
A libclc/clc/include/clc/math/clc_atan2.h
A libclc/clc/include/clc/math/clc_atan2pi.h
A libclc/clc/include/clc/math/clc_atanh.h
A libclc/clc/include/clc/math/clc_cbrt.inc
A libclc/clc/include/clc/math/clc_cosh.h
A libclc/clc/include/clc/math/clc_cospi.h
A libclc/clc/include/clc/math/clc_ep_log.h
A libclc/clc/include/clc/math/clc_ep_log.inc
A libclc/clc/include/clc/math/clc_exp.h
A libclc/clc/include/clc/math/clc_exp10.h
A libclc/clc/include/clc/math/clc_exp2.h
A libclc/clc/include/clc/math/clc_exp_helper.h
A libclc/clc/include/clc/math/clc_exp_helper.inc
A libclc/clc/include/clc/math/clc_expm1.h
A libclc/clc/include/clc/math/clc_fmod.h
A libclc/clc/include/clc/math/clc_lgamma.h
A libclc/clc/include/clc/math/clc_lgamma_r.h
A libclc/clc/include/clc/math/clc_log1p.h
A libclc/clc/include/clc/math/clc_native_cos.h
A libclc/clc/include/clc/math/clc_native_divide.h
A libclc/clc/include/clc/math/clc_native_exp.h
A libclc/clc/include/clc/math/clc_native_exp10.h
A libclc/clc/include/clc/math/clc_native_exp2.h
A libclc/clc/include/clc/math/clc_native_log.h
A libclc/clc/include/clc/math/clc_native_log10.h
A libclc/clc/include/clc/math/clc_native_log2.h
A libclc/clc/include/clc/math/clc_native_powr.h
A libclc/clc/include/clc/math/clc_native_recip.h
A libclc/clc/include/clc/math/clc_native_rsqrt.h
A libclc/clc/include/clc/math/clc_native_sin.h
A libclc/clc/include/clc/math/clc_native_sqrt.h
A libclc/clc/include/clc/math/clc_native_tan.h
A libclc/clc/include/clc/math/clc_pow.h
A libclc/clc/include/clc/math/clc_pown.h
A libclc/clc/include/clc/math/clc_powr.h
A libclc/clc/include/clc/math/clc_remainder.h
A libclc/clc/include/clc/math/clc_remquo.h
A libclc/clc/include/clc/math/clc_rootn.h
M libclc/clc/include/clc/math/clc_sincos_helpers.inc
A libclc/clc/include/clc/math/clc_sincos_piby4.h
A libclc/clc/include/clc/math/clc_sincos_piby4.inc
A libclc/clc/include/clc/math/clc_sinh.h
A libclc/clc/include/clc/math/clc_sinpi.h
A libclc/clc/include/clc/math/clc_tanh.h
A libclc/clc/include/clc/math/clc_tanpi.h
A libclc/clc/include/clc/math/clc_tgamma.h
M libclc/clc/include/clc/math/gentype.inc
A libclc/clc/include/clc/math/remquo_decl.inc
M libclc/clc/include/clc/math/tables.h
A libclc/clc/include/clc/math/unary_def_via_fp32.inc
R libclc/clc/include/clc/math/unary_intrin.inc
M libclc/clc/lib/amdgpu/SOURCES
A libclc/clc/lib/amdgpu/math/clc_native_exp.cl
A libclc/clc/lib/amdgpu/math/clc_native_exp.inc
A libclc/clc/lib/amdgpu/math/clc_native_exp2.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.cl
A libclc/clc/lib/amdgpu/math/clc_native_log10.inc
M libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/integer/clc_mul_hi.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_acosh.cl
A libclc/clc/lib/generic/math/clc_acosh.inc
A libclc/clc/lib/generic/math/clc_asinh.cl
A libclc/clc/lib/generic/math/clc_asinh.inc
A libclc/clc/lib/generic/math/clc_atan2.cl
A libclc/clc/lib/generic/math/clc_atan2.inc
A libclc/clc/lib/generic/math/clc_atan2pi.cl
A libclc/clc/lib/generic/math/clc_atan2pi.inc
A libclc/clc/lib/generic/math/clc_atanh.cl
A libclc/clc/lib/generic/math/clc_atanh.inc
A libclc/clc/lib/generic/math/clc_cbrt.cl
A libclc/clc/lib/generic/math/clc_cbrt.inc
A libclc/clc/lib/generic/math/clc_cosh.cl
A libclc/clc/lib/generic/math/clc_cosh.inc
A libclc/clc/lib/generic/math/clc_cospi.cl
A libclc/clc/lib/generic/math/clc_cospi.inc
A libclc/clc/lib/generic/math/clc_ep_log.cl
A libclc/clc/lib/generic/math/clc_ep_log.inc
A libclc/clc/lib/generic/math/clc_exp.cl
A libclc/clc/lib/generic/math/clc_exp.inc
A libclc/clc/lib/generic/math/clc_exp10.cl
A libclc/clc/lib/generic/math/clc_exp10.inc
A libclc/clc/lib/generic/math/clc_exp2.cl
A libclc/clc/lib/generic/math/clc_exp2.inc
A libclc/clc/lib/generic/math/clc_exp_helper.cl
A libclc/clc/lib/generic/math/clc_exp_helper.inc
A libclc/clc/lib/generic/math/clc_expm1.cl
A libclc/clc/lib/generic/math/clc_expm1.inc
A libclc/clc/lib/generic/math/clc_fmod.cl
A libclc/clc/lib/generic/math/clc_lgamma.cl
A libclc/clc/lib/generic/math/clc_lgamma.inc
A libclc/clc/lib/generic/math/clc_lgamma_r.cl
A libclc/clc/lib/generic/math/clc_lgamma_r.inc
A libclc/clc/lib/generic/math/clc_log1p.cl
A libclc/clc/lib/generic/math/clc_log1p.inc
M libclc/clc/lib/generic/math/clc_log_base.h
A libclc/clc/lib/generic/math/clc_native_cos.cl
A libclc/clc/lib/generic/math/clc_native_divide.cl
A libclc/clc/lib/generic/math/clc_native_divide.inc
A libclc/clc/lib/generic/math/clc_native_exp.cl
A libclc/clc/lib/generic/math/clc_native_exp10.cl
A libclc/clc/lib/generic/math/clc_native_exp10.inc
A libclc/clc/lib/generic/math/clc_native_exp2.cl
A libclc/clc/lib/generic/math/clc_native_log.cl
A libclc/clc/lib/generic/math/clc_native_log10.cl
A libclc/clc/lib/generic/math/clc_native_log2.cl
A libclc/clc/lib/generic/math/clc_native_powr.cl
A libclc/clc/lib/generic/math/clc_native_powr.inc
A libclc/clc/lib/generic/math/clc_native_recip.cl
A libclc/clc/lib/generic/math/clc_native_recip.inc
A libclc/clc/lib/generic/math/clc_native_rsqrt.cl
A libclc/clc/lib/generic/math/clc_native_rsqrt.inc
A libclc/clc/lib/generic/math/clc_native_sin.cl
A libclc/clc/lib/generic/math/clc_native_sqrt.cl
A libclc/clc/lib/generic/math/clc_native_tan.cl
A libclc/clc/lib/generic/math/clc_native_tan.inc
A libclc/clc/lib/generic/math/clc_pow.cl
A libclc/clc/lib/generic/math/clc_pow.inc
A libclc/clc/lib/generic/math/clc_pown.cl
A libclc/clc/lib/generic/math/clc_pown.inc
A libclc/clc/lib/generic/math/clc_powr.cl
A libclc/clc/lib/generic/math/clc_powr.inc
A libclc/clc/lib/generic/math/clc_remainder.cl
A libclc/clc/lib/generic/math/clc_remquo.cl
A libclc/clc/lib/generic/math/clc_rootn.cl
A libclc/clc/lib/generic/math/clc_rootn.inc
M libclc/clc/lib/generic/math/clc_sincos_helpers.cl
M libclc/clc/lib/generic/math/clc_sincos_helpers.inc
A libclc/clc/lib/generic/math/clc_sinh.cl
A libclc/clc/lib/generic/math/clc_sinh.inc
A libclc/clc/lib/generic/math/clc_sinpi.cl
A libclc/clc/lib/generic/math/clc_sinpi.inc
A libclc/clc/lib/generic/math/clc_tables.cl
A libclc/clc/lib/generic/math/clc_tanh.cl
A libclc/clc/lib/generic/math/clc_tanh.inc
A libclc/clc/lib/generic/math/clc_tanpi.cl
A libclc/clc/lib/generic/math/clc_tanpi.inc
A libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/r600/SOURCES
A libclc/clc/lib/r600/math/clc_native_rsqrt.cl
M libclc/clspv/lib/SOURCES
M libclc/cmake/modules/AddLibclc.cmake
M libclc/generic/include/clc/math/lgamma_r.h
R libclc/generic/include/clc/math/lgamma_r.inc
M libclc/generic/include/clc/math/native_divide.h
M libclc/generic/include/clc/math/native_powr.h
M libclc/generic/include/clc/math/pown.h
R libclc/generic/include/clc/math/pown.inc
M libclc/generic/include/clc/math/remquo.h
R libclc/generic/include/clc/math/remquo.inc
M libclc/generic/include/clc/math/rootn.h
R libclc/generic/include/clc/math/rootn.inc
R libclc/generic/include/math/clc_exp10.h
R libclc/generic/include/math/clc_fmod.h
R libclc/generic/include/math/clc_pow.h
R libclc/generic/include/math/clc_pown.h
R libclc/generic/include/math/clc_pown.inc
R libclc/generic/include/math/clc_powr.h
R libclc/generic/include/math/clc_remainder.h
R libclc/generic/include/math/clc_remquo.h
R libclc/generic/include/math/clc_rootn.h
R libclc/generic/include/math/clc_rootn.inc
R libclc/generic/include/math/clc_tanpi.h
M libclc/generic/lib/SOURCES
R libclc/generic/lib/clc_unary.inc
M libclc/generic/lib/math/acosh.cl
M libclc/generic/lib/math/asinh.cl
M libclc/generic/lib/math/atan2.cl
M libclc/generic/lib/math/atan2pi.cl
M libclc/generic/lib/math/atanh.cl
R libclc/generic/lib/math/binary_impl.inc
M libclc/generic/lib/math/cbrt.cl
R libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fmod.cl
R libclc/generic/lib/math/clc_pow.cl
R libclc/generic/lib/math/clc_pown.cl
R libclc/generic/lib/math/clc_powr.cl
R libclc/generic/lib/math/clc_remainder.cl
R libclc/generic/lib/math/clc_remquo.cl
R libclc/generic/lib/math/clc_rootn.cl
R libclc/generic/lib/math/clc_sw_binary.inc
M libclc/generic/lib/math/clc_tan.cl
R libclc/generic/lib/math/clc_tanpi.cl
M libclc/generic/lib/math/cosh.cl
M libclc/generic/lib/math/cospi.cl
R libclc/generic/lib/math/ep_log.cl
R libclc/generic/lib/math/ep_log.h
M libclc/generic/lib/math/exp.cl
M libclc/generic/lib/math/exp10.cl
M libclc/generic/lib/math/exp2.cl
R libclc/generic/lib/math/exp_helper.cl
R libclc/generic/lib/math/exp_helper.h
M libclc/generic/lib/math/expm1.cl
M libclc/generic/lib/math/fmod.cl
M libclc/generic/lib/math/lgamma.cl
M libclc/generic/lib/math/lgamma_r.cl
R libclc/generic/lib/math/lgamma_r.inc
M libclc/generic/lib/math/log1p.cl
M libclc/generic/lib/math/native_cos.cl
M libclc/generic/lib/math/native_divide.cl
R libclc/generic/lib/math/native_divide.inc
M libclc/generic/lib/math/native_exp.cl
M libclc/generic/lib/math/native_exp10.cl
R libclc/generic/lib/math/native_exp10.inc
M libclc/generic/lib/math/native_exp2.cl
M libclc/generic/lib/math/native_log.cl
M libclc/generic/lib/math/native_log10.cl
M libclc/generic/lib/math/native_log2.cl
M libclc/generic/lib/math/native_powr.cl
R libclc/generic/lib/math/native_powr.inc
M libclc/generic/lib/math/native_recip.cl
R libclc/generic/lib/math/native_recip.inc
M libclc/generic/lib/math/native_rsqrt.cl
R libclc/generic/lib/math/native_rsqrt.inc
M libclc/generic/lib/math/native_sin.cl
M libclc/generic/lib/math/native_sqrt.cl
M libclc/generic/lib/math/native_tan.cl
R libclc/generic/lib/math/native_tan.inc
R libclc/generic/lib/math/native_unary_intrinsic.inc
M libclc/generic/lib/math/pow.cl
M libclc/generic/lib/math/pown.cl
R libclc/generic/lib/math/pown.inc
M libclc/generic/lib/math/powr.cl
M libclc/generic/lib/math/remainder.cl
M libclc/generic/lib/math/remquo.cl
M libclc/generic/lib/math/remquo.inc
M libclc/generic/lib/math/rootn.cl
R libclc/generic/lib/math/rootn.inc
R libclc/generic/lib/math/sincosD_piby4.h
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/generic/lib/math/sincos_helpers.h
R libclc/generic/lib/math/sincospiF_piby4.h
M libclc/generic/lib/math/sinh.cl
M libclc/generic/lib/math/sinpi.cl
M libclc/generic/lib/math/tables.cl
M libclc/generic/lib/math/tanh.cl
M libclc/generic/lib/math/tanpi.cl
M libclc/generic/lib/math/tgamma.cl
M libclc/r600/lib/SOURCES
R libclc/r600/lib/math/native_rsqrt.cl
M libclc/spirv/lib/SOURCES
M libcxx/.clang-format
M libcxx/cmake/caches/AMDGPU.cmake
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/20.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx23.rst
M libcxx/docs/Status/Cxx23Papers.csv
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/min_element.h
A libcxx/include/__algorithm/out_value_result.h
M libcxx/include/__algorithm/ranges_max.h
M libcxx/include/__algorithm/ranges_max_element.h
M libcxx/include/__algorithm/ranges_min.h
M libcxx/include/__algorithm/ranges_min_element.h
M libcxx/include/__atomic/atomic.h
M libcxx/include/__atomic/support.h
M libcxx/include/__atomic/support/c11.h
M libcxx/include/__config
M libcxx/include/__configuration/availability.h
M libcxx/include/__configuration/compiler.h
M libcxx/include/__configuration/platform.h
M libcxx/include/__cstddef/byte.h
M libcxx/include/__exception/exception.h
M libcxx/include/__exception/exception_ptr.h
M libcxx/include/__exception/nested_exception.h
M libcxx/include/__exception/operations.h
M libcxx/include/__exception/terminate.h
M libcxx/include/__filesystem/operations.h
A libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
A libcxx/include/__flat_set/utils.h
M libcxx/include/__functional/hash.h
M libcxx/include/__fwd/byte.h
M libcxx/include/__iterator/common_iterator.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iter_move.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__locale
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__memory/allocator_traits.h
M libcxx/include/__new/align_val_t.h
M libcxx/include/__new/destroying_delete_t.h
M libcxx/include/__new/exceptions.h
M libcxx/include/__new/new_handler.h
M libcxx/include/__new/nothrow_t.h
A libcxx/include/__numeric/ranges_iota.h
M libcxx/include/__ranges/transform_view.h
M libcxx/include/__string/char_traits.h
M libcxx/include/__system_error/error_category.h
M libcxx/include/__tree
M libcxx/include/__type_traits/is_referenceable.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/algorithm
M libcxx/include/any
M libcxx/include/flat_set
M libcxx/include/fstream
M libcxx/include/module.modulemap
M libcxx/include/numeric
M libcxx/include/regex
M libcxx/include/strstream
M libcxx/include/typeinfo
M libcxx/include/variant
M libcxx/include/version
M libcxx/lib/abi/CHANGELOG.TXT
M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
M libcxx/modules/std/algorithm.inc
M libcxx/modules/std/flat_set.inc
M libcxx/modules/std/numeric.inc
M libcxx/src/functional.cpp
M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
M libcxx/test/libcxx/clang_tidy.gen.py
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/assert.sorted_unique.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.multiset/iterator.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/flat_multiset.nodiscard.verify.cpp
M libcxx/test/libcxx/strings/basic.string/string.capacity/allocation_size.pass.cpp
M libcxx/test/libcxx/system_reserved_names.gen.py
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/std/algorithms/algorithms.results/no_unique_address.compile.pass.cpp
A libcxx/test/std/algorithms/algorithms.results/out_value_result.pass.cpp
M libcxx/test/std/algorithms/ranges_result_alias_declarations.compile.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_dangling.pass.cpp
M libcxx/test/std/algorithms/ranges_robust_against_proxy_iterators.pass.cpp
M libcxx/test/std/atomics/atomics.types.generic/trivially_copyable.verify.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/helpers.h
M libcxx/test/std/containers/container.adaptors/flat.multimap/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/empty.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/max_size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.capacity/size.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/assign_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/containers.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/copy_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/deduct_pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/default.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/dtor_noexcept.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_alloc.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move_assign.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/pmr.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_container.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.erasure/erase_if_exceptions.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_comparison.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/iterator_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/range_concept_conformance.compile.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.iterators/reverse_iterator.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/clear.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/emplace_hint.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/erase_key_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/extract.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_cv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_rv.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_initializer_list.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_sorted_iter_iter.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/replace.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_exception.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_free.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/swap_member.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.observers/comp.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/contains_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/count_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/equal_range_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/find_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/lower_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.operations/upper_bound_transparent.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/helpers.h
A libcxx/test/std/containers/container.adaptors/flat.multiset/incomplete_type.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/op_compare.pass.cpp
A libcxx/test/std/containers/container.adaptors/flat.multiset/types.compile.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/helpers.h
A libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/containers/sequences/array/array.overview/nttp.verify.cpp
A libcxx/test/std/containers/sequences/vector.bool/small_allocator_size.pass.cpp
M libcxx/test/std/input.output/file.streams/fstreams/filebuf.virtuals/setbuf.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/flat_set.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
M libcxx/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
A libcxx/test/std/numerics/numeric.ops/numeric.iota/ranges.iota.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
M libcxx/test/std/utilities/smartptr/adapt/inout_ptr/inout_ptr.verify.cpp
M libcxx/test/std/utilities/smartptr/adapt/out_ptr/out_ptr.verify.cpp
M libcxx/test/std/utilities/utility/pairs/pairs.pair/nttp.verify.cpp
M libcxx/test/support/test_iterators.h
M libcxx/test/tools/clang_tidy_checks/CMakeLists.txt
M libcxx/test/tools/clang_tidy_checks/libcpp_module.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.cpp
A libcxx/test/tools/clang_tidy_checks/robust_against_operator_ampersand.hpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/test/modules.py
M libcxx/utils/libcxx/test/params.py
M lld/COFF/DebugTypes.cpp
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/ELF/Arch/LoongArch.cpp
M lld/ELF/Driver.cpp
M lld/ELF/LinkerScript.cpp
M lld/ELF/LinkerScript.h
M lld/ELF/OutputSections.h
M lld/ELF/Relocations.cpp
M lld/ELF/ScriptParser.cpp
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/MachO/Config.h
M lld/MachO/Driver.cpp
M lld/MachO/Options.td
M lld/MachO/OutputSegment.cpp
M lld/MachO/SymbolTable.cpp
M lld/MachO/SyntheticSections.cpp
M lld/docs/ReleaseNotes.rst
A lld/test/COFF/imports-static-lib-indirect.test
A lld/test/COFF/imports-static-lib.test
R lld/test/COFF/undefined_lazy.test
M lld/test/ELF/aarch64-call26-thunk.s
M lld/test/ELF/aarch64-cortex-a53-843419-thunk.s
M lld/test/ELF/aarch64-feature-pac.s
M lld/test/ELF/aarch64-jump26-thunk.s
M lld/test/ELF/aarch64-range-thunk-extension-plt32.s
A lld/test/ELF/aarch64-thunk-align.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/aarch64-thunk-bti.s
M lld/test/ELF/linkerscript/nocrossrefs.test
M lld/test/ELF/linkerscript/overlay.test
A lld/test/ELF/loongarch-relax-tls-ie.s
A lld/test/ELF/loongarch-relax-tlsdesc.s
M lld/test/ELF/loongarch-tls-ie.s
M lld/test/ELF/riscv-relax-hi20-lo12-pie.s
M lld/test/ELF/riscv-reloc-plt32.s
M lld/test/ELF/riscv-undefined-weak.s
M lld/test/ELF/riscv64-reloc-got32-pcrel.s
M lld/test/ELF/weak-undef-rw.s
M lld/test/MachO/arm64-objc-stubs.s
M lld/test/MachO/icf-safe-thunks-dwarf.ll
A lld/test/MachO/interposable.s
A lldb/bindings/interface/SBMutexExtensions.i
M lldb/bindings/interface/SBProgressDocstrings.i
A lldb/bindings/interface/SBProgressExtensions.i
M lldb/bindings/interfaces.swig
M lldb/bindings/python/python-wrapper.swig
A lldb/docs/dil-expr-lang.ebnf
M lldb/docs/use/python-reference.rst
M lldb/include/lldb/API/LLDB.h
M lldb/include/lldb/API/SBDefines.h
A lldb/include/lldb/API/SBMutex.h
M lldb/include/lldb/API/SBTarget.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/Progress.h
M lldb/include/lldb/Core/Statusline.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Symbol/FuncUnwinders.h
M lldb/include/lldb/Symbol/Function.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/SymbolFile.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Symbol/UnwindTable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/StopInfo.h
M lldb/include/lldb/Target/Target.h
M lldb/include/lldb/Utility/LLDBAssert.h
M lldb/include/lldb/Utility/UUID.h
A lldb/include/lldb/ValueObject/DILAST.h
A lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
A lldb/include/lldb/ValueObject/DILParser.h
M lldb/packages/Python/lldbsuite/test/configuration.py
M lldb/packages/Python/lldbsuite/test/dotest.py
M lldb/packages/Python/lldbsuite/test/dotest_args.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/packages/Python/lldbsuite/test/tools/intelpt/intelpt_testcase.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py
M lldb/source/API/CMakeLists.txt
A lldb/source/API/SBMutex.cpp
M lldb/source/API/SBTarget.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/Module.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Host/common/NativeProcessProtocol.cpp
M lldb/source/Host/posix/ProcessLauncherPosixFork.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ABI/X86/ABIX86.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.cpp
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.h
R lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwinProperties.td
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderMacOSXDYLD.h
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h
M lldb/source/Plugins/ExpressionParser/Clang/CxxModuleHandler.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.cpp
M lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h
M lldb/source/Plugins/Process/Windows/Common/TargetThreadWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.cpp
M lldb/source/Plugins/ScriptInterpreter/Lua/ScriptInterpreterLua.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/Function.cpp
M lldb/source/Symbol/ObjectFile.cpp
M lldb/source/Symbol/SymbolFile.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Symbol/UnwindTable.cpp
M lldb/source/Target/Process.cpp
M lldb/source/Target/ProcessTrace.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/StopInfo.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/TargetProperties.td
M lldb/source/Utility/LLDBAssert.cpp
M lldb/source/Utility/UUID.cpp
M lldb/source/ValueObject/CMakeLists.txt
A lldb/source/ValueObject/DILAST.cpp
A lldb/source/ValueObject/DILEval.cpp
A lldb/source/ValueObject/DILParser.cpp
A lldb/test/API/commands/expression/expr-from-non-zero-frame/Makefile
A lldb/test/API/commands/expression/expr-from-non-zero-frame/TestExprFromNonZeroFrame.py
A lldb/test/API/commands/expression/expr-from-non-zero-frame/main.c
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/Makefile
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/TestFrameVarDILGlobalVariableLookup.py
A lldb/test/API/commands/frame/var-dil/basics/GlobalVariableLookup/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/Makefile
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/TestFrameVarDILInstanceVariables.py
A lldb/test/API/commands/frame/var-dil/basics/InstanceVariables/main.cpp
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/Makefile
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/TestFrameVarDILLocalVars.py
A lldb/test/API/commands/frame/var-dil/basics/LocalVars/main.cpp
M lldb/test/API/commands/target/stop-hooks/TestStopHooks.py
M lldb/test/API/commands/trace/TestTraceDumpFunctionCalls.py
M lldb/test/API/commands/trace/TestTraceEvents.py
M lldb/test/API/commands/trace/TestTraceSave.py
M lldb/test/API/commands/trace/TestTraceStartStop.py
M lldb/test/API/commands/trace/TestTraceTSC.py
M lldb/test/API/commands/trace/multiple-threads/TestTraceStartStopMultipleThreads.py
M lldb/test/API/functionalities/asan/Makefile
M lldb/test/API/functionalities/asan/TestMemoryHistory.py
M lldb/test/API/functionalities/asan/TestReportData.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueBreakpoints.py
M lldb/test/API/functionalities/reverse-execution/TestReverseContinueWatchpoints.py
M lldb/test/API/functionalities/statusline/TestStatusline.py
M lldb/test/API/functionalities/thread/finish-from-empty-func/TestEmptyFuncThreadStepOut.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/Makefile
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/TestConsecutiveWatchpoints.py
A lldb/test/API/functionalities/watchpoint/consecutive-watchpoints/main.c
M lldb/test/API/lang/c/calling-conventions/TestCCallingConventions.py
M lldb/test/API/lang/objc/tagged-pointer/TestTaggedPointerCmd.py
A lldb/test/API/macosx/dsym_modules/Makefile
A lldb/test/API/macosx/dsym_modules/TestdSYMModuleInit.py
A lldb/test/API/macosx/dsym_modules/has_dsym.py
A lldb/test/API/macosx/dsym_modules/main.c
M lldb/test/API/macosx/thread_start_bps/TestBreakpointsThreadInit.py
M lldb/test/API/python_api/target/TestTargetAPI.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/progress/Progress_emitter.py
M lldb/test/API/tools/lldb-dap/progress/TestDAP_Progress.py
M lldb/test/API/tools/lldb-dap/restart/TestDAP_restart_runInTerminal.py
M lldb/test/API/tools/lldb-dap/runInTerminal/TestDAP_runInTerminal.py
A lldb/test/Shell/DAP/TestHelp.test
R lldb/test/Shell/DAP/TestOptions.test
A lldb/test/Shell/DAP/TestVersion.test
A lldb/test/Shell/Unwind/Inputs/basic-block-sections-with-dwarf.s
A lldb/test/Shell/Unwind/Inputs/linux-x86_64.yaml
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf-static.test
A lldb/test/Shell/Unwind/basic-block-sections-with-dwarf.test
M lldb/tools/debugserver/source/DNBBreakpoint.cpp
M lldb/tools/debugserver/source/MacOSX/arm64/DNBArchImplARM64.cpp
M lldb/tools/lldb-dap/Breakpoint.cpp
M lldb/tools/lldb-dap/Breakpoint.h
M lldb/tools/lldb-dap/BreakpointBase.cpp
M lldb/tools/lldb-dap/BreakpointBase.h
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/DAPForward.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
M lldb/tools/lldb-dap/FunctionBreakpoint.h
M lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.cpp
M lldb/tools/lldb-dap/InstructionBreakpoint.h
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/Protocol/ProtocolBase.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolBase.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/README.md
M lldb/tools/lldb-dap/SourceBreakpoint.cpp
M lldb/tools/lldb-dap/SourceBreakpoint.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/tools/lldb-dap/package.json
M lldb/tools/lldb-dap/src-ts/debug-adapter-factory.ts
A lldb/tools/lldb-dap/src-ts/debug-configuration-provider.ts
M lldb/tools/lldb-dap/src-ts/extension.ts
A lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
A lldb/tools/lldb-dap/src-ts/ui/error-with-notification.ts
A lldb/tools/lldb-dap/src-ts/ui/show-error-message.ts
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/API/CMakeLists.txt
A lldb/unittests/API/SBMutexTest.cpp
M lldb/unittests/Core/CMakeLists.txt
A lldb/unittests/Core/PluginManagerTest.cpp
R lldb/unittests/Disassembler/ARM/CMakeLists.txt
M lldb/unittests/Disassembler/CMakeLists.txt
R lldb/unittests/Disassembler/RISCV/CMakeLists.txt
R lldb/unittests/Disassembler/x86/CMakeLists.txt
M lldb/unittests/Host/HostTest.cpp
M lldb/unittests/Process/CMakeLists.txt
A lldb/unittests/Process/ProcessTraceTest.cpp
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M lldb/unittests/Utility/UUIDTest.cpp
M lldb/unittests/ValueObject/DILLexerTests.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.ml
M llvm/bindings/ocaml/debuginfo/llvm_debuginfo.mli
M llvm/cmake/modules/CheckProblematicConfigurations.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CommandGuide/llvm-exegesis.rst
M llvm/docs/CommandGuide/llvm-reduce.rst
M llvm/docs/GitHub.rst
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/docs/HowToUpdateDebugInfo.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCV/RISCVVectorExtension.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/SPIRVUsage.rst
M llvm/docs/SandboxIR.md
A llvm/docs/SandboxVectorizer.md
M llvm/docs/Security.rst
M llvm/docs/SourceLevelDebugging.rst
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/Vectorizers.rst
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter1/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter2/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/toy.cpp
M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter4/toy.cpp
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/AddressRanges.h
M llvm/include/llvm/ADT/DenseMap.h
M llvm/include/llvm/ADT/EquivalenceClasses.h
M llvm/include/llvm/ADT/SmallSet.h
M llvm/include/llvm/ADT/StringSet.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/Lint.h
M llvm/include/llvm/Analysis/LoopAccessAnalysis.h
A llvm/include/llvm/Analysis/StaticDataProfileInfo.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/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/AsmPrinter.h
M llvm/include/llvm/CodeGen/GlobalISel/Combiner.h
M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
R llvm/include/llvm/CodeGen/GlobalISel/GISelKnownBits.h
A llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/GlobalISel/InstructionSelect.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/CodeGen/GlobalISel/Legalizer.h
M llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
M llvm/include/llvm/CodeGen/ISDOpcodes.h
M llvm/include/llvm/CodeGen/LivePhysRegs.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineInstr.h
M llvm/include/llvm/CodeGen/ModuloSchedule.h
M llvm/include/llvm/CodeGen/Passes.h
A llvm/include/llvm/CodeGen/SDNodeInfo.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/SelectionDAGTargetInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/include/llvm/CodeGen/TileShapeInfo.h
A llvm/include/llvm/CodeGen/XRayInstrumentation.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF.h
A llvm/include/llvm/ExecutionEngine/JITLink/XCOFF_ppc64.h
A llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/Attributes.h
M llvm/include/llvm/IR/CmpPredicate.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/GlobalVariable.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instructions.h
M llvm/include/llvm/IR/IntrinsicsAArch64.td
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/IntrinsicsDirectX.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.def
M llvm/include/llvm/IR/PatternMatch.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/LinkAllPasses.h
M llvm/include/llvm/MC/MCAsmBackend.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectWriter.h
M llvm/include/llvm/MC/MCParser/AsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmLexer.h
M llvm/include/llvm/MC/MCParser/MCAsmParser.h
M llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h
M llvm/include/llvm/MC/MCValue.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/ProfileData/InstrProfData.inc
M llvm/include/llvm/SandboxIR/Constant.h
M llvm/include/llvm/SandboxIR/Context.h
M llvm/include/llvm/SandboxIR/Instruction.h
M llvm/include/llvm/SandboxIR/Type.h
M llvm/include/llvm/SandboxIR/Value.h
M llvm/include/llvm/SandboxIR/Values.def
M llvm/include/llvm/Support/AMDGPUAddrSpace.h
M llvm/include/llvm/Support/Compiler.h
M llvm/include/llvm/Support/GenericDomTreeConstruction.h
A llvm/include/llvm/Support/KnownFPClass.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/GlobalISel/Combine.td
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h
M llvm/include/llvm/Transforms/Utils/IRNormalizer.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Legality.h
A llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Passes/PrintRegion.h
M llvm/include/llvm/Transforms/Vectorize/SandboxVectorizer/Scheduler.h
M llvm/lib/Analysis/Analysis.cpp
M llvm/lib/Analysis/CMakeLists.txt
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/ConstraintSystem.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceGraphBuilder.cpp
M llvm/lib/Analysis/IRSimilarityIdentifier.cpp
M llvm/lib/Analysis/IVDescriptors.cpp
M llvm/lib/Analysis/InlineCost.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/LazyCallGraph.cpp
M llvm/lib/Analysis/Lint.cpp
M llvm/lib/Analysis/LoopAccessAnalysis.cpp
M llvm/lib/Analysis/MemorySSAUpdater.cpp
M llvm/lib/Analysis/ScalarEvolution.cpp
A llvm/lib/Analysis/StaticDataProfileInfo.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/Bitcode/Writer/BitcodeWriterPass.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
M llvm/lib/CodeGen/CMakeLists.txt
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/EarlyIfConversion.cpp
M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
M llvm/lib/CodeGen/GlobalISel/CMakeLists.txt
M llvm/lib/CodeGen/GlobalISel/Combiner.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
R llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
A llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/GlobalISel/Utils.cpp
M llvm/lib/CodeGen/GlobalMerge.cpp
M llvm/lib/CodeGen/GlobalMergeFunctions.cpp
M llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp
M llvm/lib/CodeGen/LivePhysRegs.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/CodeGen/ModuloSchedule.cpp
M llvm/lib/CodeGen/RDFGraph.cpp
M llvm/lib/CodeGen/RDFLiveness.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SafeStack.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/CMakeLists.txt
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h
A llvm/lib/CodeGen/SelectionDAG/SDNodeInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGTargetInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/lib/CodeGen/StaticDataAnnotator.cpp
M llvm/lib/CodeGen/StaticDataSplitter.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/TargetPassConfig.cpp
M llvm/lib/CodeGen/TypePromotion.cpp
M llvm/lib/CodeGen/WindowScheduler.cpp
M llvm/lib/CodeGen/XRayInstrumentation.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVSymbol.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/Demangle/MicrosoftDemangle.cpp
M llvm/lib/ExecutionEngine/JITLink/CMakeLists.txt
M llvm/lib/ExecutionEngine/JITLink/EHFrameSupport.cpp
M llvm/lib/ExecutionEngine/JITLink/JITLink.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFF.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.cpp
A llvm/lib/ExecutionEngine/JITLink/XCOFFLinkGraphBuilder.h
A llvm/lib/ExecutionEngine/JITLink/XCOFF_ppc64.cpp
M llvm/lib/ExecutionEngine/JITLink/aarch64.cpp
M llvm/lib/ExecutionEngine/Orc/COFFVCRuntimeSupport.cpp
M llvm/lib/ExecutionEngine/Orc/Core.cpp
M llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
M llvm/lib/ExecutionEngine/Orc/LinkGraphLinkingLayer.cpp
M llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp
M llvm/lib/ExecutionEngine/Orc/MachOPlatform.cpp
M llvm/lib/ExecutionEngine/Orc/MapperJITLinkMemoryManager.cpp
M llvm/lib/ExecutionEngine/Orc/ObjectFileInterface.cpp
M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
M llvm/lib/FileCheck/FileCheck.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/Attributes.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/ConstantFold.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Globals.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/IRPrintingPasses.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/SafepointIRVerifier.cpp
M llvm/lib/IR/VFABIDemangler.cpp
M llvm/lib/IR/Value.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/IRPrinter/IRPrintingPasses.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAsmBackend.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCObjectWriter.cpp
M llvm/lib/MC/MCParser/AsmLexer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/CMakeLists.txt
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
R llvm/lib/MC/MCParser/MCAsmLexer.cpp
M llvm/lib/MC/MCParser/MCAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCValue.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/ObjCopy/COFF/COFFReader.cpp
M llvm/lib/ObjCopy/XCOFF/XCOFFReader.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Object/XCOFFObjectFile.cpp
M llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProf.cpp
M llvm/lib/ProfileData/MemProfReader.cpp
M llvm/lib/ProfileData/SampleProf.cpp
M llvm/lib/SandboxIR/Constant.cpp
M llvm/lib/SandboxIR/Context.cpp
M llvm/lib/Support/CMakeLists.txt
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
A llvm/lib/Support/KnownFPClass.cpp
M llvm/lib/Support/SuffixTree.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64A53Fix835769.cpp
M llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp
M llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp
M llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
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.td
M llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
M llvm/lib/Target/AArch64/AArch64LowerHomogeneousPrologEpilog.cpp
M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
M llvm/lib/Target/AArch64/AArch64MIPeepholeOpt.cpp
M llvm/lib/Target/AArch64/AArch64PfmCounters.td
M llvm/lib/Target/AArch64/AArch64PointerAuth.cpp
M llvm/lib/Target/AArch64/AArch64PostCoalescerPass.cpp
M llvm/lib/Target/AArch64/AArch64Processors.td
M llvm/lib/Target/AArch64/AArch64PromoteConstant.cpp
M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
M llvm/lib/Target/AArch64/AArch64SIMDInstrOpt.cpp
M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.cpp
M llvm/lib/Target/AArch64/AArch64SelectionDAGInfo.h
M llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/AArch64/AArch64StackTaggingPreRA.cpp
M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
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/Disassembler/AArch64ExternalSymbolizer.cpp
M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
M llvm/lib/Target/AArch64/SMEInstrFormats.td
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsanInstrumentation.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombinerHelper.h
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGlobalISelUtils.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerKernelAttributes.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSetWavePriority.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSplitModule.cpp
M llvm/lib/Target/AMDGPU/AMDGPUSwLowerLDS.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600MCCodeEmitter.cpp
M llvm/lib/Target/AMDGPU/R600AsmPrinter.h
M llvm/lib/Target/AMDGPU/R600MCInstLower.cpp
M llvm/lib/Target/AMDGPU/SIFoldOperands.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/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp
M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMFixCortexA57AES1742098Pass.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMInstrInfo.td
M llvm/lib/Target/ARM/ARMInstrThumb2.td
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp
M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
M llvm/lib/Target/ARM/MVETailPredication.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYAsmBackend.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
M llvm/lib/Target/DirectX/DXContainerGlobals.cpp
M llvm/lib/Target/DirectX/DXIL.td
M llvm/lib/Target/DirectX/DXILDataScalarization.cpp
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/lib/Target/DirectX/DXILPrettyPrinter.cpp
M llvm/lib/Target/DirectX/DXILTranslateMetadata.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/HexagonGenExtract.cpp
M llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonVectorCombine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
M llvm/lib/Target/Lanai/Lanai.h
M llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchFloatInstrFormats.td
M llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
M llvm/lib/Target/LoongArch/LoongArchLSXInstrInfo.td
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFObjectWriter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kAsmBackend.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/Mips.td
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsSubtarget.h
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.cpp
M llvm/lib/Target/NVPTX/NVPTXAliasAnalysis.h
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp
M llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.h
M llvm/lib/Target/NVPTX/NVPTXAssignValidGlobalNames.cpp
M llvm/lib/Target/NVPTX/NVPTXAtomicLower.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXCtorDtorLowering.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
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/NVPTXLowerAggrCopies.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerAlloca.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
M llvm/lib/Target/NVPTX/NVPTXLowerUnreachable.cpp
M llvm/lib/Target/NVPTX/NVPTXPeephole.cpp
M llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/NVPTX/NVVMIntrRange.cpp
M llvm/lib/Target/NVPTX/NVVMReflect.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
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/PPCInstrFutureMMA.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
M llvm/lib/Target/PowerPC/PPCRegisterInfo.td
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
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/RISCVInstructionSelector.cpp
M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCV.h
M llvm/lib/Target/RISCV/RISCVCodeGenPrepare.cpp
M llvm/lib/Target/RISCV/RISCVExpandAtomicPseudoInsts.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
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/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/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoSFB.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXSf.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqccmp.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZicbo.td
A llvm/lib/Target/RISCV/RISCVLateBranchOpt.cpp
M llvm/lib/Target/RISCV/RISCVRedundantCopyElimination.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedSiFiveP500.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.cpp
M llvm/lib/Target/SPIRV/Analysis/SPIRVConvergenceRegionAnalysis.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRV.h
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.cpp
M llvm/lib/Target/SPIRV/SPIRVCommandLine.h
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitNonSemanticDI.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVIRMapping.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMergeRegionExitTargets.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPostLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPrepareFunctions.cpp
M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStripConvergentIntrinsics.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizer.cpp
M llvm/lib/Target/SPIRV/SPIRVStructurizerWrapper.h
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/SparcInstrFormats.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/lib/Target/Sparc/SparcInstrVIS.td
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/SystemZCopyPhysRegs.cpp
M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
M llvm/lib/Target/SystemZ/SystemZPostRewrite.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/TargetLoweringObjectFile.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h
M llvm/lib/Target/WebAssembly/WebAssemblyLowerRefTypesIntPtrConv.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/AsmParser/X86Operand.h
M llvm/lib/Target/X86/GISel/X86LegalizerInfo.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/lib/Target/X86/X86CmovConversion.cpp
M llvm/lib/Target/X86/X86ExpandPseudo.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstCombineIntrinsic.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InterleavedAccess.cpp
M llvm/lib/Target/X86/X86LowerAMXIntrinsics.cpp
M llvm/lib/Target/X86/X86LowerAMXType.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/X86/X86WinEHState.cpp
M llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/XtensaCallingConv.td
M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
M llvm/lib/Target/Xtensa/XtensaISelLowering.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaMachineFunctionInfo.h
M llvm/lib/Target/Xtensa/XtensaOperators.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/Transforms/AggressiveInstCombine/TruncInstCombine.cpp
M llvm/lib/Transforms/Coroutines/SpillUtils.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
M llvm/lib/Transforms/IPO/CrossDSOCFI.cpp
M llvm/lib/Transforms/IPO/ExtractGV.cpp
M llvm/lib/Transforms/IPO/FunctionImport.cpp
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
M llvm/lib/Transforms/IPO/SampleProfile.cpp
M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/KCFI.cpp
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
M llvm/lib/Transforms/Scalar/Float2Int.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNSink.cpp
M llvm/lib/Transforms/Scalar/InferAddressSpaces.cpp
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopDistribute.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/lib/Transforms/Scalar/NaryReassociate.cpp
M llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
M llvm/lib/Transforms/Scalar/SROA.cpp
M llvm/lib/Transforms/Scalar/ScalarizeMaskedMemIntrin.cpp
M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/CodeLayout.cpp
M llvm/lib/Transforms/Utils/FunctionImportUtils.cpp
M llvm/lib/Transforms/Utils/GuardUtils.cpp
M llvm/lib/Transforms/Utils/IRNormalizer.cpp
M llvm/lib/Transforms/Utils/InjectTLIMappings.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Utils/LowerSwitch.cpp
M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
M llvm/lib/Transforms/Utils/SampleProfileInference.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
M llvm/lib/Transforms/Utils/SplitModule.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Legality.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/Passes/PassRegistry.def
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizer.cpp
M llvm/lib/Transforms/Vectorize/SandboxVectorizer/SandboxVectorizerPassBuilder.cpp
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/VPlanHelpers.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanSLP.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.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/test/Analysis/CostModel/AArch64/arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/bitreverse.ll
M llvm/test/Analysis/CostModel/AArch64/bswap.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/cost-scalable-vector-gep.ll
M llvm/test/Analysis/CostModel/AArch64/ctlz.ll
M llvm/test/Analysis/CostModel/AArch64/ctpop.ll
M llvm/test/Analysis/CostModel/AArch64/cttz.ll
M llvm/test/Analysis/CostModel/AArch64/cttz_elts.ll
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/masked_ldst.ll
M llvm/test/Analysis/CostModel/AArch64/mem-op-cost-model.ll
M llvm/test/Analysis/CostModel/AArch64/min-max.ll
M llvm/test/Analysis/CostModel/AArch64/no-sve-no-neon.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-load.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-other.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-select.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-transpose.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith-fp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-arith.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-cmpsel.ll
M llvm/test/Analysis/CostModel/AArch64/sve-div.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptoi.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-insert-extract.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/AArch64/sve-itofp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-ldst.ll
M llvm/test/Analysis/CostModel/AArch64/sve-math.ll
M llvm/test/Analysis/CostModel/AArch64/sve-min-max.ll
M llvm/test/Analysis/CostModel/AArch64/sve-rem.ll
M llvm/test/Analysis/CostModel/AArch64/sve-shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/sve-trunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-vscale.ll
M llvm/test/Analysis/CostModel/AArch64/vec3-ops.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-select.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-exact-vlen.ll
M llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
M llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
M llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
M llvm/test/Analysis/Lint/abort-on-error.ll
M llvm/test/Analysis/Lint/const-store.ll
M llvm/test/Analysis/LoopAccessAnalysis/retry-runtime-checks-after-dependence-analysis.ll
M llvm/test/Analysis/LoopAccessAnalysis/safe-with-dep-distance.ll
M llvm/test/Analysis/LoopAccessAnalysis/stride-access-dependence.ll
M llvm/test/Analysis/ScalarEvolution/exit-count-samesign.ll
M llvm/test/Analysis/ScalarEvolution/implied-via-division.ll
M llvm/test/Analysis/ValueTracking/known-bits-from-operator-constexpr.ll
M llvm/test/Bindings/OCaml/debuginfo.ml
M llvm/test/Bitcode/DIExpression-aggresult.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll
A llvm/test/Bitcode/dbg-intrinsics-autoupgrade.ll.bc
M llvm/test/Bitcode/dbg-label-record-bc.ll
M llvm/test/Bitcode/dbg-record-roundtrip.ll
A llvm/test/Bitcode/fixedpoint_type.ll
M llvm/test/Bitcode/thinlto-unused-type-tests.ll
M llvm/test/Bitcode/upgrade-dbg-addr.ll
M llvm/test/CMakeLists.txt
A llvm/test/CodeGen/AArch64/GlobalISel/combine-neg-and-one-to-sext-inreg.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
A llvm/test/CodeGen/AArch64/aarch64-swp-ws-live-intervals.mir
M llvm/test/CodeGen/AArch64/andorxor.ll
A llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
A llvm/test/CodeGen/AArch64/bitcast-extend.ll
M llvm/test/CodeGen/AArch64/bitcast-promote-widen.ll
M llvm/test/CodeGen/AArch64/bitcast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
R llvm/test/DebugInfo/print-non-instruction-debug-info.ll
Log Message:
-----------
Rebase onto #134765 and address review comments
Created using spr 1.3.6-beta.1
Compare: https://github.com/llvm/llvm-project/compare/1a667193f7e9...a4762d78b798
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