[all-commits] [llvm/llvm-project] d0e37d: [lldb-dap] Refactor request handlers (NFC) (#128262)
Vitaly Buka via All-commits
all-commits at lists.llvm.org
Tue Feb 25 15:19:30 PST 2025
Branch: refs/heads/users/vitalybuka/spr/ubsan-remove-fsanitizervptr-from-fsanitizerundefined
Home: https://github.com/llvm/llvm-project
Commit: d0e37d9723314199e08e3bb8a61f9b7e033b1ff4
https://github.com/llvm/llvm-project/commit/d0e37d9723314199e08e3bb8a61f9b7e033b1ff4
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/EventHelper.cpp
A lldb/tools/lldb-dap/EventHelper.h
A lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
A lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
A lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor request handlers (NFC) (#128262)
Currently, all request handlers are implemented as free functions in
lldb-dap.cpp. That file has grown to over 5000 lines and is starting to
become hard to maintain. This PR moves the request handlers into their
own class (and file), together with their documentation.
This PR migrates about a third of the request handlers and the rest will
be migrated in subsequent commits. I'm merging this in an incomplete
state because almost any lldb-dap change is going to result in merge
conflicts and migrating request handlers one by one is easier to review.
Commit: 8c917f3ccdefe77c180aebc6de41c6828d7aa548
https://github.com/llvm/llvm-project/commit/8c917f3ccdefe77c180aebc6de41c6828d7aa548
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
Log Message:
-----------
[NFC][sanitizer] Add test for length sub-specifier "z" (#128448)
Commit: 3aef599d072bea70fb07a6e47bdfb49099e2199c
https://github.com/llvm/llvm-project/commit/3aef599d072bea70fb07a6e47bdfb49099e2199c
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/test/Dialect/Affine/loop-fusion-2.mlir
M mlir/test/Dialect/Affine/loop-fusion-3.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Affine/loop-fusion-inner.mlir
M mlir/test/Examples/mlir-opt/loop_fusion_options.mlir
Log Message:
-----------
[MLIR][Affine] NFC. Drop redundant fusion- suffix from fusion pass options (#128405)
NFC. Drop redundant fusion- suffix from fusion pass options. The pass
already has 'fusion' in its name. Shorten the option names avoiding
repetition.
Commit: 8b1d38480b9de8992e6db742c17b3d41cb57b1c0
https://github.com/llvm/llvm-project/commit/8b1d38480b9de8992e6db742c17b3d41cb57b1c0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_format.inc
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
Log Message:
-----------
[sanitizer] Support "bB" printf GLIBC extension (#128449)
https://www.gnu.org/software/libc/manual/html_node/Table-of-Output-Conversions.html
Without the patch llc triggers non-fatal Asan warning.
Commit: 6053ca004a58ed6a1bd10c5c470857cb6a2c0db7
https://github.com/llvm/llvm-project/commit/6053ca004a58ed6a1bd10c5c470857cb6a2c0db7
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/MC/MCRegister.h
Log Message:
-----------
[MC][CodeGen] Move FirstStackSlot and VirtualRegFlag from MCRegister to Register. NFC (#128444)
These concepts don't exist for MCRegister.
I think there is a need for virtual registers in MCRegister for NVPTX,
SPIR-V and WebAssembly, but those should not be confused with Register's
virtual register. I will try to make a separate proposal for that with a
real interface.
Commit: 58035b5ef5bbdf121d7083c64ac5b4eb04abbeaa
https://github.com/llvm/llvm-project/commit/58035b5ef5bbdf121d7083c64ac5b4eb04abbeaa
Author: Chris Apple <cja-private at pm.me>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M compiler-rt/lib/rtsan/rtsan_interceptors_posix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
Revert "[compiler-rt][rtsan] stat api interception." (#128465)
Reverts llvm/llvm-project#128430
Reverting this as I could repro the failure here:
> Hi @devnexen I believe this change is causing failures on a bot. Any
idea what might be causing the problems?
> https://lab.llvm.org/staging/#/builders/202/builds/1324
https://github.com/llvm/llvm-project/pull/128430#issuecomment-2677298624
Commit: a3093e56fc096f4ed4ea764bf0ee874c1057fc19
https://github.com/llvm/llvm-project/commit/a3093e56fc096f4ed4ea764bf0ee874c1057fc19
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
[NFC][llvm-mt] Move XmlDeleter declaration
Commit: 9d191056013d27db086f284ac9b2dc1f5fd2ed89
https://github.com/llvm/llvm-project/commit/9d191056013d27db086f284ac9b2dc1f5fd2ed89
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
Log Message:
-----------
[lldb][bazel] Port https://github.com/llvm/llvm-project/commit/d0e37d9723314199e08e3bb8a61f9b7e033b1ff4
Commit: 86cb0bd3a23740787fd160bcacceb06c0df0511b
https://github.com/llvm/llvm-project/commit/86cb0bd3a23740787fd160bcacceb06c0df0511b
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir
R mlir/test/Target/LLVMIR/nvvm/tcgen05-barriers.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-commit.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-cp.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-fence-wait.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-shift.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_prefetch.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
Log Message:
-----------
[MLIR][NVVM] [NFC] Update test cmd-lines and doc links (#128207)
For the NVVM Dialect tests under Target/LLVMIR/nvvm/ dir,
we verify the lowering to the intrinsics using mlir-translate.
Remove the -verify-diagnostics option from the cmd-line
for these tests since all the verifier checks are tested through
the nvvmir-invalid.mlir file. Similarly, remove the split-input-file
option which is not relevant here.
Update a few remaining links in the NVVMOps.td file.
All the reference links follow the same style now.
Rename the tcgen05-barriers.mlir file to tcgen05-commit.mlir
and move the wait/fence tests to a separate file.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 850b49297615a613ac83adca2c9cf823a4b8ef95
https://github.com/llvm/llvm-project/commit/850b49297615a613ac83adca2c9cf823a4b8ef95
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/MCPlusBuilder.h
A bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Passes/CMakeLists.txt
A bolt/lib/Passes/NonPacProtectedRetAnalysis.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-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
M bolt/test/binary-analysis/AArch64/lit.local.cfg
Log Message:
-----------
[BOLT][binary-analysis] Add initial pac-ret gadget scanner (#122304)
This adds an initial pac-ret gadget scanner to the
llvm-bolt-binary-analysis-tool.
The scanner is taken from the prototype that was published last year at
https://github.com/llvm/llvm-project/compare/main...kbeyls:llvm-project:bolt-gadget-scanner-prototype,
and has been discussed in RFC
https://discourse.llvm.org/t/rfc-bolt-based-binary-analysis-tool-to-verify-correctness-of-security-hardening/78148
and in the EuroLLVM 2024 keynote "Does LLVM implement security
hardenings correctly? A BOLT-based static analyzer to the rescue?"
[Video](https://youtu.be/Sn_Fxa0tdpY)
[Slides](https://llvm.org/devmtg/2024-04/slides/Keynote/Beyls_EuroLLVM2024_security_hardening_keynote.pdf)
In the spirit of incremental development, this PR aims to add a minimal
implementation that is "fully working" on its own, but has major
limitations, as described in the bolt/docs/BinaryAnalysis.md
documentation in this proposed commit. These and other limitations will
be fixed in follow-on PRs, mostly based on code already existing in the
prototype branch. I hope incrementally upstreaming will make it easier
to review the code.
Note that I believe that this could also form the basis of a scanner to
analyze correct implementation of PAuthABI.
Commit: 11fdeadbdff245531f8d2ee9dd7141fe966a077f
https://github.com/llvm/llvm-project/commit/11fdeadbdff245531f8d2ee9dd7141fe966a077f
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc][NFC] Add an example to the description of the emitc.literal operation (#128005)
Co-authored-by: Marius Brehler <marius.brehler at gmail.com>
Commit: 6b5bde697bb6f2ec8564c9b35bbf9f2d5b703f13
https://github.com/llvm/llvm-project/commit/6b5bde697bb6f2ec8564c9b35bbf9f2d5b703f13
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/test/Analysis/ftime-trace.cpp
Log Message:
-----------
[analyzer] Refine TimeTrace name for dispatchWorkItem (#128352)
Fixes
https://github.com/llvm/llvm-project/pull/125508#discussion_r1965038954
Commit: f89a986153a5907468f8f1f1e7f9f9bccfa4bb93
https://github.com/llvm/llvm-project/commit/f89a986153a5907468f8f1f1e7f9f9bccfa4bb93
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
Log Message:
-----------
[mlir][emitc][NFC] Add an example to the description of the emitc.verbatim operation (#128004)
The official page provides an explanation of the **new** functionality
of `emitc.verbatim`, but a classic example in the `.td` file for this
operation is still missing.
Commit: 4db54e9f1ac61e52c4318f17fa5d921501504a97
https://github.com/llvm/llvm-project/commit/4db54e9f1ac61e52c4318f17fa5d921501504a97
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
Log Message:
-----------
[AMDGPU] Avoid repeated hash lookups (NFC) (#128458)
Commit: 71b7b1f79f8eab5b4d4eb0354d5b74ce3addd977
https://github.com/llvm/llvm-project/commit/71b7b1f79f8eab5b4d4eb0354d5b74ce3addd977
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Log Message:
-----------
[GlobalISel] Avoid repeated hash lookups (NFC) (#128461)
Commit: ea248365fa1539262c82943f50e28ed47687033d
https://github.com/llvm/llvm-project/commit/ea248365fa1539262c82943f50e28ed47687033d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
Log Message:
-----------
[IPO] Avoid repeated map lookups (NFC) (#128462)
Commit: abcb66d18e3898ee42d3d313b46e18b97639a3cc
https://github.com/llvm/llvm-project/commit/abcb66d18e3898ee42d3d313b46e18b97639a3cc
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-23 (Sun, 23 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
Log Message:
-----------
[Scalar] Avoid repeated hash lookups (NFC) (#128463)
Commit: 1dc8578df700aaf9ba6bff6c79665a05fd0a30e9
https://github.com/llvm/llvm-project/commit/1dc8578df700aaf9ba6bff6c79665a05fd0a30e9
Author: David Green <david.green at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
Log Message:
-----------
[AArch64] Add vrev shuffle cost tests. NFC
Commit: 89824547ecdcab53734c02621b92f901f1615393
https://github.com/llvm/llvm-project/commit/89824547ecdcab53734c02621b92f901f1615393
Author: David Green <david.green at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
Log Message:
-----------
[AArch64] Add rev codegen tests for bfloat16. NFC
Commit: 0770afb88ec150e58498c0653c7818664d07ca71
https://github.com/llvm/llvm-project/commit/0770afb88ec150e58498c0653c7818664d07ca71
Author: Christian Sigg <csigg at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
Log Message:
-----------
[bolt] Remove unnecessary include.
... which introduced a testing dependency in
https://github.com/llvm/llvm-project/commit/850b49297615a613ac83adca2c9cf823a4b8ef95
Commit: 7cda365e12f782d018195556b8fbd32428a0b886
https://github.com/llvm/llvm-project/commit/7cda365e12f782d018195556b8fbd32428a0b886
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
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 support for f32 in redux.sync Op (#128137)
This change adds support for the f32 variants of the `redux.sync`
instruction in the NVVM Dialect through the newly added intrinsics for
the same.
Commit: 19a39e98ffdd93dce98557d07cff40cc1799f568
https://github.com/llvm/llvm-project/commit/19a39e98ffdd93dce98557d07cff40cc1799f568
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/arrays.cpp
Log Message:
-----------
[clang][bytecode] Handle non-primitive array index expressions (#128479)
By rejecting them instead of asserting in `classifyPrim()`.
Commit: 5c6453da8db5deed1ee22215c7def86fc270ecb9
https://github.com/llvm/llvm-project/commit/5c6453da8db5deed1ee22215c7def86fc270ecb9
Author: David Green <david.green at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
Log Message:
-----------
[AArch64] Add BF16 REV costs.
Same as FP16 costs, these full reverse shuffles can use REV or REV+EXT.
Commit: 6ad55f15176d10cd094c960807eac4ee2aa68a89
https://github.com/llvm/llvm-project/commit/6ad55f15176d10cd094c960807eac4ee2aa68a89
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128459)
Commit: 47656dc765aabed8079c650261a79a7e85c4370c
https://github.com/llvm/llvm-project/commit/47656dc765aabed8079c650261a79a7e85c4370c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
Log Message:
-----------
[X86] Avoid repeated hash lookups (NFC) (#128464)
Commit: 229dcf9d3456e95dff2aa0a8eef0a707bd2106c1
https://github.com/llvm/llvm-project/commit/229dcf9d3456e95dff2aa0a8eef0a707bd2106c1
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
A llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.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/MachineLateInstrsCleanup.cpp
M llvm/lib/Passes/PassBuilder.cpp
Log Message:
-----------
[CodeGen][NPM] Port MachineLateInstrsCleanup to NPM (#128160)
There are no standalone tests for this pass for backends implementing
the NPM yet.
Commit: 301fe4797191e528d23dcaf52b8e47649d2bf555
https://github.com/llvm/llvm-project/commit/301fe4797191e528d23dcaf52b8e47649d2bf555
Author: Florin Popa <popa.florin at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lld/test/ELF/aarch64-relocs.s
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
A llvm/test/MC/AArch64/align-code.s
Log Message:
-----------
[AArch64][ELF] Section alignment of 4 for AArch64 instruction (#114031)
The integrated assembler sets a minimum alignment for the .text section
of 4. However user defined sections get an alignment of 1. Unlike the
GNU assembler which raises the section alignment to 4 if an AArch64
instruction is used, the integrated assembler leaves the alignment at 1
---------
Co-authored-by: Florin Popa <florin.popa at arm.com>
Commit: 7a9f53cecf5774a0696586961184835b01cab02c
https://github.com/llvm/llvm-project/commit/7a9f53cecf5774a0696586961184835b01cab02c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineBROADCAST_LOAD - merge across chains (REAPPLIED) (#128209)
Remove the restriction when reusing wider BROADCAST_LOAD nodes that both nodes couldn't have uses of their load chains - use makeEquivalentMemoryOrdering to merge the chains instead.
Reapplied - move makeEquivalentMemoryOrdering prior to the CombineTo call to ensure that the original node hasn't already been removed.
Fixes asan use-after-poison error reported in #128380 / 50b0669e8468279518ae0be27c8b6a134c4d95d1.
Commit: 6c2d418027be6906733972256e379a844f88fc06
https://github.com/llvm/llvm-project/commit/6c2d418027be6906733972256e379a844f88fc06
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
[libclc] Fix int<->float conversion builtins (#126905)
While working on moving the conversion builtins to the CLC library in
25c05541 it was discovered that many weren't passing the OpenCL-CTS
tests.
As it happens, the clspv-specific code for conversion implementations
between integer and floating-point types was more correct. However:
* The clspv code was generating 'sat' conversions to floating-point
types, which are not legal
* The clspv code around rtn/rtz conversions needed tweaking as it wasn't
validating when sizeof(dst) > sizeof(src), e.g., int -> double.
With this commit, the CTS failures seen before have been resolved.
This also assumes that the new implementations are correct also for
clspv. If this is the case, then 'clc' and 'clspv' modes are mutually
exclusive and we can simplify the build process for conversions by not
building clc-clspv-convert.cl.
Commit: c5f40bf024ee2d62478c8036fb174d75ecabe51f
https://github.com/llvm/llvm-project/commit/c5f40bf024ee2d62478c8036fb174d75ecabe51f
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
Log Message:
-----------
[InstCombine] Fold `X!=Y ? ctz(X^Y, true) : BW -> ctz(X^Y, false)` (#128483)
Proof: https://alive2.llvm.org/ce/z/mzL6W2
Closes https://github.com/llvm/llvm-project/issues/128441.
Commit: 35c90bfdda0d7021c7ec7e6603e5b5753fcc8069
https://github.com/llvm/llvm-project/commit/35c90bfdda0d7021c7ec7e6603e5b5753fcc8069
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV] Remove virtual from getOutliningTypeImpl override. NFC (#128482)
Commit: 3532651b6fc1cd637d2e0ab5d979343b24d422f7
https://github.com/llvm/llvm-project/commit/3532651b6fc1cd637d2e0ab5d979343b24d422f7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
RegAllocGreedy: Add braces
Commit: e7ad07ffb846a9812d9567b8d4b680045dce5b28
https://github.com/llvm/llvm-project/commit/e7ad07ffb846a9812d9567b8d4b680045dce5b28
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
A libclc/clc/include/clc/internal/math/clc_sw_fma.h
A libclc/clc/include/clc/math/clc_fma.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fma.cl
A libclc/clc/lib/generic/math/clc_fma.inc
A libclc/clc/lib/generic/math/clc_sw_fma.cl
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/math/fma.cl
R libclc/generic/include/math/clc_fma.h
M libclc/generic/lib/SOURCES
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fma.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/fma.cl
R libclc/generic/lib/math/fma.inc
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/spirv/lib/SOURCES
M libclc/spirv/lib/math/fma.cl
R libclc/spirv/lib/math/fma.inc
Log Message:
-----------
[libclc] Move fma to the CLC library (#126052)
This builtin is a little more involved than others as targets deal with
fma in various different ways.
Fundamentally, the CLC __clc_fma builtin compiles to
__builtin_elementwise_fma, which compiles to the @llvm.fma intrinsic.
However, in the case of fp32 fma some targets call the __clc_sw_fma
function, which provides a software implementation of the builtin. This
in principle is controlled by the __CLC_HAVE_HW_FMA32 macro and may be a
runtime decision, depending on how the target defines that macro.
All targets build the CLC fma functions for all types. This is to the
CLC library can have a reliable internal implementation for its own
purposes.
For AMD/NVPTX targets there are no meaningful changes to the generated
LLVM bytecode. Some blocks of code have moved around, which confounds
llvm-diff.
For the clspv and SPIR-V/Mesa targets, only fp32 fma is of interest. Its
use in libclc is tightly controlled by checking __CLC_HAVE_HW_FMA32
first. This can either be a compile-time constant (1, for clspv) or a
runtime function for SPIR-V/Mesa.
The SPIR-V/Mesa target only provided fp32 fma in the OpenCL layer. It
unconditionally mapped that to the __clc_sw_fma builtin, even though the
generic version in theory had a runtime toggle through
__CLC_HAVE_HW_FMA32 specifically for that target. Callers of fma,
though, would end up using the ExtInst fma, *not* calling the _Z3fmafff
function provided by libclc.
This commit keeps this system in place in the OpenCL layer, by mapping
fma to __clc_sw_fma. Where other builtins would previously call fma
(i.e., result in the ExtInst), they now call __clc_fma. This function
checks the __CLC_HAVE_HW_FMA32 runtime toggle, which selects between the
slow version or the quick version. The quick version is the LLVM fma
intrinsic which llvm-spirv translates to the ExtInst.
The clspv target had its own software implementation of fp32 fma, which
it called unconditionally - even though __CLC_HAVE_HW_FMA32 is 1 for
that target. This is potentially just so its library ships a software
version which it can fall back on. In the OpenCL layer, the target
doesn't provide fp64 fma, and maps fp16 fma to fp32 mad.
This commit keeps this system roughly in place: in the OpenCL layer it
maps fp32 fma to __clc_sw_fma, and fp16 fma to mad. Where builtins would
previously call into fma, they now call __clc_fma, which compiles to the
LLVM intrinsic. If this goes through a translation to SPIR-V it will
become the fma ExtInst, or the intrinsic could be replaced by the
_Z3fmafff software implementation.
The clspv and SPIR-V/Mesa targets could potentially be cleaned up later,
depending on their needs.
Commit: 3dc159431be7a8c5f1a26a8bd57794f1c7008969
https://github.com/llvm/llvm-project/commit/3dc159431be7a8c5f1a26a8bd57794f1c7008969
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/Reusables.h
Log Message:
-----------
[analyzer] Clean up slightly the messed up ownership model of the analyzer (#128368)
Well, yes. It's not pretty.
At least after this we would have a bit more unique pointers than
before.
This is for fixing the memory leak diagnosed by:
https://lab.llvm.org/buildbot/#/builders/24/builds/5580
And that caused the revert of #127409.
After these uptrs that patch can re-land finally.
Commit: 5a2bee04d08868d1b8c2ddb1719be1cee0f577bf
https://github.com/llvm/llvm-project/commit/5a2bee04d08868d1b8c2ddb1719be1cee0f577bf
Author: Ruoyu Qiu <cabbaken at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/tools/llvm-objdump/ELF/private-headers.test
M llvm/tools/llvm-objdump/ELFDump.cpp
Log Message:
-----------
[llvm-objdump]Correct .dynstr finding of getDynamicStrTab() (#127975)
The dynamic string table used by the dynamic section is referenced by
the sh_link field of that section, so we should use that directly,
rather than going via the dynamic symbol table.
More info:
https://github.com/llvm/llvm-project/pull/125679#discussion_r1961333454
Signed-off-by: Ruoyu Qiu <cabbaken at outlook.com>
Commit: 61fb9541095316db352f0e4da855305d1715da10
https://github.com/llvm/llvm-project/commit/61fb9541095316db352f0e4da855305d1715da10
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Improve support for vector.extract(broadcast) (#116234)
This patch improves support for vector.extract(broadcast) dynamic
dimension folders. This is mostly a matter of moving a conservative
condition for dynamic dimensions. The broadcast folder for
vector.extract now covers the cases that the vector.extractelement +
broadcast folder does.
This patch also improves test coverage for vector.extract + broadcast
folders/canonicalizers. The folders/canonicalizers now enumerate every
supported / unsupported case.
Commit: 9cbdcfcafdc0646cef27c94ee22770b2d7aebf6a
https://github.com/llvm/llvm-project/commit/9cbdcfcafdc0646cef27c94ee22770b2d7aebf6a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
Log Message:
-----------
[CaptureTracking] Remove StoreCaptures parameter (NFC)
The implementation doesn't use it, and is unlikely to use it in
the future.
The places that do set StoreCaptures=false, do so incorrectly and
would be broken if the parameter actually did anything.
Commit: 7de64925da9f09d1a66230c5e118fe127a6c49e3
https://github.com/llvm/llvm-project/commit/7de64925da9f09d1a66230c5e118fe127a6c49e3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/ARM/vpadd.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
Log Message:
-----------
[DAG] shouldReduceLoadWidth - hasOneUse should check just the loaded value - not the chain (#128167)
The hasOneUse check was failing in any case where the load was part of a chain - we should only be checking if the loaded value has one use, and any updates to the chain should be handled by the fold calling shouldReduceLoadWidth.
I've updated the x86 implementation to match, although it has no effect here yet (I'm still looking at how to improve the x86 implementation) as the inner for loop was discarding chain uses anyway.
By using SDValue::hasOneUse instead this patch exposes a missing dependency on the LLVMSelectionDAG library in a lot of tools + unittests, which resulted in having to make SDNode::hasNUsesOfValue inline.
Noticed while fighting the x86 regressions in #122671
Commit: db40592de60f579afa18db3a06a4505c8e63de65
https://github.com/llvm/llvm-project/commit/db40592de60f579afa18db3a06a4505c8e63de65
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
MachineFunction: Remove null check on TargetRegisterInfo (#128480)
Targets are required to define this, it is not optional. Make the method
pure virtual to enforce this
Commit: 9b52d9e18662160d14b882371a9c749770fd99bf
https://github.com/llvm/llvm-project/commit/9b52d9e18662160d14b882371a9c749770fd99bf
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[MLIR][OpenMP] Prevent loop wrapper translation crashes (#115475)
This patch updates the `convertOmpOpRegions` translation function to
prevent calling it for a loop wrapper region from causing a compiler
crash due to a lack of terminator operations.
This problem is currently not triggered because there are no cases for
which the region of a loop wrapper is passed to that function. This
will have to change in order to support composite construct translation
to LLVM IR.
Commit: 6aea6308d125c15b05bf10766eb831f32140968a
https://github.com/llvm/llvm-project/commit/6aea6308d125c15b05bf10766eb831f32140968a
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
A llvm/test/CodeGen/AMDGPU/atomic-optimizer-promote-i8.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
Log Message:
-----------
AMDGPU: Fix creating illegally typed readfirstlane in atomic optimizer (#128388)
We need to promote 8/16-bit cases to 32-bit. Unfortunately we are
missing demanded bits optimizations on readfirstlane, so we end up
emitting
an and instruction on the input. I'm also surprised this pass isn't
handling
half or bfloat yet.
Commit: e1cc5e9f9ab628f501bb88488e865c2a039321e4
https://github.com/llvm/llvm-project/commit/e1cc5e9f9ab628f501bb88488e865c2a039321e4
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/ClangTidy.cpp
Log Message:
-----------
[clang-tidy] Fix build after 3dc159431be7a8c5f1a26a8bd57794f1c7008969
Commit: c80b99d98ad0c7a3c185b4f09d2b60affb34cad1
https://github.com/llvm/llvm-project/commit/c80b99d98ad0c7a3c185b4f09d2b60affb34cad1
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
R clang/test/Analysis/uninit-asm-goto.cpp
R clang/test/Analysis/uninit-sometimes.cpp
A clang/test/SemaCXX/uninit-asm-goto.cpp
A clang/test/SemaCXX/uninit-sometimes.cpp
Log Message:
-----------
[Sema][NFC] Move two misplaced uninit tests to clang/test/SemaCXX (#128013)
Because they are the last two remaining test files that appeared under
`clang/test/Analysis` but were unrelated to the clang static analyzer.
For background see the following discourse thread:
https://discourse.llvm.org/t/taking-ownership-of-clang-test-analysis/84689/2
I placed them in in `clang/test/SemaCXX` because they are testing the
`-Wuninitialized` warning family and the other tests of this feature can
be found there (or in `Sema`, `SemaObjC` depending on the language).
Note that `clang/test/Analysis` contains many other test files named
`uninit-*`, but those test the uninitialized value handling of the clang
static analyzer, which is independent of the (non-path-sensitive)
compiler warnings that are tested in the two files that I'm moving.
Also note that the implementation of the `-Wuninitialized`-like warnings
relies on the source files `clang/lib/Analysis/UninitializedValues.cpp`
and `clang/lib/Sema/AnalysisBasedWarnings.cpp`, and this would
theoretically justify leaving their tests in the "Analysis" directory;
but in practice the "Analysis" directory is almost exclusively used by
the static analyzer, so I still decided to relocate these two tests for
the sake of consistency.
Commit: 1ed359e6826590cc77f62af906b6cf4b5354a7fb
https://github.com/llvm/llvm-project/commit/1ed359e6826590cc77f62af906b6cf4b5354a7fb
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
R cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py
Log Message:
-----------
[Dexter] Remove clang-opt-bisect analyzer tool (#128165)
The idea behind this tool was that you'd instrument a source file to
measure its debug-info quality, then watch as it progressively got worse
with more optimisations being enabled in clang. However we've since
stripped the "building" portions of Dexter out as they were ill placed,
which makes this tooling redundant. The lack of __init__.py adjacent to
it means it couldn't be run anyway.
The core idea behind this is still sound; just it's best placed on the
other side of the build system, something that Dexter shouldn't try to
solve.
Commit: 971fc42254706b7a0cdeaf8183478d1e2a9aee51
https://github.com/llvm/llvm-project/commit/971fc42254706b7a0cdeaf8183478d1e2a9aee51
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
Log Message:
-----------
TargetTransformInfo: Add missing consts to a couple of methods (#128492)
Commit: aca8a5cb2325767859f38894f42ce47732cbb53e
https://github.com/llvm/llvm-project/commit/aca8a5cb2325767859f38894f42ce47732cbb53e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/generic/lib/gen_convert.py
Log Message:
-----------
[libclc] Remove clspv-specific clc conversions (#128500)
The clc and clc+clspv modes produced the same conversions code, so this
patch simplifies the process. It further simplifies the internal checks
the script makes by assuming the mutual exclusivity.
Commit: 0f34b656f01a3774f28436e8dee4d99c6a7bc2cc
https://github.com/llvm/llvm-project/commit/0f34b656f01a3774f28436e8dee4d99c6a7bc2cc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
InstCombine: Remove a check for pointer bitcasts (#128491)
Commit: 72768d9bb8ad3e97a852270726f04d7167d9ef50
https://github.com/llvm/llvm-project/commit/72768d9bb8ad3e97a852270726f04d7167d9ef50
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/transfer-samesign-facts.ll
Log Message:
-----------
[ConstraintElim] Teach checkAndReplaceCondition about samesign (#128168)
`samesign upred` is equivalent to `spred`:
https://alive2.llvm.org/ce/z/57iaEC
Commit: c83bdc7c111f8100d8fdf9e7a87d05b5a1a3ae94
https://github.com/llvm/llvm-project/commit/c83bdc7c111f8100d8fdf9e7a87d05b5a1a3ae94
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
Log Message:
-----------
[MLIR][OpenMP] Normalize lowering of omp.loop_nest (#127217)
This patch refactors the translation of `omp.loop_nest` operations into
LLVM IR so that it is handled similarly to other operations. Before this
change, the responsibility of translating the loop nest fell into each
loop wrapper, causing code duplication. This patch centralizes that
handling of the loop. One consequence of this was fixing an issue
lowering non-inclusive `omp.simd` loops.
As a result, it is now expected that the handling of composite
constructs is performed collaboratively among translating functions for
each operation involved. At the moment, only `do/for simd` is supported
by ignoring SIMD information, and this behavior is preserved.
The translation of loop wrapper operations needs access to the
`llvm::CanonicalLoopInfo` loop information structure in order to apply
transformations to it. This is now created in the nested call to
`convertOmpLoopNest`, so it needs to be passed up to all associated loop
wrapper translation functions. This is done via the creation of an
`OpenMPLoopInfoStackFrame` within `convertHostOrTargetOperation`,
associated to the outermost loop wrapper. This structure is updated by
`convertOmpLoopNest`, making the result available to all loop wrappers
after their body has been translated.
Commit: d5148f000a9213d5e64f49c67d0e861e8b303d92
https://github.com/llvm/llvm-project/commit/d5148f000a9213d5e64f49c67d0e861e8b303d92
Author: Daniel Zabawa <daniel.zabawa at intel.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/isel-extract-subvector-non-pow2-elems.ll
Log Message:
-----------
[X86] Fix arithmetic error in extractVector (#128052)
The computation of the element count for the result VT in extractVector
is incorrect when vector width does not divide VT.getSizeInBits(), which
can occur when the source vector element count is not a power of two,
e.g. extracting a vectorWidth 256b vector from a 384b source.
This rewrites the expression so the division is exact given that
vectorWidth is a multiple of the source element size.
Commit: 4ba3ebef642eaa4d46567a972c5ee1badb2ebadf
https://github.com/llvm/llvm-project/commit/4ba3ebef642eaa4d46567a972c5ee1badb2ebadf
Author: Alexandre Ganea <alex_toresh at yahoo.fr>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/release/build_llvm_release.bat
Log Message:
-----------
On Windows, remove the UCRT libraries from the release script (#128378)
Since the 19.0 release, the UCRT dlls shouldn't be included anymore in the Windows distribution, as we link the CRT
statically into all distributed binaries.
https://discourse.llvm.org/t/llvm-x86-64-pc-windows-msvc-binaries-no-longer-need-msvc-runtime-dlls-since-19-x/84465
Commit: 8199c2d427fcf72e39aa29dd457eebca8a985af8
https://github.com/llvm/llvm-project/commit/8199c2d427fcf72e39aa29dd457eebca8a985af8
Author: jeanPerier <jperier at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/array-character.f90
R flang/test/Lower/array-copy.f90
R flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
R flang/test/Lower/array-expression.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/call-parenthesized-arg.f90
M flang/test/Lower/character-assignment.f90
R flang/test/Lower/character-concatenation.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/forall/scalar-substring.f90
Log Message:
-----------
[flang][NFC] update some old tests to HLFIR lowering (#127230)
Update some LIT tests that are using the legacy lowering to use HLFIR.
This makes testing more modular and is a step towards getting rid of the
legacy lowering (that is only kept because of the tests).
There are many more.
I deleted a couple file that were very specific to the legacy lowering
(e.g. array-copy).
Commit: de473fcdea7024a70dd5ff5f929049c904457b07
https://github.com/llvm/llvm-project/commit/de473fcdea7024a70dd5ff5f929049c904457b07
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libcxx/utils/ci/run-buildbot-container
Log Message:
-----------
[libc++] Synchronize Docker container SHA in run-buildbot-container (#128225)
We should really find a way to have a canonical location for that SHA,
but last time I looked into it I failed to find a way to share it.
Commit: 363bfd6090b0755fc133250ba3470b420902d976
https://github.com/llvm/llvm-project/commit/363bfd6090b0755fc133250ba3470b420902d976
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
A libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/module.modulemap
Log Message:
-----------
[libc++] Use the new locale base API on Linux (#128007)
This follows the lead for what we did on all other platforms.
Commit: aa770857eead289bedc19237a0a4657d3311668d
https://github.com/llvm/llvm-project/commit/aa770857eead289bedc19237a0a4657d3311668d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/Transforms/MergeFunc/linkonce_odr.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr-used.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr-weak-odr-mixed-used.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr.ll
A llvm/test/Transforms/MergeFunc/merge-weak-odr-used.ll
A llvm/test/Transforms/MergeFunc/merge-weak-odr.ll
Log Message:
-----------
[MergeFunc] Add tests for (merging weak|linkonce)_odr functions.
Tests for https://github.com/llvm/llvm-project/pull/125050.
Commit: 96c87a16a507207e839f20b668ccd51dd2db6123
https://github.com/llvm/llvm-project/commit/96c87a16a507207e839f20b668ccd51dd2db6123
Author: lorenzo chelini <lchelini at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/IR/Region.cpp
Log Message:
-----------
[MLIR][NFC] Fix comment in `Region.cpp`
BlockAndValueMapping has been renamed to IRMapping
Commit: 22a5bb32b787443b70476cc1359709b6c888b591
https://github.com/llvm/llvm-project/commit/22a5bb32b787443b70476cc1359709b6c888b591
Author: Balázs Benics <108414871+balazs-benics-sonarsource at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/region-store.cpp
M clang/unittests/StaticAnalyzer/StoreTest.cpp
Log Message:
-----------
[analyzer] Limit Store by region-store-binding-limit (#127602)
In our test pool, the max entry point RT was improved by this change:
1'181 seconds (~19.7 minutes) -> 94 seconds (1.6 minutes)
BTW, the 1.6 minutes is still really bad. But a few orders of magnitude
better than it was before.
This was the most servere RT edge-case as you can see from the numbers.
There are are more known RT bottlenecks, such as:
- Large environment sizes, and `removeDead`. See more about the failed
attempt on improving it at:
https://discourse.llvm.org/t/unsuccessful-attempts-to-fix-a-slow-analysis-case-related-to-removedead-and-environment-size/84650
- Large chunk of time could be spend inside `assume`, to reach a fixed
point. This is something we want to look into a bit later if we have
time.
We have 3'075'607 entry points in our test set.
About 393'352 entry points ran longer than 1 second when measured.
To give a sense of the distribution, if we ignore the slowest 500 entry
points, then the maximum entry point runs for about 14 seconds. These
500 slow entry points are in 332 translation units.
By this patch, out of the slowest 500 entry points, 72 entry points were
improved by at least 10x after this change.
We measured no RT regression on the "usual" entry points.

(The dashed lines represent the maximum of their RT)
CPP-6092
Commit: eb14d2a1d48fe76c5faed71a08547135a35ee742
https://github.com/llvm/llvm-project/commit/eb14d2a1d48fe76c5faed71a08547135a35ee742
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/bv-matched-node-reorder.ll
Log Message:
-----------
[SLP]Fix check for matched gather node, if it is a subvector node
If the gather node is a subvector node, it may match the existing
vector/gather node in the graph, but still may require reordering. in
this case need to fully check its dependencies to prevent a compiler
crash.
Fixes #128401
Commit: 7262a1ea313699c733ec24925fe83c8f8e60334c
https://github.com/llvm/llvm-project/commit/7262a1ea313699c733ec24925fe83c8f8e60334c
Author: Kelvin Li <kkwli at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang] Set compile definitions for flang-rt build on AIX (#127919)
After commit b55f751, the flang-rt build on AIX is missing `-D_LARGE_FILE_API
-D_XOPEN_SOURCE=700` in compiling the source. This patch is to add the
compile definitions.
---------
Co-authored-by: Michael Kruse <github at meinersbur.de>
Commit: a88167a60d0b5529b2a5ab185680f25c3c983ec3
https://github.com/llvm/llvm-project/commit/a88167a60d0b5529b2a5ab185680f25c3c983ec3
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/test/IR/invalid-builtin-attributes.mlir
Log Message:
-----------
[MLIR] Improve error handling when parsing dense attributes (#128523)
Avoid triggering assertions when we expect to parse a string but
encounter a different type. Instead, handle the mismatch gracefully by
emitting a parser error.
Commit: 2dfb29a9b2f63e8dcbace2bf9b73ecc770f62b4d
https://github.com/llvm/llvm-project/commit/2dfb29a9b2f63e8dcbace2bf9b73ecc770f62b4d
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_nan.h
A libclc/clc/include/clc/math/clc_nan.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_nan.cl
A libclc/clc/lib/generic/math/clc_nan.inc
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
Log Message:
-----------
[libclc] Move nan to the CLC library (#128521)
Commit: 3a6108bcac26016b791cabce86424c1f1dcf3056
https://github.com/llvm/llvm-project/commit/3a6108bcac26016b791cabce86424c1f1dcf3056
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
Log Message:
-----------
[SLP][REVEC] Fix scalar mask is passed to getScalarizationOverhead but the type is vector. (#128476)
Fix "Vector size mismatch".
Commit: 0b52aa1bdbc7416592e9c81d9a44ce411c21e081
https://github.com/llvm/llvm-project/commit/0b52aa1bdbc7416592e9c81d9a44ce411c21e081
Author: vdonaldson <37090318+vdonaldson at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
Log Message:
-----------
[flang] Unsupported rounding modes (#128240)
Two new ieee_round_type values were added in f18 beyond the four values
defined in f03 and f08: ieee_away and ieee_other. Contemporary hardware
typically does not have support for these rounding modes, so flang does
not support them. ieee_support_rounding calls for these values return
false. Current generated code handles some attempts to set the rounding
mode to one of these unsupported values by setting the mode to
ieee_nearest. Update the code to explicitly do this in all cases.
Commit: 16f9c5da45b88ace429064b4823e94491b0ea9b1
https://github.com/llvm/llvm-project/commit/16f9c5da45b88ace429064b4823e94491b0ea9b1
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/read_image.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
Log Message:
-----------
[SPIR-V] Stop generating StorageImageReadWithoutFormat and StorageImageWriteWithoutFormat for the Unknown image format in the OpenCL environment (#128497)
This PR resolves the issue of the SPIR-V specification, requiring
Shader-coupled capabilities to read/write images in the OpenCL SPIR-V
environment, from the perspective of the LLVM SPIR-V backend. See
https://github.com/KhronosGroup/SPIRV-Headers/issues/487 for details and
discussion.
Current implementation correctly reproduces requirements of the SPIR-V
specification, however, since the requirements are problematic, out
current implementation blocks generation of valid SPIR-V code for
compute environments. This PR is to implement a solution discussed at
the SPIR-V WG to allow proceeding with generation of valid SPIR-V code
for the OpenCL environment and do not impact Vulkan environment at the
same time.
Commit: 529b3d16daf2c7970f6f0b1f97e8ed09891c726a
https://github.com/llvm/llvm-project/commit/529b3d16daf2c7970f6f0b1f97e8ed09891c726a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV][TTI] Remove SK_Select from manual splitting in getShuffleCost
We have general splitting logic for this kind just below, which to my
knowledge is both correct and precise. Given no test changes, either
a) the adhoc logic works out the same, or b) we have no coverage. I
did not investigate which.
Commit: 17ccaf4fa82ed6d081144f91b5580e24e44d435c
https://github.com/llvm/llvm-project/commit/17ccaf4fa82ed6d081144f91b5580e24e44d435c
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M offload/plugins-nextgen/host/CMakeLists.txt
Log Message:
-----------
[NFC][Offload] Fix typo to output architecture (#128527)
Commit: b66ec64b5b634cbf760d69d1629e462268aa1cbd
https://github.com/llvm/llvm-project/commit/b66ec64b5b634cbf760d69d1629e462268aa1cbd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/RegAllocGreedy.cpp
Log Message:
-----------
RegAllocGreedy: Remove unnecessary null register class check (#128487)
Commit: 538b898a836ac6efc3b0ec12cf27b511608d2e64
https://github.com/llvm/llvm-project/commit/538b898a836ac6efc3b0ec12cf27b511608d2e64
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/test/CodeGen/RISCV/attributes.ll
A llvm/test/MC/RISCV/xqcilia-invalid.s
A llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Qualcomm uC Xqcilia (Large Immediate Arithmetic) extension (#124706)
This extension adds eight 48 bit large arithmetic instructions.
The current spec can be found at:
https://github.com/quic/riscv-unified-db/releases/latest
This patch adds assembler only support.
Commit: cebb8f72b7937548bd17c7972297f2efafa1e958
https://github.com/llvm/llvm-project/commit/cebb8f72b7937548bd17c7972297f2efafa1e958
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMPIRBuilder] Add support for distribute constructs (#127816)
This patch adds the `OpenMPIRBuilder::createDistribute()` function and
updates `OpenMPIRBuilder::applyStaticWorkshareLoop()` in preparation for
adding `distribute` support to flang.
Co-authored-by: Dominik Adamski <dominik.adamski at amd.com>
Commit: 5bddadf783c177943fa4f86fa0d295d4e88e7dea
https://github.com/llvm/llvm-project/commit/5bddadf783c177943fa4f86fa0d295d4e88e7dea
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[CodingStandard] Rework anonymous namespace section to cover visibility more broadly (#126775)
- Rename anonymous namespace section and rework it to
cover visibility more broadly.
- Add language suggesting restricting visibility as much as
possible, using various C++ facilities.
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 4defac91dbdf4d54aa40a47851c48e9c587fb7e9
https://github.com/llvm/llvm-project/commit/4defac91dbdf4d54aa40a47851c48e9c587fb7e9
Author: Matthias Springer <me at m-sp.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
Log Message:
-----------
[mlir][GPUToNVVM] Add `benefit` to `populate` functions (#128484)
Certain GPU->NVVM patterns compete with Arith->LLVM patterns. (The ones
that lower to libdevice.) Add an optional `benefit` parameter to all
`populate` functions so that users can give preference to GPU->NVVM
patterns.
Commit: 7a4cb9bac50c8c19ec0d4ab7f186ef086064a549
https://github.com/llvm/llvm-project/commit/7a4cb9bac50c8c19ec0d4ab7f186ef086064a549
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang/include/clang/Sema/HeuristicResolver.h
M clang/lib/Sema/HeuristicResolver.cpp
Log Message:
-----------
[clang-tidy][NFC] Expose HeuristicResolver::lookupDependentName() and use it in StandaloneEmptyCheck (#128391)
The use replaces CXXRecordDecl::lookupDependentName() which
HeuristicResolver aims to supersede.
Commit: ff7790e6dde7859b993b7d9abb4a2ec4fe2ae779
https://github.com/llvm/llvm-project/commit/ff7790e6dde7859b993b7d9abb4a2ec4fe2ae779
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
Log Message:
-----------
[MLIR][OpenMP] Simplify definition of the BlockArgOpenMPOpInterface, NFC (#128198)
This patch removes code duplication from the definition of methods of
the `BlockArgOpenMPOpInterface` and makes the order relationship between
entry block argument generating clauses explicit.
The goal of this change is to make the addition of clauses and methods
to the interface less error-prone.
Commit: aab07d8ca64495600ce9e7fe4825ca7ff9057c28
https://github.com/llvm/llvm-project/commit/aab07d8ca64495600ce9e7fe4825ca7ff9057c28
Author: sommersun <50041042+sommersun at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
Log Message:
-----------
fixed #95641 pointless string copy (#127325)
fixed #95641 by using std::move for T&&.
Commit: e89cd500b252c02dd18a5b7e1f5065df7a878ff4
https://github.com/llvm/llvm-project/commit/e89cd500b252c02dd18a5b7e1f5065df7a878ff4
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Port 7a4cb9bac50c8c19ec0d4ab7f186ef086064a549
Commit: 63af27190be70c3ea94bf913b93cb82db9eca25c
https://github.com/llvm/llvm-project/commit/63af27190be70c3ea94bf913b93cb82db9eca25c
Author: Florian Mayer <fmayer at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/test/CodeGen/memtag-globals-asm.cpp
Log Message:
-----------
[NFC] [test] assert padding in memtag-globals test (#128259)
Commit: 20fd7f0a76ae97e7cd645412ef5ca1a9e9614578
https://github.com/llvm/llvm-project/commit/20fd7f0a76ae97e7cd645412ef5ca1a9e9614578
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/docs/GettingInvolved.rst
Log Message:
-----------
Remove floating-point working group meeting (#128258)
This meeting never quite took off the way I had hoped, and I haven't had
time for it in quite a while, so I am removing it from the Getting
Involved page.
Commit: f1252f539ca203a979d61b616186e9be9d612f96
https://github.com/llvm/llvm-project/commit/f1252f539ca203a979d61b616186e9be9d612f96
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
A llvm/test/MC/PowerPC/case-insensitive-regs.s
Log Message:
-----------
[PPC][MC] Restore support for case-insensitive register names (#128525)
Lowercase the name before calling MatchRegisterName(), to restore
support for using `%R3` instead of `%r3` and similar, matching the GNU
assembler.
Fixes https://github.com/llvm/llvm-project/issues/126786.
Commit: cc7f22ee6ccb2c1ad79834e06d5b18d8f014d140
https://github.com/llvm/llvm-project/commit/cc7f22ee6ccb2c1ad79834e06d5b18d8f014d140
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/ObjectYAML/WasmYAML.h
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/test/ObjectYAML/wasm/dylink_section.yaml
M llvm/tools/obj2yaml/wasm2yaml.cpp
Log Message:
-----------
[object][WebAssembly] Add support for RUNTIME_PATH to yaml2obj and obj2yaml (#126080)
This is the first step of adding RPATH support for wasm.
See corresponding update to the WebAssembly/tool-conventions repo on dynamic
linking: https://github.com/WebAssembly/tool-conventions/pull/246
Commit: 36fdeb2aded08a776fcffefa73cb7667e7fc6c2d
https://github.com/llvm/llvm-project/commit/36fdeb2aded08a776fcffefa73cb7667e7fc6c2d
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
A flang/include/flang/Optimizer/Transforms/RuntimeFunctions.inc
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
A flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/array-temp.f90
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
Log Message:
-----------
[flang] Set LLVM specific attributes to fir.call's of Fortran runtime. (#128093)
This change is inspired by a case in facerec benchmark, where
performance
of scalar code may improve by about 6%@aarch64 due to getting rid of
redundant
loads from Fortran descriptors. These descriptors are corresponding
to subroutine local ALLOCATABLE, SAVE variables. The scalar loop nest
in LocalMove subroutine contains call to Fortran runtime IO functions,
and LLVM globals-aa analysis cannot prove that these calls do not modify
the globalized descriptors with internal linkage.
This patch sets and propagates llvm.memory_effects attribute for
fir.call
operations calling Fortran runtime functions. In particular, it tries
to set the Other memory effect to NoModRef. The Other memory effect
includes accesses to globals and captured pointers, so we cannot set
it for functions taking Fortran descriptors with one exception
for calls where the Fortran descriptor arguments are all null.
As long as different calls to the same Fortran runtime function may have
different attributes, I decided to attach the attributes to the calls
rather than functions. Moreover, attaching the attributes to func.func
will require propagating these attributes to llvm.func, which is not
happening right now.
In addition to llvm.memory_effects, the new pass sets llvm.nosync
and llvm.nocallback attributes that may also help LLVM alias analysis
(e.g. see #127707). These attributes are ignored currently.
I will support them in LLVM IR dialect in a separate patch.
I also added another pass for developers to be able to print
declarations/calls of all Fortran runtime functions that are recognized
by the attributes setting pass. It should help with maintenance
of the LIT tests.
Commit: a6abbe03094a7afc85d4d35c24e6cedd1cfc4ef2
https://github.com/llvm/llvm-project/commit/a6abbe03094a7afc85d4d35c24e6cedd1cfc4ef2
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
Log Message:
-----------
[test] Remove `-emit-llvm` from the `and-errors.hlsl` test to avoid writing to a potentially write-protected directory (#128047)
@mikaelholmen
[mentioned](https://github.com/llvm/llvm-project/pull/127098#discussion_r1962897888)
that the `-emit-llvm` argument isn't necessary for the `and-errors.hlsl`
test and may cause issues due to writing to the current (potentially
write-protected) directory.
This PR removes the `-emit-llvm` argument from clang in the RUN lines of
the test.
Commit: 7f6f186736c81ab3ca1881ed9d5569ffc1050df8
https://github.com/llvm/llvm-project/commit/7f6f186736c81ab3ca1881ed9d5569ffc1050df8
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
Log Message:
-----------
[SPIRV] Stop including SPIRVInstrInfo.h in MCTargetDesc. NFC (#128443)
SPIRVInstrInfo.h is a CodeGen layer file, it should not be used in MC
layer files.
This required adding a new enum for MCInst flags and a conversion from
MachineInstr's AsmPrinter flags in SPIRVMCInstLower.
Commit: a0be17dc91d054290910b5787f41900fb6ef0d6e
https://github.com/llvm/llvm-project/commit/a0be17dc91d054290910b5787f41900fb6ef0d6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove unnecessary entries from RISCVVInversePseudosTable. NFC (#128376)
The inverse pseudos table contained entries that map back to the
unmasked and masked pseudo, but the lookup only returns the first one.
Add a new FilterClassField to remove the unnecessary entries.
This reduces the size of the llvm-mca binary by ~32KB.
Commit: 664cbd1b5db190724ceea498d1f520eb66d78d69
https://github.com/llvm/llvm-project/commit/664cbd1b5db190724ceea498d1f520eb66d78d69
Author: John Harrison <harjohn at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
Log Message:
-----------
[lldb-dap] skip TestDAP_server on windows to unblock CI. (#128278)
This should fix the tests running on windows.
https://lab.llvm.org/buildbot/#/builders/141/builds/6506 is the failure,
the error message does not clearly indicate why the connection failed,
but they are passing for me locally on macOS and passed on linux in the
CI.
Commit: 571b787b83cb1bfc7d4c8214b296ec965e7bb7e2
https://github.com/llvm/llvm-project/commit/571b787b83cb1bfc7d4c8214b296ec965e7bb7e2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/ARC/ARCInstrInfo.cpp
M llvm/lib/Target/ARC/ARCInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb1InstrInfo.h
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.h
M llvm/lib/Target/BPF/BPFInstrInfo.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.h
M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
M llvm/lib/Target/CSKY/CSKYInstrInfo.h
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
M llvm/lib/Target/Lanai/LanaiInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
M llvm/lib/Target/MSP430/MSP430InstrInfo.h
M llvm/lib/Target/Mips/Mips16InstrInfo.cpp
M llvm/lib/Target/Mips/Mips16InstrInfo.h
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/VE/VEInstrInfo.cpp
M llvm/lib/Target/VE/VEInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
Log Message:
-----------
[CodeGen] Change copyPhysReg interface to use Register instead of MCRegister. (#128473)
NVPTX, SPIRV, and WebAssembly pass virtual registers to this function
since they don't perform register allocation. We need to use Register to
avoid a virtual register being converted to MCRegister by the caller.
Commit: 8dbc393e447299d1a4d35b96c6e66542a5928cff
https://github.com/llvm/llvm-project/commit/8dbc393e447299d1a4d35b96c6e66542a5928cff
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
Log Message:
-----------
[flang][cuda][NFC] Remove shared alloc addr space (#128535)
Commit: e298fc2da97120a30ee2f120ac184ab209fc1eb4
https://github.com/llvm/llvm-project/commit/e298fc2da97120a30ee2f120ac184ab209fc1eb4
Author: Tom Tromey <tromey at adacore.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm-c/DebugInfo.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/LLParser.cpp
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.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/subrange_type.ll
M llvm/unittests/IR/MetadataTest.cpp
Log Message:
-----------
Add DISubrangeType (#126772)
An Ada program can have types that are subranges of other types. This
patch adds a new DIType node, DISubrangeType, to represent this concept.
I considered extending the existing DISubrange to do this, but as
DISubrange does not derive from DIType, that approach seemed more
disruptive.
A DISubrangeType can be used both as an ordinary type, but also as the
type of an array index. This is also important for Ada.
Ada subrange types can also be stored using a bias. Representing this in
the DWARF required the use of an extension. GCC has been emitting this
extension for years, so I've reused it here.
Commit: d9d1f241f27bab3c7b8914196316a6e6202cc61e
https://github.com/llvm/llvm-project/commit/d9d1f241f27bab3c7b8914196316a6e6202cc61e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port d0e37d972331 (llvm-dap tweaks)
Commit: 9638d08af96c4cb8cf16785eed92179b2658bdfe
https://github.com/llvm/llvm-project/commit/9638d08af96c4cb8cf16785eed92179b2658bdfe
Author: Akshay Deodhar <adeodhar at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
A llvm/test/CodeGen/NVPTX/cmpxchg.py
M llvm/test/CodeGen/NVPTX/lit.local.cfg
Log Message:
-----------
[NVPTX] Support for memory orderings for cmpxchg (#126159)
So far, all cmpxchg instructions were lowered to atom.cas. This change
adds support for memory orders in lowering. Specifically:
- For cmpxchg which are emulated, memory ordering is enforced by adding
fences around the emulation loops.
- For cmpxchg which are lowered to PTX directly, where the memory order
is supported in ptx, lower directly to the correct ptx instruction.
- For seq_cst cmpxchg which are lowered to PTX directly, use a sequence
(fence.sc; atom.cas.acquire) to provide the semantics that we want.
Also adds tests for all possible combinations of (size, memory ordering,
address space, SM/PTX versions)
This also adds `atomicOperationOrderAfterFenceSplit` in TargetLowering,
for specially handling seq_cst atomics.
Commit: 51ce6c437fec1fe0170d077424e1cbc141d05c2b
https://github.com/llvm/llvm-project/commit/51ce6c437fec1fe0170d077424e1cbc141d05c2b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Fix error C2065: 'PATH_MAX': undeclared identifier
This should fix the Windows build.
Commit: d9b0571b5c408b3c699143a8870d04414351d28d
https://github.com/llvm/llvm-project/commit/d9b0571b5c408b3c699143a8870d04414351d28d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port 363bfd6090b0
Commit: 41cd6d2b1d6323bebfb20349d9f45b9c0ea75ada
https://github.com/llvm/llvm-project/commit/41cd6d2b1d6323bebfb20349d9f45b9c0ea75ada
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
Log Message:
-----------
[gn build] Port 850b49297615
Commit: 823a597d2ad0a76e8d5278a789f37a07b393cd2a
https://github.com/llvm/llvm-project/commit/823a597d2ad0a76e8d5278a789f37a07b393cd2a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
Log Message:
-----------
[flang] Workaround build failure.
https://lab.llvm.org/buildbot/#/builders/140/builds/17587
Looks like it is related to some specific version of the build compiler.
Commit: 4d536169010e4a1c70523edbdec5c6dfcbd49fda
https://github.com/llvm/llvm-project/commit/4d536169010e4a1c70523edbdec5c6dfcbd49fda
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
Log Message:
-----------
Revert "[flang] Workaround build failure."
This reverts commit 823a597d2ad0a76e8d5278a789f37a07b393cd2a.
Commit: 69cc16fb55089f624aba106a714aaf3f1a5504f5
https://github.com/llvm/llvm-project/commit/69cc16fb55089f624aba106a714aaf3f1a5504f5
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
R flang/include/flang/Optimizer/Transforms/RuntimeFunctions.inc
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
R flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
R flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/array-temp.f90
R flang/test/Transforms/set-runtime-call-attributes.fir
R flang/test/Transforms/verify-known-runtime-functions.fir
R flang/test/Utils/generate-checks-for-runtime-funcs.py
Log Message:
-----------
Revert "[flang] Set LLVM specific attributes to fir.call's of Fortran runtime. (#128093)"
This reverts commit 36fdeb2aded08a776fcffefa73cb7667e7fc6c2d.
Commit: ab9cd53b86e84cc2db47d312232de4789c15adc4
https://github.com/llvm/llvm-project/commit/ab9cd53b86e84cc2db47d312232de4789c15adc4
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
Log Message:
-----------
[Wunsafe-buffer-usage] False positives for & expression indexing constant size array (arr[anything & 0]) (#112284)
Do not warn when a constant sized array is indexed with an expression
that contains bitwise and operation
involving constants and it always results in a bound safe access.
(rdar://136684050)
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: 4ac43b541c067e6b888948900d01521e58a00eca
https://github.com/llvm/llvm-project/commit/4ac43b541c067e6b888948900d01521e58a00eca
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Restrict widest induction type to be IntegerType (NFC) (#128173)
As the name of the function suggests, convertPointerToIntegerType should
return an IntegerType instead of a Type, and should only ever be called
with integer or ptr type. Fix the callers getWiderType, and
addInductionPhi to narrow the type of WidestIndTy to IntegerType,
stripping unclear casts. While at it, rename convertPointerToIntegerType
and getWiderType for clarity.
Commit: be5c66d97d7977bd9fa31b1a0e78196ecbb6e52b
https://github.com/llvm/llvm-project/commit/be5c66d97d7977bd9fa31b1a0e78196ecbb6e52b
Author: Michael Spencer <bigcheesegs at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Serialization/ModuleManager.cpp
M clang/test/Modules/explicit-build.cpp
Log Message:
-----------
[clang] Improve module out of date error message (#128103)
When a pcm file has a different size or modification time than it had
when it was written to another module's IMPORT table Clang emits:
`<pcm> is out of date and needs to be rebuilt: module file out of date`
This is difficult to understand what's happening because there are a lot
of reasons that a module file can be out of date. This changes the
latter part of that message to:
`module file has a different size or mtime than expected`
Which makes it clearer what the issue is. For future work it would be
nice if a more detailed explanation of the issue could be emitted as a
note instead.
Commit: 607a1f2ace77fffb67a1f62df5ac6caa1c568f51
https://github.com/llvm/llvm-project/commit/607a1f2ace77fffb67a1f62df5ac6caa1c568f51
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
A clang/include/clang/CIR/Passes.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global.cir
M clang/test/CMakeLists.txt
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/cir-opt/CMakeLists.txt
A clang/tools/cir-opt/cir-opt.cpp
Log Message:
-----------
[CIR] Add cir-opt tool to exercise CIR dialect parsing (#128254)
We need to be able to read in and parse files using the ClangIR dialect
in order to test this part of the functionality.
This change adds the minimum cir-opt tool needed to read and parse cir
files and write them back to text. This tool will later be extended to
add features for lowering from CIR to other MLIR dialects and to run CIR
passes as they are upstreamed.
Commit: 4c9e14b3ad64b04addc9a706663ac9ac129d7451
https://github.com/llvm/llvm-project/commit/4c9e14b3ad64b04addc9a706663ac9ac129d7451
Author: Sumanth Gundapaneni <sumanth.gundapaneni at amd.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
Log Message:
-----------
[AMDGPU] Update PromoteAlloca to handle GEPs with variable offset. (#122342)
In case of variable offset of a GEP that can be optimized out, promote
alloca is updated to use the refereshed index to avoid an assertion.
Issue found by fuzzer.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 82264d23a1cc2ad9334f9a277cb92043a8bac446
https://github.com/llvm/llvm-project/commit/82264d23a1cc2ad9334f9a277cb92043a8bac446
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor stepping related request handlers (NFC) (#128453)
Continuation of the work started in #128262.
Commit: 0182b23fe144d9b8a539f2b9d8fa5741eb1223a2
https://github.com/llvm/llvm-project/commit/0182b23fe144d9b8a539f2b9d8fa5741eb1223a2
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 82264d23a1cc
Commit: 9fac59a0db7c7adaa354a47df385cd35d761ec77
https://github.com/llvm/llvm-project/commit/9fac59a0db7c7adaa354a47df385cd35d761ec77
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/Basic/LangOptions.h
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaType.cpp
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
Log Message:
-----------
[HLSL] Allow arrays to be returned by value in HLSL (#127896)
Enable Arrays to be returned in HLSL, and a test for this.
Closes #126568
Commit: e55f1a7ef8d3e698144b013c8715a18c88912d81
https://github.com/llvm/llvm-project/commit/e55f1a7ef8d3e698144b013c8715a18c88912d81
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/spillcost.ll
Log Message:
-----------
[SLP] Add test for getSpillCost fix
Commit: 8ce17c15577d223e14b62f9198d4b2ae9856b9fb
https://github.com/llvm/llvm-project/commit/8ce17c15577d223e14b62f9198d4b2ae9856b9fb
Author: Nathan Ridge <zeratul976 at hotmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/lib/AST/CXXInheritance.cpp
Log Message:
-----------
[clang][NFC] Remove CXXRecordDecl::lookupDependentName() and its helpers (#128392)
This function has been superseded by
HeuristicResolver::lookupDependentName(), which implements the same
heuristics and more.
Porting note for any out-of-tree callers:
```
RD->lookupDependentName(Name, Filter);
```
can be replaced with:
```
HeuristicResolver(RD->getASTContext())->lookupDependentName(Name, Filter);
```
Commit: 988480323d5ef9bb658f13ac598d4ce2aa23c782
https://github.com/llvm/llvm-project/commit/988480323d5ef9bb658f13ac598d4ce2aa23c782
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor custom & testing related request handlers (NFC) (#128549)
Continuation of the work started in
https://github.com/llvm/llvm-project/pull/128262. Builds on top of
#128453.
Commit: cec35077025da73bd2d8bf78d5bb62c43f3ccd0a
https://github.com/llvm/llvm-project/commit/cec35077025da73bd2d8bf78d5bb62c43f3ccd0a
Author: Ryosuke Niwa <rniwa at webkit.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/docs/analyzer/checkers.rst
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
Log Message:
-----------
[alpha.webkit.UnretainedLocalVarsChecker] Add a checker for local variables to NS and CF types. (#127554)
This PR adds alpha.webkit.UnretainedLocalVarsChecker by generalizing
RawPtrRefLocalVarsChecker. It checks local variables to NS or CF types
are guarded with a RetainPtr or not. The new checker is effective for NS
and CF types in Objective-C++ code without ARC, and it's effective for
CF types in code with ARC.
Commit: 55c76ea391225bce1e0b1c1eba57bbd846c671a1
https://github.com/llvm/llvm-project/commit/55c76ea391225bce1e0b1c1eba57bbd846c671a1
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
M bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
Log Message:
-----------
[BOLT] pacret-scanner: fix regression tests... (#128565)
by making the regex to match basic block names more general. See failing
test case that was reported on some system in comment
https://github.com/llvm/llvm-project/pull/122304#issuecomment-2679460678
These test cases were introduced in PR #122304, commit
850b49297615a613ac83adca2c9cf823a4b8ef95 .
Commit: b335d5a8303250cb49901ecae7570adf61abbd3c
https://github.com/llvm/llvm-project/commit/b335d5a8303250cb49901ecae7570adf61abbd3c
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 988480323d5e
Commit: f63c5f36c3e390fa43ba91c6d7812d0439b5203a
https://github.com/llvm/llvm-project/commit/f63c5f36c3e390fa43ba91c6d7812d0439b5203a
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
Log Message:
-----------
Revert "[mlir] Fix integration test when `%host_cc` path contains spaces" (#128573)
Reverts llvm/llvm-project#128439
Builtbot are broken, see:
https://lab.llvm.org/buildbot/#/builders/138/builds/10710
Commit: 53c08dfc18163ab50a94da344fd93fddac179495
https://github.com/llvm/llvm-project/commit/53c08dfc18163ab50a94da344fd93fddac179495
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
[llvm-mt] Use XmlDeleter to free xmlFreeDoc (#128472)
Fixes memory leak on error in llvm-mt.
Previous https://reviews.llvm.org/D37321 missed this spot.
Commit: 23aca2f88dd5d2447e69496c89c3ed42a56f9c31
https://github.com/llvm/llvm-project/commit/23aca2f88dd5d2447e69496c89c3ed42a56f9c31
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 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
Log Message:
-----------
Revert "Symbolize line zero as if no source info is available (#124846)"
This commit creates an inconsistency on `__sanitizer_symbolize_pc` API. Before this change, this API always uses the filename from debug info when the line number is 0. After this change, the filename becomes invalid when line number is 0. The sanitizer might fall back to use base filename from symbol table. So, this API may return either `??:0` or `{filename from symbol table}:0` depending on if the symbol table has the filename for it. Make sure this inconsistency is resolved before relanding the commit.
Commit: e063365a9732551b2d7b6c2b0d81e79d224a61e8
https://github.com/llvm/llvm-project/commit/e063365a9732551b2d7b6c2b0d81e79d224a61e8
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
Revert "[llvm-mt] Use XmlDeleter to free xmlFreeDoc" (#128578)
Reverts llvm/llvm-project#128472
Breaks build bots.
Commit: 6c61c557569a1def56747c7b7db1926c538ec576
https://github.com/llvm/llvm-project/commit/6c61c557569a1def56747c7b7db1926c538ec576
Author: Kristof Beyls <kristof.beyls at arm.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
Log Message:
-----------
[BOLT] pacret-scanner: fix regression test failure (#128576)
... which is caused by a seemingly recent change in BOLTs basic block
calculation, where function calls seem to be ending basic blocks? I
don't have a pointer to the commit that caused this change. I'll be
looking for that later. For now, I'm trying to get the regression tests
passing again.
Commit: 1e85e5abb327317777cfe0d5d97d6dc211dbc1e3
https://github.com/llvm/llvm-project/commit/1e85e5abb327317777cfe0d5d97d6dc211dbc1e3
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/test/Driver/wasm-toolchain.c
Log Message:
-----------
[clang][WebAssembly] Always have `-pthread` imply `--shared-memory` linker flag (#127939)
Unlike `-lpthread` this flag should not be suppressed by `-nostdlib`.
Commit: 9bfe48695ed837bdc788b1ba0e877726ce83befb
https://github.com/llvm/llvm-project/commit/9bfe48695ed837bdc788b1ba0e877726ce83befb
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCArchitectures.cmake
Log Message:
-----------
[libc] Initial support for parsing SPIR-V for GPU libc (#128570)
Summary:
Some day we'd like to support this, add some initial support for parsing
the triple so it will at least attempt to build.
Commit: bef4e5204adae9aa7d7f3268a4cf75cd0394c0d7
https://github.com/llvm/llvm-project/commit/bef4e5204adae9aa7d7f3268a4cf75cd0394c0d7
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Fix type mismatch in atomiccas (#128548)
Commit: 47822c80c1b259973c29521315e3c355d1d553ad
https://github.com/llvm/llvm-project/commit/47822c80c1b259973c29521315e3c355d1d553ad
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/docs/LangRef.rst
Log Message:
-----------
[LangRef] Clarify that the pointer after an object must be valid. (#127892)
In some places, we rely on the assumption that the pointer after the
object must also be valid and not overflow, but it does not seem to be
spelled out clearly in LangRef, unless I missed a reference.
The GetElementPtr section mentions that the maximum object size is half
the pointer index type space, but then the pointer past the object may
wrap. Clarify that the pointer after the object must also be valid.
This should match Alive2's semantics:
https://alive2.llvm.org/ce/z/Dk8QFL
(https://github.com/AliveToolkit/alive2/blob/master/tools/transform.cpp#L1288)
PR: https://github.com/llvm/llvm-project/pull/127892
Commit: 1b15a89a23c631a8e2d096dad4afe456970572c0
https://github.com/llvm/llvm-project/commit/1b15a89a23c631a8e2d096dad4afe456970572c0
Author: Zequan Wu <zequanwu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
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:
-----------
Revert "[Offload] Fix assumptions on symbols after #124846 (#126238)"
The dependency commit was reverted at https://github.com/llvm/llvm-project/commit/23aca2f88dd5d2447e69496c89c3ed42a56f9c31. Reverting this as well.
Commit: d3623194044452e2f1b4e81c213bc8cbbe49c2a8
https://github.com/llvm/llvm-project/commit/d3623194044452e2f1b4e81c213bc8cbbe49c2a8
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor breakpoint related request handlers (NFC) (#128550)
Continuation of the work started in #128262. Builds on top of #128549.
Commit: a018788687c8715b0abbd24cb3258d2dd1d1740d
https://github.com/llvm/llvm-project/commit/a018788687c8715b0abbd24cb3258d2dd1d1740d
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port d36231940444
Commit: df14dbd8750fba7851a3fd8878db3692c20a28d1
https://github.com/llvm/llvm-project/commit/df14dbd8750fba7851a3fd8878db3692c20a28d1
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXInstrInfo.h
M llvm/lib/Target/DirectX/DirectXRegisterInfo.cpp
M llvm/lib/Target/DirectX/DirectXRegisterInfo.h
M llvm/lib/Target/DirectX/DirectXSubtarget.h
Log Message:
-----------
[DirectX] Fix build breaks (#128556)
1. Fix build break caused by #126772 by adding `writeDISubrangeType`
stub to `DXILBitcodeWriter.cpp`
2. Fix build break caused by #128480 by adding implementation of pure
virtual method `TargetSubtargetInfo::getRegisterInfo`
Commit: baa77e30f0f2599763f3d6142cc67a96d6e6709b
https://github.com/llvm/llvm-project/commit/baa77e30f0f2599763f3d6142cc67a96d6e6709b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Remove some redundant casts (NFC).
Commit: eabe2eb933556bf3e0db0d2d98e96f962bde14dc
https://github.com/llvm/llvm-project/commit/eabe2eb933556bf3e0db0d2d98e96f962bde14dc
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M libc/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[libc] Remove special full build handling for GPU (#128572)
Summary:
Currently we default to non-fullbuild for all targets, but realistically
we should do this depending on the target OS. Some OS's like the GPU or
upcoming UEFI have no existing hosted system, so they cannot be built
with an overlay build. These are already errors so there's no reason to
complicate things and require passing it in through the runtimes build.
Commit: e5ce0304335dc1cae6856c880d1d4e14dcf8265d
https://github.com/llvm/llvm-project/commit/e5ce0304335dc1cae6856c880d1d4e14dcf8265d
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
R mlir/test/Dialect/XeGPU/XeGPUOps.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
A mlir/test/Dialect/XeGPU/ops.mlir
Log Message:
-----------
[mlir][xegpu] Improve XeGPU op verification logic for SIMT flavor and update tests. (#127920)
This PR adds required changes for XeGPU ops to support the SIMT
distribution.
1. Adds verification logic for SIMT flavor for load_nd, store_nd, dpas,
load_gather and store_scatter ops.
2. Adds test cases to cover the SIMT version of these ops along with
their VC counter parts.
---------
Co-authored-by: Artem Kroviakov <71938912+akroviakov at users.noreply.github.com>
Commit: 38d7cf1a81431933b732350b0141790ca94aa20a
https://github.com/llvm/llvm-project/commit/38d7cf1a81431933b732350b0141790ca94aa20a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
A lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Refactor remaining request handlers (NFC)Remaining request handlers (#128551)
Continuation of the work started in #128262. Builds on top of #128550.
Commit: b248817ad60953f500b070726a6c1973882bcb56
https://github.com/llvm/llvm-project/commit/b248817ad60953f500b070726a6c1973882bcb56
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 38d7cf1a8143
Commit: 31915248c06da7d132f642e4a2a3bb37df6fdab5
https://github.com/llvm/llvm-project/commit/31915248c06da7d132f642e4a2a3bb37df6fdab5
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/cmake/modules/CMakeLists.txt
Log Message:
-----------
[mlir] NFC: fix typos and improve commentary regarding generation of MLIRConfig.cmake (#127712)
Commit: d6ec32c8f25975ae31ec9ca7e67d942adadc3898
https://github.com/llvm/llvm-project/commit/d6ec32c8f25975ae31ec9ca7e67d942adadc3898
Author: Wael Yehia <wmyehia2001 at yahoo.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fprofile-continuous.c
Log Message:
-----------
[profile] runtime counter relocation is needed on windows-msvc targets (#127858)
Continuous profile syncing is supported on windows, and it also relies on runtime counter relocation (based on this
test [1])
Thanks to @anhtuyenibm for pointing it out to me.
[1] https://github.com/llvm/llvm-project/blob/main/compiler-rt/test/profile/ContinuousSyncMode/runtime-counter-relocation.c
---------
Co-authored-by: Wael Yehia <wyehia at ca.ibm.com>
Commit: 0caa8f42be0b2d00527ad2d94144dcbb2a427605
https://github.com/llvm/llvm-project/commit/0caa8f42be0b2d00527ad2d94144dcbb2a427605
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
A flang/include/flang/Optimizer/Transforms/RuntimeFunctions.inc
M flang/lib/Lower/IO.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
A flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/array-temp.f90
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
Log Message:
-----------
Reland "[flang] Set LLVM specific attributes to fir.call's of Fortran runtime. (#128093)"
This change is inspired by a case in facerec benchmark, where
performance
of scalar code may improve by about 6%@aarch64 due to getting rid of
redundant
loads from Fortran descriptors. These descriptors are corresponding
to subroutine local ALLOCATABLE, SAVE variables. The scalar loop nest
in LocalMove subroutine contains call to Fortran runtime IO functions,
and LLVM globals-aa analysis cannot prove that these calls do not modify
the globalized descriptors with internal linkage.
This patch sets and propagates llvm.memory_effects attribute for
fir.call
operations calling Fortran runtime functions. In particular, it tries
to set the Other memory effect to NoModRef. The Other memory effect
includes accesses to globals and captured pointers, so we cannot set
it for functions taking Fortran descriptors with one exception
for calls where the Fortran descriptor arguments are all null.
As long as different calls to the same Fortran runtime function may have
different attributes, I decided to attach the attributes to the calls
rather than functions. Moreover, attaching the attributes to func.func
will require propagating these attributes to llvm.func, which is not
happening right now.
In addition to llvm.memory_effects, the new pass sets llvm.nosync
and llvm.nocallback attributes that may also help LLVM alias analysis
(e.g. see #127707). These attributes are ignored currently.
I will support them in LLVM IR dialect in a separate patch.
I also added another pass for developers to be able to print
declarations/calls of all Fortran runtime functions that are recognized
by the attributes setting pass. It should help with maintenance
of the LIT tests.
Commit: 594919c263122e1d0468dfecee6eb5962e892b44
https://github.com/llvm/llvm-project/commit/594919c263122e1d0468dfecee6eb5962e892b44
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/test/Target/SPIRV/selection.mlir
A mlir/test/Target/SPIRV/selection.spv
M mlir/test/lit.cfg.py
Log Message:
-----------
[mlir][spirv] Split conditional basic blocks during deserialization (#127639)
With the current design some of the values are sank into a selection
region, despite them being also used outside that region. This is
because the current deserializer logic sinks the entire basic block
containing a conditional branch forming a header of a selection
construct, without accounting for some values being used outside. This
manifests as (for example):
```
<unknown>:0: error: 'spirv.Variable' op failed control flow structurization: it has uses outside of the enclosing selection/loop construct
<unknown>:0: note: see current operation: %0 = "spirv.Variable"()<{storage_class = #spirv.storage_class<Function>}> : () -> !spirv.ptr<vector<4xf32>, Function>
```
The proposed solution to this problem is to split the conditional basic
block into two, one block containing just the conditional branch, and
other the rest of instructions. By doing this, the logic that structures
selection regions, only sinks the comparison, keeping the rest of
instructions outside the selection region.
A SPIR-V test is required, as the problem can happen only during
deserialization and cannot be tested with `--test-spirv-roundtrip`. An
MLIR test exhibiting the problematic behaviour would be an incorrect
MLIR in the first place.
This solution is proposed as an alternative to an unfinished PR #123371,
that is unlikely to be merged in the foreseeable future, as the author
"stepped away from this for a time being". There is also a Discourse
thread:
https://discourse.llvm.org/t/spir-v-uses-outside-the-selection-region/84494
that tried to solicit some feedback on the topic.
Commit: 36b339b84a98afe7bdf470747a776d0d5f348b64
https://github.com/llvm/llvm-project/commit/36b339b84a98afe7bdf470747a776d0d5f348b64
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/CUDA/cuda-device-proc.cuf
Log Message:
-----------
[flang][cuda] Relax assertion for atomicexch (#128582)
atomicexch interfaces accepts also floating point numbers. Relax the
assertion so float are also accepted.
Commit: 6b444271a011c4e3c92a62aaed9347ad508843a2
https://github.com/llvm/llvm-project/commit/6b444271a011c4e3c92a62aaed9347ad508843a2
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
Log Message:
-----------
Reland "[llvm-mt] Use XmlDeleter to free xmlFreeDoc"" (#128579)
Reverts llvm/llvm-project#128578 to reland llvm/llvm-project#128472.
Commit: 00a0b0be4b180a9458f477a8bf76d2377056d9d1
https://github.com/llvm/llvm-project/commit/00a0b0be4b180a9458f477a8bf76d2377056d9d1
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/test/Integration/Dialect/MemRef/memref_abi.c
M mlir/test/lit.cfg.py
Log Message:
-----------
Reland [mlir] Fix integration test when %host_cc path contains spaces (#128542)
Reland https://github.com/llvm/llvm-project/pull/128439
Some builders have spaces at the end of the `host_cc` path.
Commit: e8f1623a223adf5446e9999403aa6ce827a9b6dc
https://github.com/llvm/llvm-project/commit/e8f1623a223adf5446e9999403aa6ce827a9b6dc
Author: John Harrison <harjohn at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
Log Message:
-----------
[lldb-dap] Addressing the order of events during disconnect to flush output. (#128583)
The TestDAP_ouput test is flaky due to the order of events during
shutdown. We were stopping the output and error handle redirection after
we finished the disconnect request, which can cause us to miss output
events due to timing. Moving when we stop the redirection to ensure we
have consistent output prior to disconnect responding.
Fixes #128567
Commit: 911e94c6516926b462bc6d1d4a77dcc701b7e3db
https://github.com/llvm/llvm-project/commit/911e94c6516926b462bc6d1d4a77dcc701b7e3db
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 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/BreakpointLocationsHandler.cpp
M lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
M lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ScopesRequestHandler.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/Handler/SetVariableRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Finish refactoring the request handlers (NFC) (#128553)
Completes the work started in #128262. This PR removes the
old way of register request handlers with callbacks and makes
the operator const.
Commit: 6d0cfbc9c0e25f9e652f5f8b3bca2d7a0768619e
https://github.com/llvm/llvm-project/commit/6d0cfbc9c0e25f9e652f5f8b3bca2d7a0768619e
Author: Henry Jiang <h243jian at uwaterloo.ca>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
A llvm/test/Transforms/Inline/PowerPC/inline-target-attr.ll
Log Message:
-----------
[PPC] Implement `areInlineCompatible` (#126562)
After the default implementation swap from
https://github.com/llvm/llvm-project/pull/117493, where
`areInlineCompatible` checks if the callee features are a subset of
caller features. This is not a safe assumption in general on PPC. We
fallback to check for strict feature set equality for now, and see what
improvements we can make.
Commit: 162eb32e747819683d747de29d7fad99f1279063
https://github.com/llvm/llvm-project/commit/162eb32e747819683d747de29d7fad99f1279063
Author: John Harrison <harjohn at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
A lldb/test/API/tools/lldb-dap/source/Makefile
A lldb/test/API/tools/lldb-dap/source/TestDAP_source.py
A lldb/test/API/tools/lldb-dap/source/main.c
M lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
Log Message:
-----------
[lldb-dap] Add 'source' references to stack frames without source files. (#128268)
This adds 'source' references to all stack frames. When opening a stack
frame users will see the disassembly of the frame if the source is not
available.
This works around the odd behavior of navigating frames without the
VSCode disassembly view open, which causes 'step' to step in the first
frame with a source instead of the active frame.
This fixes #128260
Old behavior:
https://github.com/user-attachments/assets/3f40582d-ac96-451a-a5ae-498a323bf30e
New behavior:
https://github.com/user-attachments/assets/3a3f9ac6-3e6c-4795-9bb2-1132b3916b6f
---------
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
Commit: f6a30021249c3b6aac20f108559915e74943540f
https://github.com/llvm/llvm-project/commit/f6a30021249c3b6aac20f108559915e74943540f
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Remove unused headers (NFC)
Commit: 1824bb47c2b5874d92cc5456c57d434ea39739e7
https://github.com/llvm/llvm-project/commit/1824bb47c2b5874d92cc5456c57d434ea39739e7
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M offload/test/sanitizer/kernel_trap.c
Log Message:
-----------
[Offload][OpenMP] Fix check-prefix (#128599)
Commit: fc09550bf4982253a93088bf1668f7a917584464
https://github.com/llvm/llvm-project/commit/fc09550bf4982253a93088bf1668f7a917584464
Author: Ali Raeisdanaei <57504158+aliraeisdanaei at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus.py
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
A llvm/utils/mlgo-utils/mlgo/corpus/flags.py
Log Message:
-----------
[MLGO] Refactored verbosity flag in mlgo-utils to common location (#128541)
add common lib file to setup arguments for parser #107898
This is my first pull request to LLVM, so I would appreciate your
feedback :)
Fixes #107898.
---------
Co-authored-by: Aiden Grossman <agrossman154 at yahoo.com>
Commit: ccbb8882ac75e73e23f31ad60588a2914ebeef04
https://github.com/llvm/llvm-project/commit/ccbb8882ac75e73e23f31ad60588a2914ebeef04
Author: oltolm <oleg.tolmatcev at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/source/API/SBFrame.cpp
M lldb/test/API/python_api/run_locker/TestRunLocker.py
Log Message:
-----------
[lldb] do not show misleading error when there is no frame (#119103)
I am using VSCode with the official vscode-lldb extension. When I try to
list the breakpoints in the debug console get the message:
```
br list
can't evaluate expressions when the process is running.
```
I know that this is wrong and you need to use
```
`br list
(lldb) br list
No breakpoints currently set.
```
but the error message is misleading. I cleaned up the code and now the
error message is
```
br list
sbframe object is not valid.
```
which is still not perfect, but at least it's not misleading.
Commit: 49c31201278ae5949694ed78b69ffbbca6a1826a
https://github.com/llvm/llvm-project/commit/49c31201278ae5949694ed78b69ffbbca6a1826a
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
Log Message:
-----------
[MachineSched] Add a first valid reason [nfc]
For debugging, distinguish the first valid candidate encountered and
a preference decision driven by node number.
Commit: 305d2738944f77f8defefe79217120bb8aafab75
https://github.com/llvm/llvm-project/commit/305d2738944f77f8defefe79217120bb8aafab75
Author: Deric Cheung <cheung.deric at gmail.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Sema/SemaSPIRV.cpp
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
A clang/test/CodeGenSPIRV/Builtins/reflect.c
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reflect.ll
A llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll
Log Message:
-----------
Reland "[HLSL] Implement the reflect HLSL function" (#125599)
This PR relands #122992.
A reland was attempted before (#123853), but it [failed to pass the
`sanitizer-aarch64-linux-bootstrap-hwasan`
buildbot](https://github.com/llvm/llvm-project/pull/123853#issuecomment-2608389396)
due to the test `llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll`
The issue has since been patched thanks to @vitalybuka, so the PR is
safe to reland without any changes.
See
https://github.com/llvm/llvm-project/pull/125599#discussion_r1966650839
and
https://github.com/llvm/llvm-project/pull/125599#discussion_r1966650839
Commit: 724b91b46783e68ff42fa0c9450449629cc47c65
https://github.com/llvm/llvm-project/commit/724b91b46783e68ff42fa0c9450449629cc47c65
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M flang/include/flang/Runtime/freestanding-tools.h
Log Message:
-----------
[flang-rt] Fixed freestanding memmove. (#128604)
Commit: 62ec7b8de97a197c2522177a52bdc78205579930
https://github.com/llvm/llvm-project/commit/62ec7b8de97a197c2522177a52bdc78205579930
Author: Vy Nguyen <vyng at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/Telemetry.h
M lldb/source/Core/Telemetry.cpp
M lldb/unittests/Core/TelemetryTest.cpp
Log Message:
-----------
[LLDB][NFC]Renaming functions to be consistent with LLDB naming style (#128574)
Commit: a60e8a2c2579252d66a0656c387af29475e9b908
https://github.com/llvm/llvm-project/commit/a60e8a2c2579252d66a0656c387af29475e9b908
Author: Nikhil Kalra <nkalra at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/python/ir/operation.py
Log Message:
-----------
[mlir] Python: write bytecode to a file path (#127118)
The current `write_bytecode` implementation necessarily requires the
serialized module to be duplicated in memory when the python `bytes`
object is created and sent over the binding. For modules with large
resources, we may want to avoid this in-memory copy by serializing
directly to a file instead of sending bytes across the boundary.
Commit: 28002dd50fb7ec97da1770a11f9c6a99dd9aecb9
https://github.com/llvm/llvm-project/commit/28002dd50fb7ec97da1770a11f9c6a99dd9aecb9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Replace some undef pointer uses in test
Commit: 688064498a015e833bd24f5cd429462ca9126a54
https://github.com/llvm/llvm-project/commit/688064498a015e833bd24f5cd429462ca9126a54
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
Log Message:
-----------
[ORC] Remove unused header. NFC.
Commit: 253e11695ba8d77e4339d0c43758f192b149db1e
https://github.com/llvm/llvm-project/commit/253e11695ba8d77e4339d0c43758f192b149db1e
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
A llvm/include/llvm/ExecutionEngine/Orc/GetTapiInterface.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
A llvm/lib/ExecutionEngine/Orc/GetTapiInterface.cpp
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_Foo.tbd
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_main_ret_foo.s
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_weak_link.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC][llvm-jitlink] Add support for emulating ld64 -weak-lx / -weak_library.
Linking libraries in ld64 with -weak-lx / -weak_library causes all references
to symbols in those libraries to be made weak, allowing the librarie to be
missing at runtime.
This patch extends EPCDynamicLibrarySearchGenerator with support for emulating
this behavior: If an instance is constructed with an Allow predicate but no
dylib handle then all symbols matching the predicate are immediately resolved
to null.
The llvm-jitlink tool is updated with -weak-lx / -weak_library options for
testing. Unlike their ld64 counterparts these options take a TBD file as input,
and always resolve all exports in the TBD file to null.
Commit: c7101188fb3f17176e9152b1d733da6d7199d317
https://github.com/llvm/llvm-project/commit/c7101188fb3f17176e9152b1d733da6d7199d317
Author: apple-fcloutier <75502309+apple-fcloutier at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/FormatString.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaObjC.cpp
A clang/test/Sema/format-string-matches.c
M clang/test/Sema/format-strings.c
Log Message:
-----------
[clang] Implement __attribute__((format_matches)) (#116708)
This implements ``__attribute__((format_matches))``, as described in the
RFC:
https://discourse.llvm.org/t/rfc-format-attribute-attribute-format-like/83076
The ``format`` attribute only allows the compiler to check that a format
string matches its arguments. If the format string is passed
independently of its arguments, there is no way to have the compiler
check it. ``format_matches(flavor, fmtidx, example)`` allows the
compiler to check format strings against the ``example`` format string
instead of against format arguments. See the changes to AttrDocs.td in
this diff for more information.
Implementation-wise, this change subclasses CheckPrintfHandler and
CheckScanfHandler to allow them to collect specifiers into arrays, and
implements comparing that two specifiers are equivalent.
`checkFormatStringExpr` gets a new `ReferenceFormatString` argument that
is piped down when calling a function with the `format_matches`
attribute (and is `nullptr` otherwise); this is the string that the
actual format string is compared against.
Although this change does not enable -Wformat-nonliteral by default,
IMO, all the pieces are now in place such that it could be.
Commit: 8009c1fd81ad0b6ac65724d2b134a92db48f8fbf
https://github.com/llvm/llvm-project/commit/8009c1fd81ad0b6ac65724d2b134a92db48f8fbf
Author: Elvis Wang <elvis.wang at sifive.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
Log Message:
-----------
[LV][VPlan] Prevent calculate cost for skiped instructions in precomputeCosts(). (#127966)
Skip calculating instruction costs for exit conditions in
precomputeCosts() when it should be skipped.
Reported from:
https://github.com/llvm/llvm-project/issues/115744#issuecomment-2670479463
Godbolt for reduced test cases: https://godbolt.org/z/fr4YMeqcv
Commit: aa902a0380c167ceb68c998c25780945da99edfa
https://github.com/llvm/llvm-project/commit/aa902a0380c167ceb68c998c25780945da99edfa
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
Log Message:
-----------
[ORC] Add dependence on TextAPI to reflect changes in 253e11695ba.
Commit: 2c7780a96d24e1e23657057fb735e13e2ba5d2ce
https://github.com/llvm/llvm-project/commit/2c7780a96d24e1e23657057fb735e13e2ba5d2ce
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 253e11695ba8
Commit: 862595cab67b7fa71ea035e1090725bdf39d291b
https://github.com/llvm/llvm-project/commit/862595cab67b7fa71ea035e1090725bdf39d291b
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
M llvm/lib/CodeGen/MachineBasicBlock.cpp
Log Message:
-----------
[MachineBasicBlock][NFC] Decouple SplitCriticalEdges from pass manager (#128151)
New clients should use this overload that accepts analyses directly.
Commit: 06f30792353a5d7bacc9110294db7cca49b4eafa
https://github.com/llvm/llvm-project/commit/06f30792353a5d7bacc9110294db7cca49b4eafa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
A llvm/test/CodeGen/AMDGPU/si-fold-operands-commute-same-operands-assert.mir
Log Message:
-----------
AMDGPU: More consistently use the fold list instead of direct mutation (#127612)
There were 2 parallel fold check mechanisms, so consistently use the
fold list. The worklist management here is still not good. Other types
of folds are not using it, and we should probably rewrite the pass to
look more like peephole-opt.
This should be an alternative fix to skipping commute if the operands
are the same (#127562). The new test is still not broken as-is, but
demonstrates failures in a future patch.
Commit: 366daddfad9aa38ebb7d40055cf65f4ecb7dd6f9
https://github.com/llvm/llvm-project/commit/366daddfad9aa38ebb7d40055cf65f4ecb7dd6f9
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/include/clang/Serialization/ASTBitCodes.h
Log Message:
-----------
[Serialization] Update DECL_LAST
Address post commit review at
https://github.com/llvm/llvm-project/pull/119333#pullrequestreview-2637471908
Commit: b3c51db292f05cf89201911cbcca6cba83caadd6
https://github.com/llvm/llvm-project/commit/b3c51db292f05cf89201911cbcca6cba83caadd6
Author: Shubham Sandeep Rastogi <srastogi22 at apple.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
A llvm/test/CodeGen/AArch64/expand-load-got-pseudo.mir
Log Message:
-----------
[InstrRef] Preserve debug instr num in aarch64-expand-pseudo LOADgot expansion (#128081)
The aarch64-expand-pseudo pass expands the LOADgot instruction to an
ADRP instruction and a LDRXui instruction. If the LOADgot had a
debug-instr-number, the pass doesn't preserve this to the new expansion.
This patch fixes the issue by making sure the debug-instr-number is
correctly applied to the LDRXui instruction generated.
Commit: eab6f2d7a90cd9be7d622c7724d1131f9a9128b4
https://github.com/llvm/llvm-project/commit/eab6f2d7a90cd9be7d622c7724d1131f9a9128b4
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Examples/mlir-opt/loop_fusion_options.mlir
Log Message:
-----------
[MLIR][Affine] Fix fusion in the presence of cyclic deps in source nests (#128397)
Fixes: https://github.com/llvm/llvm-project/issues/61820
Fix affine fusion in the presence of cyclic deps in the source nest. In
such cases, the nest being fused can't be executed multiple times. Add a
utility to check for dependence cycles and use it in fusion. This fixes
both sibling as well as producer consumer fusion where nests with cyclic
dependences (typically reductions) were being in some cases incorrectly
fused in.
The test case also exercises/required a fix to the check for the
redundant computation being within the specified threshold.
Commit: 5deb2aa9eb454db266fb1ad38502dc6fac92ae48
https://github.com/llvm/llvm-project/commit/5deb2aa9eb454db266fb1ad38502dc6fac92ae48
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
Log Message:
-----------
AMDGPU: Make is.shared and is.private propagate poison (#128617)
Commit: d85685eb863641dce62a9f858ebcd6bab56c605b
https://github.com/llvm/llvm-project/commit/d85685eb863641dce62a9f858ebcd6bab56c605b
Author: Akshat Oke <Akshat.Oke at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
Log Message:
-----------
[AArch64][NPM] Chalk out the CodeGenPassBuilder for NPM (#128471)
This allows for testing AArch64 passes with the new pass manager.
Commit: b9cf684d7c39a9c36c562b67e6e53882f645fe74
https://github.com/llvm/llvm-project/commit/b9cf684d7c39a9c36c562b67e6e53882f645fe74
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
Log Message:
-----------
[mlir][scf] Fix typo of square brackets(NFC) (#128455)
Commit: 83ddb43cad3ee32b0df81aa641c4c0275334729d
https://github.com/llvm/llvm-project/commit/83ddb43cad3ee32b0df81aa641c4c0275334729d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.h
M llvm/test/CodeGen/AArch64/machine-latecleanup-inlineasm.mir
Log Message:
-----------
Revert "[AArch64][NPM] Chalk out the CodeGenPassBuilder for NPM (#128471)"
This reverts commit d85685eb863641dce62a9f858ebcd6bab56c605b.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/128471
Commit: ecc7e6ce4cd57a614985e95daf7027918cb8723e
https://github.com/llvm/llvm-project/commit/ecc7e6ce4cd57a614985e95daf7027918cb8723e
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
M clang/test/SemaTemplate/concepts-lambda.cpp
Log Message:
-----------
[Clang] Handle instantiating captures in addInstantiatedCapturesToScope() (#128478)
addInstantiatedCapturesToScope() might be called when transforming a
lambda body. In this situation, it would look into all the lambda's
parents and figure out all the instantiated captures. However, the
instantiated captures are not visible from lambda's class decl until the
lambda is rebuilt (i.e. after the lambda body transform). So this patch
corrects that by also examining the LambdaScopeInfo, serving as a
workaround for not having deferred lambda body instantiation in Clang
20, to avoid regressing some real-world use cases.
Fixes #128175
Commit: 6e3b47597fabb8df8cf822331461cecbac907c6f
https://github.com/llvm/llvm-project/commit/6e3b47597fabb8df8cf822331461cecbac907c6f
Author: Shoaib Meenai <smeenai at fb.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M mlir/include/mlir/IR/OperationSupport.h
Log Message:
-----------
Reland "[mlir] Silence -Wdangling-assignment-gsl in OperationSupport.h"
This warning is causing lots of build spam when I use a recent Clang as
my host compiler. It's a potential false positive, so silence it until
https://github.com/llvm/llvm-project/issues/126600 is resolved.
Reland of https://github.com/llvm/llvm-project/pull/126140 with fix for
non-Clang compilers (the preprocessor doesn't short-circuit conditionals
the way I thought it did).
Commit: f58fde585775a7c25dc673076db914f8d1866081
https://github.com/llvm/llvm-project/commit/f58fde585775a7c25dc673076db914f8d1866081
Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M clang/lib/Lex/HeaderSearch.cpp
Log Message:
-----------
Exclude RedirectingFileSystem with null OverlayFileDir in VFSUsage (#128267)
This is to avoid assertion failures like the following when
RedirectingFileSystem's are created and used outside
createVFSFromOverlayFiles.
```
Assertion failed: VFSUsage.size() == getHeaderSearchOpts().VFSOverlayFiles.size() && "A different number of RedirectingFileSystem's were present than " "-ivfsoverlay options passed to Clang!", file S:\SourceCache\llvm-project\clang\lib\Lex\HeaderSearch.cpp, line 162
```
Commit: e67cd152cf4d0344efba19985b005dae15e6bde0
https://github.com/llvm/llvm-project/commit/e67cd152cf4d0344efba19985b005dae15e6bde0
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/tools/llvm-size/llvm-size.cpp
Log Message:
-----------
[llvm-size] Initialize Radix to correct value (#128447)
Without the patch, invalid --radix, makes Radix to be 0, and result
in invalid format specifier ` %#7 `, instead of e.g ` %#7x `.
Commit: 9b298a1d3d2280c2b09f4a905d079bab008b5290
https://github.com/llvm/llvm-project/commit/9b298a1d3d2280c2b09f4a905d079bab008b5290
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
Log Message:
-----------
[WebAssembly] Use Register instead of unsigned. NFC
Commit: d7903c9f28bdfd17fcc2d5be1096c504b6a94ec1
https://github.com/llvm/llvm-project/commit/d7903c9f28bdfd17fcc2d5be1096c504b6a94ec1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
Log Message:
-----------
AMDGPU: Add more codegen tests for readfirstlane
Commit: f5d80c335d79d0b35741bfc762f8157a24f5491a
https://github.com/llvm/llvm-project/commit/f5d80c335d79d0b35741bfc762f8157a24f5491a
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
Log Message:
-----------
[lldb] Avoid Function::GetAddressRange in SymbolFileCTF (#128517)
SymbolFileCTF never creates discontinuous functions, so this is
technically NFC, but it takes us one step closer to removing the
deprecated API.
Commit: d3dae841c05c9447b665a8334aa3cfeac904d749
https://github.com/llvm/llvm-project/commit/d3dae841c05c9447b665a8334aa3cfeac904d749
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-02-24 (Mon, 24 Feb 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Switch to imm offset variants for LDG and LDU (#128270)
Commit: 3872503d6eb3eed7f2b2db13daad27307369f0be
https://github.com/llvm/llvm-project/commit/3872503d6eb3eed7f2b2db13daad27307369f0be
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
Log Message:
-----------
[lldb] Don't hand out UnwindPlan::Row shared_ptrs (#128181)
The whole unwind plan is already stored in a shared pointer, and there's
no need to persist Rows individually. If there's ever a need to do that,
there are at least two options:
- copy the row (they're not that big, and they're being copied left and
right during construction already)
- use the shared_ptr subobject constructor to create a shared_ptr which
points to a Row but holds the entire unwind plan alive
This also changes all of the getter functions to return const Row
pointers, which is important for safety because all of these objects are
cached and potentially accessed from multiple threads. (Technically one
could hand out `shared_ptr<const Row>`s, but we don't have a habit of
doing that.)
As a next step, I'd like to remove the internal UnwindPlan usages of the
shared pointer, but I'm doing this separately to gauge feedback, and
also because the patch got rather big.
Commit: 6c17380ea896e9966645958ad3d76441cc25430c
https://github.com/llvm/llvm-project/commit/6c17380ea896e9966645958ad3d76441cc25430c
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/source/Target/StackFrame.cpp
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
Log Message:
-----------
[lldb] Fix TestDiagnoseDereferenceFunctionReturn on linux (#128512)
The test was failing because it was looking up the immediate value from
the call instruction as a load address, whereas in fact it was a file
address. This worked on darwin because (with ASLR disabled) the two
addresses are generally the same. On linux, this depends on the build
mode, but with the default (PIE) build type, the two are never the same.
The test also fails on a mac with ASLR enabled.
This path fixes the code to look up the value as a file address.
Commit: 3083aea4441493b11b72218207564bf54516bf3e
https://github.com/llvm/llvm-project/commit/3083aea4441493b11b72218207564bf54516bf3e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
Log Message:
-----------
[GlobalISel] Avoid repeated hash lookups (NFC) (#128633)
Commit: 5088e1b435fd06de2bfccd3894dcc2f2c326630f
https://github.com/llvm/llvm-project/commit/5088e1b435fd06de2bfccd3894dcc2f2c326630f
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/source/Target/ThreadPlanStepRange.cpp
Log Message:
-----------
[lldb] Avoid Function::GetAddressRange in ThreadPlanStepRange::InSymbol (#128515)
The existing implementation would probably produce false positives for
discontinuous functions. I haven't tried reproducing it because setting
up discontinuous functions (and executing them, in particular) is pretty
complex and there's nothing particularly interesting happening here.
Commit: d254fa877f419e61e54709f0a6f2e891da893a60
https://github.com/llvm/llvm-project/commit/d254fa877f419e61e54709f0a6f2e891da893a60
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang-rt/CMakeLists.txt
Log Message:
-----------
[flang-rt] Make `FLANG_RT_INSTALL_RESOURCE_PATH` configurable (#128561)
Make it possible to change the path used to install flang-rt library.
This is particularly necessary for standalone builds, where the CMake
script currently hardwires the default clang install path, and therefore
is incorrect for distributions that override it. However, for
consistency I have made it configurable unconditionally, preserving the
current defaults.
Commit: 5114b9b386ca69058d19d9c3dac53b4b429c71a6
https://github.com/llvm/llvm-project/commit/5114b9b386ca69058d19d9c3dac53b4b429c71a6
Author: Lang Hames <lhames at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A llvm/include/llvm/ExecutionEngine/Orc/GetDylibInterface.h
R llvm/include/llvm/ExecutionEngine/Orc/GetTapiInterface.h
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
A llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
R llvm/lib/ExecutionEngine/Orc/GetTapiInterface.cpp
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
Log Message:
-----------
[ORC][llvm-jitlink] Extend weak-linking emulation to real dylibs.
Commit 253e11695ba added support for emulating weak-linking against dylibs
that are (under the emulation) absent at runtime. This commit extends emulated
weak linking support to allow a real dylib to supply the interface (i.e.
-weak-lx / -weak_library can be pointed at a dylib, in which case they should
be read as "weak-link against this dylib, behavining as if it weren't actually
present at runtime").
Commit: ea4e19df53abb21a1f1df725e3728fabec902978
https://github.com/llvm/llvm-project/commit/ea4e19df53abb21a1f1df725e3728fabec902978
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
A llvm/test/CodeGen/PowerPC/llvm.sincos.ll
Log Message:
-----------
[SDAG] Add missing ppc_fp128 ExpandFloatRes for sincos[pi] (#128514)
Commit: 0087523e1a273b738b94a15547dbf308d0470283
https://github.com/llvm/llvm-project/commit/0087523e1a273b738b94a15547dbf308d0470283
Author: Uday Bondhugula <uday at polymagelabs.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
Log Message:
-----------
[MLIR][Affine] Add missing check on fusion compute tolerance on a path (#128454)
When profitability analysis can't be performed, we should still be
respecting the compute tolerance specified. Refactor to pull the
additional computation factor computation and check.
Fixes: https://github.com/llvm/llvm-project/issues/54541
Commit: 49f60b4e098493f5128ba4276b3fbb985b0c61c8
https://github.com/llvm/llvm-project/commit/49f60b4e098493f5128ba4276b3fbb985b0c61c8
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
Log Message:
-----------
[AMDGPU][NFC] Added test for live-in CSR SGPR used partially giving MachineVerifier error (#126696)
Commit: 674dbcfe8f400db65f0d066ea638e977e8b82781
https://github.com/llvm/llvm-project/commit/674dbcfe8f400db65f0d066ea638e977e8b82781
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.comp/equal.pass.cpp
Log Message:
-----------
[libc++][NFC] Use TEST_STD_VER instead of _LIBCPP_STD_VER in re.tokiter.comp/equal.pass.cpp
Commit: d7211693af27760c939b6610f0c79a3ecd2790d2
https://github.com/llvm/llvm-project/commit/d7211693af27760c939b6610f0c79a3ecd2790d2
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] port e5ce0304335dc1cae6856c880d1d4e14dcf8265d
Commit: 60cc3af0d93ecb8bfc9d6bebc6cbc395df3bb4b6
https://github.com/llvm/llvm-project/commit/60cc3af0d93ecb8bfc9d6bebc6cbc395df3bb4b6
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
Log Message:
-----------
[mlir][xegpu] Fix bazel build failure (#128595)
Removes unnecessary headers creating wrong dependencies.
Commit: 275eeb56ddc4c236219f7df9618e7b03ff12e9fb
https://github.com/llvm/llvm-project/commit/275eeb56ddc4c236219f7df9618e7b03ff12e9fb
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
Log Message:
-----------
[gn build] Port 5114b9b386ca
Commit: 87dc245f3e65ee926081e575ffb2e57a32a91ba3
https://github.com/llvm/llvm-project/commit/87dc245f3e65ee926081e575ffb2e57a32a91ba3
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
Log Message:
-----------
[analyzer] Partial revert of #127017 (#128642)
This assertion was hit, as reported by a user.
https://github.com/llvm/llvm-project/issues/128427#issuecomment-2677724438
Ideally, we would reduce and add a regression test for this, but I don't
have the bandwidth for it.
See the summary of the issue #128427 for the reproducer.
Commit: a4656bbc595839b57e6f021aa2a728b4cf321d54
https://github.com/llvm/llvm-project/commit/a4656bbc595839b57e6f021aa2a728b4cf321d54
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/test/Dialect/Tosa/ops.mlir
Log Message:
-----------
[mlir][tosa] Allow conv ops zero point to be variable (#128533)
The TOSA specification allows the zero point of conv ops to be variable
when the dynamic extension is being used, but information about which
extensions are in use is only known when the validation pass is run. A
variable zero point should be allowed in the conv ops verifiers.
In terms of testing, there didn't seem to be an existing set of tests
for the verifiers to add this check to, so the opportunity has been
taken to run the verifiers on the tests in `ops.mlir`. Since the conv2d
test there had variable zero points, this change in functionality is
being tested.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Georgios Pinitas <georgios.pinitas at arm.com>
Commit: b36a18df96f9b8f206ec4b7f1036bdd4701c117e
https://github.com/llvm/llvm-project/commit/b36a18df96f9b8f206ec4b7f1036bdd4701c117e
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-all.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-bti.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-gcs.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pac.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pauthabi.ll
A llvm/test/CodeGen/AArch64/build-attributes-all.ll
A llvm/test/CodeGen/AArch64/build-attributes-bti.ll
A llvm/test/CodeGen/AArch64/build-attributes-gcs.ll
A llvm/test/CodeGen/AArch64/build-attributes-pac.ll
A llvm/test/CodeGen/AArch64/build-attributes-pauthabi.ll
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-all.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-bti.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-attrs.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-headers.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-gcs.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-none.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-numerical-tags.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-out-of-order.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-pac.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections-err.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-aeabi-known.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-bti.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-err-attrs.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-err-headers.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-gcs.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-mixed.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-none.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-numerical-tags.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-out-of-order.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-pac.s
A llvm/test/MC/AArch64/build-attributes-asm-non_aeabi-err.s
A llvm/test/MC/AArch64/build-attributes-asm-non_aeabi.s
Log Message:
-----------
[AArch64][Build Attributes] Improve Parsing and Formatting (#126530)
- Removed assertion for duplicate values as adding them is valid.
- Fix parsing: reject strings for unknown tags, allow any value for
Tag_PAuth_Platform and Tag_PAuth_Schema.
- Print tags by using numbers with comments to reduce compiler-assembler
dependencies.
- Parsing error messages now only point to the symbol (^) instead of
printing it.
Commit: 547a8bc2365d9f1dc7bce52580a3ab64d69c80ed
https://github.com/llvm/llvm-project/commit/547a8bc2365d9f1dc7bce52580a3ab64d69c80ed
Author: Alcaro <floating at muncher.se>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Headers/cpuid.h
M clang/test/Headers/cpuid.c
Log Message:
-----------
[clang][x86] Support -masm=intel in cpuid.h (#127331)
Fixes #127271
Testing mostly done in Compiler Explorer https://godbolt.org/z/q1h3ohxr7
Commit: 85cf95876c4b21ee6ecd0253a2c9de0e90c4a521
https://github.com/llvm/llvm-project/commit/85cf95876c4b21ee6ecd0253a2c9de0e90c4a521
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64] Improve codegen for some fixed-width partial reductions (#126529)
This patch teaches optimizeExtendOrTruncateConversion to bail out
if the user of a zero-extend is a partial reduction intrinsic
that we know will get lowered efficiently to a udot instruction.
Commit: 2a0946bc0dffca89d16cd9d5208ec9416ed8100e
https://github.com/llvm/llvm-project/commit/2a0946bc0dffca89d16cd9d5208ec9416ed8100e
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN][NFC] Match coding standards (#128683)
As per LLVM coding standards
"Variable names should be nouns (as they represent state).
The name should be camel case, and start with an upper
case letter (e.g. Leader or Boats)."
Commit: 7ff87af533a7acf47134eabe656702180d8ad171
https://github.com/llvm/llvm-project/commit/7ff87af533a7acf47134eabe656702180d8ad171
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Host lowering of standalone distribute (#127817)
This patch adds MLIR to LLVM IR translation support for standalone
`omp.distribute` operations, as well as `distribute simd` through
ignoring SIMD information (similarly to `do/for simd`).
Co-authored-by: Dominik Adamski <dominik.adamski at amd.com>
Commit: 88163ca79cab1a9a2be1cfa71000f43fd642d91e
https://github.com/llvm/llvm-project/commit/88163ca79cab1a9a2be1cfa71000f43fd642d91e
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMPIRBuilder] Add support for distribute-parallel-for/do constructs (#127818)
This patch adds codegen for `kmpc_dist_for_static_init` runtime calls,
used to support worksharing a single loop across teams and threads. This
can be used to implement `distribute parallel for/do` support.
Commit: 9fc2f786934599c51427cf6f581450ee951ece4a
https://github.com/llvm/llvm-project/commit/9fc2f786934599c51427cf6f581450ee951ece4a
Author: JaydeepChauhan14 <chauhan.jaydeep.ashwinbhai at intel.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
M llvm/test/CodeGen/X86/llvm.acos.ll
M llvm/test/CodeGen/X86/llvm.asin.ll
M llvm/test/CodeGen/X86/llvm.atan.ll
M llvm/test/CodeGen/X86/llvm.atan2.ll
A llvm/test/CodeGen/X86/llvm.cos.ll
M llvm/test/CodeGen/X86/llvm.cosh.ll
A llvm/test/CodeGen/X86/llvm.sin.ll
M llvm/test/CodeGen/X86/llvm.sinh.ll
M llvm/test/CodeGen/X86/llvm.tan.ll
M llvm/test/CodeGen/X86/llvm.tanh.ll
Log Message:
-----------
[X86][NFC] Added/Updated Trigonometric functions testcases (#127094)
- Added sin/cos testcases.
- Added i686 checks for all testcases.
- Moved fp16 and fp128 cases into separate files.
- Dropped tests for ppc_fp128 type.
- Added global-isel runs as precommit testing for #126931
Commit: 446899e7bed5555c2bacfe0d09c4f4f00c41bc0f
https://github.com/llvm/llvm-project/commit/446899e7bed5555c2bacfe0d09c4f4f00c41bc0f
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Host lowering of distribute-parallel-do/for (#127819)
This patch adds support for translating composite `omp.parallel` +
`omp.distribute` + `omp.wsloop` loops to LLVM IR on the host. This is
done by passing an updated `WorksharingLoopType` to the call to
`applyWorkshareLoop` associated to the lowering of the `omp.wsloop`
operation, so that `__kmpc_dist_for_static_init` is called at runtime in
place of `__kmpc_for_static_init`.
Existing translation rules take care of creating a parallel region to
hold the workshared and workdistributed loop.
Commit: 48397fe41ee67557e00f13f35d60c3c9b8485e89
https://github.com/llvm/llvm-project/commit/48397fe41ee67557e00f13f35d60c3c9b8485e89
Author: David Green <david.green at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
Log Message:
-----------
[AArch64] Add cost model for REV shuffles. (#128498)
These patterns represent rev instructions, which reverse inside a
portion of the full vector. See llvm/test/CodeGen/AArch64/arm64-rev.ll
for codegen tests.
Commit: 56975b4ecd188a77b4f9420ff8aa5d5a72e4e076
https://github.com/llvm/llvm-project/commit/56975b4ecd188a77b4f9420ff8aa5d5a72e4e076
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
Log Message:
-----------
[OpenMPIRBuilder] Split calculation of canonical loop trip count, NFC (#127820)
This patch splits off the calculation of canonical loop trip counts from
the creation of canonical loops. This makes it possible to reuse this
logic to, for instance, populate the `__tgt_target_kernel` runtime call
for SPMD kernels.
This feature is used to simplify one of the existing OpenMPIRBuilder
tests.
Commit: 29e14958090cb01150bda068f721a09d4bb1c36b
https://github.com/llvm/llvm-project/commit/29e14958090cb01150bda068f721a09d4bb1c36b
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-target-spmd.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
Log Message:
-----------
[MLIR][OpenMP] Support target SPMD (#127821)
This patch implements MLIR to LLVM IR translation of host-evaluated loop
bounds, completing initial support for `target teams distribute parallel
do [simd]` and `target teams distribute [simd]`.
Commit: 25c19eb1178a26b09e8ee58c825d4ed0260b70da
https://github.com/llvm/llvm-project/commit/25c19eb1178a26b09e8ee58c825d4ed0260b70da
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/test/Lower/OpenMP/host-eval.f90
Log Message:
-----------
[Flang][OpenMP] Allow host evaluation of loop bounds for distribute (#127822)
This patch adds `target teams distribute [simd]` and equivalent
construct nests to the list of cases where loop bounds can be evaluated
in the host, as they represent kernels for which the trip count must
also be evaluated in advance to the kernel call.
Commit: dfa3af9255fd542fed5149021289404e92a8a6f3
https://github.com/llvm/llvm-project/commit/dfa3af9255fd542fed5149021289404e92a8a6f3
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/test/AST/ByteCode/arrays.cpp
A clang/test/AST/ByteCode/libcxx/pointer-subscript.cpp
Log Message:
-----------
[clang][bytecode] Expand subscript base if of pointer type (#128511)
This is similar to what we do in the AddOffset instruction when adding
an offset to a pointer.
Commit: 820aa438a6ec5e028d96bf6b345f41c585f91572
https://github.com/llvm/llvm-project/commit/820aa438a6ec5e028d96bf6b345f41c585f91572
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
Log Message:
-----------
[mlir][vector] Update tests for xfer permutation lowering (4/N) (#127624)
* Document the remaining test cases, add a note that these are
exercising `TransferOpReduceRank` (addresses an existing TODO).
* Add missing cases (for fixed-width and scalable vectors).
* Remove scalable vectors from the negative test (the masked case) - this test
will also fail with fixed-width vectors. For consistency, lets make all
negative test use fixed-width vectors.
Commit: f95ad44068e48c4d8c66f7d65147349b7dd16efa
https://github.com/llvm/llvm-project/commit/f95ad44068e48c4d8c66f7d65147349b7dd16efa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/vgpr-remat.mir
Log Message:
-----------
AMDGPU: Mark v_mov_b64_pseudo as a VOP1 instruction (#128677)
This is mostly true, and it tricks the rematerialization
code into handling this without special casing it.
Commit: b57e63b07a7b70ebfb5f794648e2102b7c1bd3a3
https://github.com/llvm/llvm-project/commit/b57e63b07a7b70ebfb5f794648e2102b7c1bd3a3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libclc/amdgcn/lib/workitem/get_global_size.cl
Log Message:
-----------
libclc: Stop using asm declarations for r600 on amdgcn for get_global_size (#128692)
Comparing the case where each dimension is used alone, the only codegen
difference is a missed addressing mode fold for the constant offset in the old
version due to an ancient bug.
Commit: 6aeec5eabfe11f017dd4e427ff5e9a4695f2a24a
https://github.com/llvm/llvm-project/commit/6aeec5eabfe11f017dd4e427ff5e9a4695f2a24a
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/Transforms/ConstraintElimination/analysis-invalidation.ll
Log Message:
-----------
[ConstraintElim] Test for #128588
Commit: f8948d3c4754e06cdd3e2903bfbfe74438f6b463
https://github.com/llvm/llvm-project/commit/f8948d3c4754e06cdd3e2903bfbfe74438f6b463
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libclc/clc/include/clc/float/definitions.h
A libclc/clc/include/clc/math/clc_log.h
A libclc/clc/include/clc/math/clc_log10.h
A libclc/clc/include/clc/math/clc_log2.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_log.cl
A libclc/clc/lib/generic/math/clc_log10.cl
A libclc/clc/lib/generic/math/clc_log2.cl
A libclc/clc/lib/generic/math/clc_log_base.h
M libclc/generic/include/clc/math/log10.h
M libclc/generic/lib/math/log.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log2.cl
R libclc/generic/lib/math/log_base.h
Log Message:
-----------
[libclc] Move log/log2/log10 to CLC library (#128540)
This commit also enables fp16 log, which was previously missing.
Other than that, no changes to codegen for AMDGPU/Nvidia targets.
Note that for simplicity this commit doesn't try to refactor or optimize
the implementations. Notably, each log is only implementated for scalar
types; vector types are scalarized. It doesn't look too difficult to
make the implementations suitable for vector codegen, so I'll try that
in a future commit.
There's also an unused implementation of log in clc_log_base.h, whereas
the implementation currently used by libclc targets re-uses log2 with an
additional multiplication. That should also be cleaned up as on first
inspection it looks a more optimal implementation, though it would have
to be checked against the OpenCL CTS for good measure.
Commit: dff2ca424c20c672b418ec86ac3a120fad4fb364
https://github.com/llvm/llvm-project/commit/dff2ca424c20c672b418ec86ac3a120fad4fb364
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
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] Add special case for anonymous unions (#128681)
This fixes the expected output to match the one of the current
interpreter.
Commit: 70de57edcad0055d962e9fe899b347b16a6efaa3
https://github.com/llvm/llvm-project/commit/70de57edcad0055d962e9fe899b347b16a6efaa3
Author: Balazs Benics <benicsbalazs at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/Maintainers.rst
Log Message:
-----------
[clang] Add alternative email for steakhal (#128558)
Both steakhal and balazs-benics-sonarsource accounts are mine. See
#125859
Commit: 0f9720a61b1deea225f172851210550f8a60d49f
https://github.com/llvm/llvm-project/commit/0f9720a61b1deea225f172851210550f8a60d49f
Author: Mikhail Goncharov <goncharov.mikhail at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/Target/BUILD.bazel
Log Message:
-----------
[bazel] port 29e14958090cb01150bda068f721a09d4bb1c36b
Commit: 11766a40972f5cc853e296231e5d90ca3c886cc1
https://github.com/llvm/llvm-project/commit/11766a40972f5cc853e296231e5d90ca3c886cc1
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/include/future
A libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
Log Message:
-----------
[libc++] Don't try to wait on a thread that hasn't started in std::async (#125433)
If the creation of a thread fails, this causes an idle loop that will
never end because the thread wasn't started in the first place.
Fixes #125428
Commit: a93cda47ad97af7c69563b3b02dfd9c9a63faefa
https://github.com/llvm/llvm-project/commit/a93cda47ad97af7c69563b3b02dfd9c9a63faefa
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShuffleChain - pull out repeated getOpcode() calls. NFC.
Commit: e47cd4694851dd71c877b72fa59ec169260cbd32
https://github.com/llvm/llvm-project/commit/e47cd4694851dd71c877b72fa59ec169260cbd32
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineX86ShuffleChain - pass IsMaskedShuffle flag as argument from combineX86ShufflesRecursively instead of computing it internally. NFC.
Prep work toward better handling of shuffle combining across different vector widths.
Commit: 4b29c285645eb0ab8c795044c64072eabd3c041e
https://github.com/llvm/llvm-project/commit/4b29c285645eb0ab8c795044c64072eabd3c041e
Author: Andreas Jonson <andjo403 at hotmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/analysis-invalidation.ll
Log Message:
-----------
[ConstraintElim] Preserve analyses when IR is unchanged. (#128588)
Commit: 089f988f46d7350827c38c1718d47caa56c5a206
https://github.com/llvm/llvm-project/commit/089f988f46d7350827c38c1718d47caa56c5a206
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libc/CMakeLists.txt
Log Message:
-----------
[libc] Fix defaulting the full build
Summary:
This was missing the architecture macros as they were defined just
below.
Commit: d21b2e619a5e23fd2f4cb05f5929990ee517d164
https://github.com/llvm/llvm-project/commit/d21b2e619a5e23fd2f4cb05f5929990ee517d164
Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.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/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
Log Message:
-----------
[SPIR-V] Fix generation of gMIR vs. SPIR-V code from utility methods (#128159)
The SPIR-V Backend uses the same set of utility functions, mostly though
not entirely from SPIRVGlobalRegistry, to generate gMIR and SPIR-V
opcodes, depending on the current stage of translation. This is
controlled by an explicit EmitIR flag rather than the current
translation pass, and there are legacy pieces of code where the EmitIR
flag is declared so that it has a default true value, allowing using
utility functions without explicitly declaring their intent to work
either in gMIR or in SPIR-V part of the lowering process.
While it may be ok to leave this default EmitIR flag as is in generation
of scalar integer/float types, as we don't expect to see any dependent
opcodes derived from such OpTypeXXX instructions, using of EmitIR by
default in aggregation types is a source of hidden logical flaws and
actual issues.
This PR provides a partial fix to the problem by removing default status
of EmitIR, requiring a user call site to explicitly announce its intent
to generate gMIR or SPIR-V code, fixes several cases of misuse of
EmitIR, and, the most important, fixes a nasty logical error that breaks
passing of actually asked EmitIR value by the default value in the
middle of the chain of calls, in the `findSPIRVType` call. The latter
error was a source of issues in the post-instruction selection pass that
has been getting gMIR code where SPIR-V was explicitly requested due to
overloaded with default parameters internal API in SPIRVGlobalRegistry
(most notably, `findSPIRVType`).
Commit: 44d1dbd24c20a0ee93063dcf44d68e2b8f0bf77c
https://github.com/llvm/llvm-project/commit/44d1dbd24c20a0ee93063dcf44d68e2b8f0bf77c
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/ADT/APFloat.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
Log Message:
-----------
[X86][DAGCombiner] Skip x87 fp80 values in `combineFMulOrFDivWithIntPow2` (#128618)
f80 is not a valid IEEE floating-point type.
Closes https://github.com/llvm/llvm-project/issues/128528.
Commit: d23da7d6300ec6732b462d475c331f289170cb83
https://github.com/llvm/llvm-project/commit/d23da7d6300ec6732b462d475c331f289170cb83
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/test/Transforms/InstCombine/load.ll
Log Message:
-----------
[InstCombine] Increase recursion limit to 3 in `simplifyNonNullOperand` (#128695)
Address review comment
https://github.com/llvm/llvm-project/pull/128466#discussion_r1967228790
Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=72781f58efddecee19feb07fec4e6104ef4c4812&to=3853aee61626b0eda06671b4cbbc4cdd1344440c&stat=instructions:u
Commit: 522b05afb636229acd1f2a50eff14a29c79b4a1a
https://github.com/llvm/llvm-project/commit/522b05afb636229acd1f2a50eff14a29c79b4a1a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Construct immutable VPIRBBs for exit blocks at construction(NFC) (#128374)
Constract immutable VPIRBasicBlocks for all exit blocks up front and
keep a list of them. Same as the scalar header, they are leaf nodes of
the VPlan and won't change. Some exit blocks may be unreachable, e.g. if
the scalar epilogue always executes or depending on optimizations.
This simplifies both the way we retrieve the exit blocks as well as
hooking up the exit blocks.
PR: https://github.com/llvm/llvm-project/pull/128374
Commit: 1e0e4169dd00bf8a37cef8d74d0add7861982c4e
https://github.com/llvm/llvm-project/commit/1e0e4169dd00bf8a37cef8d74d0add7861982c4e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
R libclc/generic/include/math/binary_intrin.inc
R libclc/generic/include/math/ternary_intrin.inc
Log Message:
-----------
[libclc][NFC] Remove unused intrinsics helpers (#128708)
We want to move away from using asm declarations to define builtins.
Commit: af68927a831c45b92248b1f6fc24d445be42dd91
https://github.com/llvm/llvm-project/commit/af68927a831c45b92248b1f6fc24d445be42dd91
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/IR/Instruction.cpp
A llvm/test/Transforms/SimplifyCFG/X86/fake-use-considered-when-sinking.ll
Log Message:
-----------
Do not treat llvm.fake.use as a debug instruction (#128684)
The llvm.fake.use intrinsic is used to prevent certain values from being
optimized out for the benefit of debug info; it is not, however, a debug
or pseudo instruction itself and necessarily must not be treated as one,
since its purpose is to act like a normal instruction. In the original
commit that added them, the IR intrinsic however was treated as one in
`getPrevNonDebugInstruction` (but _not_ in `getNextNonDebugInstruction`,
or in the MIR equivalents). This patch correctly treats it as a
non-debug instruction.
Commit: 352c48f278c89ac4c65642d3fadf52032e7fe734
https://github.com/llvm/llvm-project/commit/352c48f278c89ac4c65642d3fadf52032e7fe734
Author: Vikash Gupta <Vikash.Gupta at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/bfis-in-loop.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/selectopt-const.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/ARM/select-imm.ll
M llvm/test/CodeGen/MSP430/shift-amount-threshold.ll
M llvm/test/CodeGen/Thumb/branchless-cmp.ll
Log Message:
-----------
[SelectionDAG] Utilizing target hook convertSelectOfConstantsToMath for SelectwithConstant (#127599)
The Target hook convertSelectOfConstantsToMath() needs to be used within
SimplifySelectCC helper combine function in SelectionDAG Isel, where
generic select folding with constants is happening into simple maths op
using the condition as it is.
It necessarily fixes #121145.
Commit: 4f7d8948d9d9a0d366ac737247abab2246834e05
https://github.com/llvm/llvm-project/commit/4f7d8948d9d9a0d366ac737247abab2246834e05
Author: Ikhlas Ajbar <iajbar at quicinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
A llvm/test/CodeGen/Hexagon/bittracker-regclass.ll
Log Message:
-----------
[Hexagon] Add a case to BitTracker for new register class (#128580)
Code in the HexagonBitTracker checks for a specific register class when
processing sub-registers. A crash occurred due to a register class that
was not handled. The register class is
DoubleRegs_with_isub_hi_in_IntRegsLow8RegClassID, which is a class
formed by creating a register pair when one of the sub registers is a
Low8 integer register.
Fixes #128078
Patch by: Brendon Cahoon
Commit: a12ca57c1cb070be8e0048004c6b4e820029b6ee
https://github.com/llvm/llvm-project/commit/a12ca57c1cb070be8e0048004c6b4e820029b6ee
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][REVEC] Add getScalarizationOverhead helper function to reduce error when REVEC is enabled. (#128530)
Commit: 1affadb7c662a2eb1cfd01fdfa014ffe473c0dc2
https://github.com/llvm/llvm-project/commit/1affadb7c662a2eb1cfd01fdfa014ffe473c0dc2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
Log Message:
-----------
AMDGPU: Drop legacy r600.read.global.size intrinsics from amdgcn (#128700)
These ancient intrinsics were still consumed by the backend for libclc,
which no longer uses them.
Commit: 148111fdcf0e807fe74274b18fcf65c4cff45d63
https://github.com/llvm/llvm-project/commit/148111fdcf0e807fe74274b18fcf65c4cff45d63
Author: Tom Stellard <tstellar at redhat.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
M clang/cmake/caches/Release.cmake
Log Message:
-----------
[CMake][Release] Enable bolt optimization for clang on Linux (#128090)
Also stop buiding the bolt project on other platforms since bolt only
supports ELF.
Commit: 85eb7259d9e1ab57e9fac248096d73505a60c072
https://github.com/llvm/llvm-project/commit/85eb7259d9e1ab57e9fac248096d73505a60c072
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
Log Message:
-----------
[clang] Fix use-after-scope when diagnosting __attribute__((format_matches))
I don't think this will ever crash, but asan complains about it.
SUMMARY: AddressSanitizer: stack-use-after-scope clang/lib/Sema/SemaChecking.cpp:6925:43 in void (anonymous namespace)::CheckFormatHandler::EmitFormatDiagnostic<clang::CharSourceRange>(clang::PartialDiagnostic, clang::SourceLocation, bool, clang::CharSourceRange, llvm::ArrayRef<clang::FixItHint>)
While there switch to stable_sort to not give a flipped error message
half of the time.
Commit: 5fd188833c4cc2f18aa53908fd6237f6a432d629
https://github.com/llvm/llvm-project/commit/5fd188833c4cc2f18aa53908fd6237f6a432d629
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Refactor image operations (#128552)
This patch makes multiple changes to images ops:
1) The assembly format is unified with the rest of the dialect to use
`%0 = spirv.op %1, %2, %3 : f32, f32, f32` rather than having each type
directly attached to each argument.
2) The verification is moved from `SPIRVOps.cpp` to a new file so the
ops can be easier maintained.
3) Majority of C++ verification is removed and moved into ODS.
Verification of `ImageQuerySizeOp` is left in C++ due to the complexity
of rules.
4) `spirv::bitEnumContainsAll` is replaced by
`spirv::bitEnumContainsAny` in `verifyImageOperands`. In this context
`...Any` seems to be the correct function, as we want to check whether
unsupported operand is being used - in opposite to checking if all
unsupported operands are being used.
5) Simplify target tests by removing entry points and adding `Linkage`
capability to the modules.
This change is made in preparation for adding more Image ops. Change to
the assembly format was previously mentioned in #124124.
Commit: f10e0f7321b34693697a0bf895d440f82b32ba54
https://github.com/llvm/llvm-project/commit/f10e0f7321b34693697a0bf895d440f82b32ba54
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/test/CodeGenCXX/merge-functions.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/test/Transforms/MergeFunc/comdat.ll
M llvm/test/Transforms/MergeFunc/linkonce_odr.ll
M llvm/test/Transforms/MergeFunc/merge-linkonce-odr-used.ll
M llvm/test/Transforms/MergeFunc/merge-linkonce-odr-weak-odr-mixed-used.ll
M llvm/test/Transforms/MergeFunc/merge-linkonce-odr.ll
M llvm/test/Transforms/MergeFunc/merge-weak-odr-used.ll
M llvm/test/Transforms/MergeFunc/merge-weak-odr.ll
Log Message:
-----------
[MergeFuncs] Don't introduce calls to (linkonce,weak)_odr functions. (#125050)
Avoid creating new calls to linkonce_odr/weak_odr functions when
merging 2 functions, as this may introduce an infinite call
cycle.
Consider 2 functions below, both present in 2 modules.
Module X
--
define linkonce_odr void @"A"() {
call void @"foo"()
}
define linkonce_odr void @"B"() {
call void @"foo"()
}
---
Module Y
---
global @"g" = @"B"
define linkonce_odr void @"A"() {
%l = load @"g"
call void %l()
}
define linkonce_odr void @"B"() {
call void @"foo"()
}
---
@"A" and @"B" in both modules are semantically equivalent
Module X after function merging:
---
define linkonce_odr void @"A"() {
call void @"foo"()
}
define linkonce_odr void @"B"() {
call void @"A"()
}
---
Module Y is unchanged.
Then the linker picks @"A" from module Y and @"B" from module X. Now there's an infinite call cycle
PR: https://github.com/llvm/llvm-project/pull/125050
Commit: 83c6b1a88852ac6462e2ae58cb4e5ebdeb0eadd3
https://github.com/llvm/llvm-project/commit/83c6b1a88852ac6462e2ae58cb4e5ebdeb0eadd3
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A lldb/examples/python/fzf_history.py
Log Message:
-----------
[lldb] Add fzf_history command to examples (#128571)
Adds a `fzf_history` to the examples directory.
This python command invokes [fzf](https://github.com/junegunn/fzf) to
select from lldb's command history.
Tighter integration is available on macOS, via commands for copy and
paste. The user's chosen history entry back is pasted into the lldb
console (via AppleScript). By pasting it, users have the opportunity to
edit it before running it. This matches how fzf's history search works.
Without copy and paste, the user's chosen history entry is printed to
screen and then run automatically.
Commit: cf3b0368a55c1c285dd80f12b044b58e87a425ac
https://github.com/llvm/llvm-project/commit/cf3b0368a55c1c285dd80f12b044b58e87a425ac
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
Log Message:
-----------
[mlir][tosa][tosa-to-linalg] Add NaN Mode Lowering (#125668)
Add support for NaN propagation lowering in the `tosa-to-linalg` and
`tosa-to-linalg-named` conversions by conditionally checking for NaN in
the case of ignore semantics and materializing the appropriate select
operations. Note that the default behviour of "propagate" matches that
of the arith dialect and so in that case we can avoid creating the
checks altogether.
Add appropriate lit tests including negative tests which check the
various comparisons and selects are materialized as appropriate.
This affects the following TOSA operators:
* arg_max
* max_pool_2d
* clamp
* reduce_max
* reduce_min
* maximum
* minimum
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: a821ae284724f1522297c0b455b1ca5c05fbc270
https://github.com/llvm/llvm-project/commit/a821ae284724f1522297c0b455b1ca5c05fbc270
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_round.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_round.cl
M libclc/generic/lib/math/round.cl
Log Message:
-----------
[libclc] Move round to CLC library (#128721)
Commit: 37559c8401cf9236d561eebd75bd3d70be6ab723
https://github.com/llvm/llvm-project/commit/37559c8401cf9236d561eebd75bd3d70be6ab723
Author: pkarveti <quic_pkarveti at quicinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
A llvm/test/CodeGen/Hexagon/calloperand-v128i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v16i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v32i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v4i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v64i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v8i1.ll
Log Message:
-----------
[Hexagon] Handle Call Operand vxi1 in Hexagon Backend (#128027)
This commit updates the Hexagon backend to handle
vxi1 call operands. It ensures compatibility for
vector types of sizes 4, 8, 16, 32, 64, and 128 x i1 when HVX is
enabled.
~Fixes #59009 and #118879~
Commit: 99207ae835efea859f2d9ed4cce781363c0e1562
https://github.com/llvm/llvm-project/commit/99207ae835efea859f2d9ed4cce781363c0e1562
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp:33:24: error: unused variable
'noSupportOperands' [-Werror,-Wunused-variable]
Commit: 568106c2150f4442ad39d9c58493b962c87763bd
https://github.com/llvm/llvm-project/commit/568106c2150f4442ad39d9c58493b962c87763bd
Author: Julian Lettner <yln at users.noreply.github.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
Log Message:
-----------
[lldb][NFC] Fix comment in lldb/Core/ModuleList.h (#128602)
Commit: 7501c9c0e124139198cf84148a49fe80b9f64cea
https://github.com/llvm/llvm-project/commit/7501c9c0e124139198cf84148a49fe80b9f64cea
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/AsmParser/LLParser.cpp
Log Message:
-----------
[AsmParser] Avoid repeated map lookups (NFC) (#128629)
Commit: 791da3c5c2efc13e952ec4fe041e88428e4a331a
https://github.com/llvm/llvm-project/commit/791da3c5c2efc13e952ec4fe041e88428e4a331a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
Log Message:
-----------
[AsmPrinter] Avoid repeated hash lookups (NFC) (#128630)
Commit: 9388e42a3c67a4399bbc3a427077ea95bac31323
https://github.com/llvm/llvm-project/commit/9388e42a3c67a4399bbc3a427077ea95bac31323
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectOptimize.cpp
Log Message:
-----------
[CodeGen] Avoid repeated hash lookups (NFC) (#128631)
Commit: 43401dd0b5c659047e546efbc55f9f88261142d6
https://github.com/llvm/llvm-project/commit/43401dd0b5c659047e546efbc55f9f88261142d6
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
Log Message:
-----------
[libc++] Make .verify.cpp tests more robust against changing headers (#128703)
This is fixes the tests for the frozen headers, but is an improvement
either way.
Commit: 38f8ca1d1817969d712a7e70e070228eee8a0f3f
https://github.com/llvm/llvm-project/commit/38f8ca1d1817969d712a7e70e070228eee8a0f3f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
Log Message:
-----------
[DebugInfo] Avoid repeated hash lookups (NFC) (#128632)
Commit: 9889de834b0a9fa4a5a222a81a524c75977e41d4
https://github.com/llvm/llvm-project/commit/9889de834b0a9fa4a5a222a81a524c75977e41d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
Log Message:
-----------
[Utils] Avoid repeated hash lookups (NFC) (#128634)
Commit: 8bea51103000e4ac752ecd8ed1550c1c9d105a6b
https://github.com/llvm/llvm-project/commit/8bea51103000e4ac752ecd8ed1550c1c9d105a6b
Author: Marius Kamp <msk at posteo.org>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
A llvm/test/CodeGen/X86/andnot-blsmsk.ll
Log Message:
-----------
[X86] Fold AND(Y, XOR(X, SUB(0, X))) to ANDN(Y, BLSMSK(X)) (#128348)
XOR(X, SUB(0, X)) corresponds to a bitwise-negated BLSMSK instruction
(i.e., x ^ (x - 1)). On its own, this transformation is probably not
really profitable but when the XOR operation is an operand of an AND
operation, we can use an ANDN instruction to reduce the number of
emitted instructions by one.
Fixes #103501.
Commit: e58f475e84545d12c52e177fdea69c0f2bec81df
https://github.com/llvm/llvm-project/commit/e58f475e84545d12c52e177fdea69c0f2bec81df
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
Log Message:
-----------
[mlir][tosa] Move cond_if and while_loop operations to controlflow extension (#128216)
This commit adds the concept of a controlflow extension to the dialect
and updates the validation pass to check conf_if and while_loop are
supported only in the presence of the controlflow extension.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: 53b46bb09474bd22fd097411f9eb4596424116ee
https://github.com/llvm/llvm-project/commit/53b46bb09474bd22fd097411f9eb4596424116ee
Author: Luke Hutton <luke.hutton at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fix crash on attempt to fold int_div by zero (#128682)
Fixes #118268.
Signed-off-by: Luke Hutton <luke.hutton at arm.com>
Commit: f08824b935434b91f7352904a25f6309f2b3e6bd
https://github.com/llvm/llvm-project/commit/f08824b935434b91f7352904a25f6309f2b3e6bd
Author: David Green <david.green at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
Log Message:
-----------
[AArch64] Add udiv and urem uniform tests. NFC
These should cost the same as non-uniform version.
Commit: 24b7759a9dfe5714236957e7d829e2412100a4b7
https://github.com/llvm/llvm-project/commit/24b7759a9dfe5714236957e7d829e2412100a4b7
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
A flang/test/Lower/OpenMP/Todo/assume.f90
A flang/test/Lower/OpenMP/Todo/assumes.f90
A flang/test/Parser/OpenMP/assumption.f90
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[FLANG][OpenMP]Add frontend support for ASSUME and ASSUMES (#120770)
Enough suport to parse correctly formed directives of !$OMP ASSUME and
!$OMP ASSUMES with teh related clauses that go with them: ABSENT,
CONTAINS, NO_OPENPP, NO_OPENMP_ROUTINES, NO_PARALLELISM and HOLDS.
Tests added for unparsing and dump parse-tree.
Semantics support is very minimal and no specific tests added.
The lowering will hit a TODO, and there are tests in Lower/OpenMP/Todo
to make it clear that this is currently expected behaviour.
---------
Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>
Co-authored-by: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Commit: 041b7f508533417bcda4feaa03d6c16ff85275f5
https://github.com/llvm/llvm-project/commit/041b7f508533417bcda4feaa03d6c16ff85275f5
Author: Malavika Samak <malavika.samak at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
Log Message:
-----------
[Wunsafe-buffer-usage] Turn off unsafe-buffer warning for methods annotated with clang::unsafe_buffer_usage attribute (#125671)
Unsafe operation in methods that are already annotated with
clang::unsafe_buffer_usage attribute, should not trigger a warning. This
is because, the developer has already identified the method as unsafe
and warning at every unsafe operation is redundant.
rdar://138644831
---------
Co-authored-by: MalavikaSamak <malavika2 at apple.com>
Commit: d2d469eb7981885eac188bf7988c72d7e85b2d4e
https://github.com/llvm/llvm-project/commit/d2d469eb7981885eac188bf7988c72d7e85b2d4e
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/Verifier/invoke.ll
Log Message:
-----------
[WebAssembly] Make llvm.wasm.throw invokable (#128104)
`llvm.wasm.throw` intrinsic can throw but it was not invokable. Not sure
what the rationale was when it was first written that way, but I think
at least in Emscripten's C++ exception support with the Wasm port of
libunwind, `__builtin_wasm_throw`, which is lowered down to
`llvm.wasm.rethrow`, is used only within `_Unwind_RaiseException`, which
is an one-liner and thus does not need an `invoke`:
https://github.com/emscripten-core/emscripten/blob/720e97f76d6f19e0c6a2d6988988cfe23f0517fb/system/lib/libunwind/src/Unwind-wasm.c#L69
(`_Unwind_RaiseException` is called by `__cxa_throw`, which is generated
by the `throw` C++ keyword)
But this does not address other direct uses of the builtin in C++, whose
use I'm not sure about but is not prohibited. Also other language
frontends may need to use the builtin in different functions, which has
`try`-`catch`es or destructors.
This makes `llvm.wasm.throw` invokable in the backend. To do that, this
adds a custom lowering routine to `SelectionDAGBuilder::visitInvoke`,
like we did for `llvm.wasm.rethrow`.
This does not generate `invoke`s for `__builtin_wasm_throw` yet, which
will be done by a follow-up PR.
Addresses #124710.
Commit: 48db4e8377f8504cf151cf4d2b4ecf33461eedc8
https://github.com/llvm/llvm-project/commit/48db4e8377f8504cf151cf4d2b4ecf33461eedc8
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
M mlir/test/Dialect/Tosa/transpose-fold.mlir
Log Message:
-----------
[mlir][tosa] Change Transpose perms operand to attribute (#128115)
This patch changes the perms operand for Tosa Transpose operator to an
i32 array attribute
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: 4f18f3f09a744ddd05de2188592fa11533ff3054
https://github.com/llvm/llvm-project/commit/4f18f3f09a744ddd05de2188592fa11533ff3054
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/test/CodeGen/RISCV/or-is-add.ll
M llvm/test/CodeGen/RISCV/select-const.ll
M llvm/test/CodeGen/RISCV/select.ll
Log Message:
-----------
[RISCV] Use addiw for or_is_add when or input is sign extended. (#128635)
We prefer to emit addi instead of ori because its more compressible, but
this can pessimize the sext.w removal pass.
If the input to the OR is known to be a sign extended 32 bit value, we
can use addiw instead of addi which will give more power to the sext.w
removal pass. As it is known to produce sign a sign extended value and
only consume the lower 32 bits.
Fixes #128468.
Commit: 0a7809c644485d6650ea01bfe616623f580b24d1
https://github.com/llvm/llvm-project/commit/0a7809c644485d6650ea01bfe616623f580b24d1
Author: Jerry-Ge <jerry.ge at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
Log Message:
-----------
[mlir][tosa] Fix ability to expand ranks with dynamic shape support (#128037)
- Fix ability to expand ranks with dynamic shape support
- Simplify the code
Signed-off-by: Suraj Sudhir <suraj.sudhir at arm.com>
Co-authored-by: Suraj Sudhir <suraj.sudhir at arm.com>
Commit: 43999deb370113945ef86680014f838f55315ee7
https://github.com/llvm/llvm-project/commit/43999deb370113945ef86680014f838f55315ee7
Author: Jon Chesterfield <jonathanchesterfield at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/Basic/Targets/SPIR.h
Log Message:
-----------
[spirv][amdgpu] Set atomic size in the clang target info (#128569)
Problem identified by Joseph. The openmp device runtime uses
__scoped_atomic_load_n and similar which presently hit
```
error: large atomic operation may incur significant performance
penalty; the access size (4 bytes) exceeds the max lock-free size (0 bytes) [-Werror,-Watomic-alignment]
```
This is because the spirv class doesn't set the corresponding field. The
base does, but only if there's a host toolchain, which there isn't.
Commit: 67056c280a7171a3546442013593687d5ad5440b
https://github.com/llvm/llvm-project/commit/67056c280a7171a3546442013593687d5ad5440b
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/test/CodeGen/WebAssembly/half-precision.ll
Log Message:
-----------
[WebAssembly] Support shuffle for F16x8 vectors. (#127857)
Commit: a778930f85b6d17cf31ff0e15964a7c7116e2a9d
https://github.com/llvm/llvm-project/commit/a778930f85b6d17cf31ff0e15964a7c7116e2a9d
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
A mlir/include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.h
A mlir/include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.td
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir][linalg] Create a dedicated target for `LinalgRelayoutInterface` (#128485)
Creates an interface target for `LinalgRelayoutInterface`. This is
primarily to reduce the dependency of `Tensor` on `Linalg` to the
required minimum. For context and rationale, see:
* https://github.com/llvm/llvm-project/issues/127668
Note, I also took the liberty of renaming `LinalgRelayoutInterface` as
`RelayoutOpInterface` (removed `Linalg`, added `Op`).
Commit: 3968ebd00da80a08de84f83a101ebb23710f6631
https://github.com/llvm/llvm-project/commit/3968ebd00da80a08de84f83a101ebb23710f6631
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M bolt/lib/Core/BinaryFunction.cpp
A bolt/test/X86/entry-point-fallthru.s
Log Message:
-----------
[BOLT] Keep multi-entry functions simple in aggregation mode (#128253)
BOLT used to mark multi-entry functions non-simple in non-relocation
mode with the reasoning that we can't move them due to potentially
undetected references. However, in aggregation mode it doesn't apply as
BOLT doesn't perform optimizations.
Relax this constraint in case of an aggregation job.
Test Plan: added entry-point-fallthru.s
Commit: f5675243995dbca22319ed4c0665b3e46138285b
https://github.com/llvm/llvm-project/commit/f5675243995dbca22319ed4c0665b3e46138285b
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
Log Message:
-----------
[BOLT] Fix doTrace in BAT mode (#128546)
When processing BOLTed binaries with BAT section, we used to
indiscriminately use `BAT->getFallthroughsInTrace` to record
fall-throughs, even if the function is not covered by BAT.
Fix that by using non-BAT CFG-based `getFallthroughsInTrace` if the
function is not in BAT.
Test Plan: updated bolt-address-translation-yaml.test
Commit: ab0e6fcaadf158427dfe480e1ae2c0a5ddea98ec
https://github.com/llvm/llvm-project/commit/ab0e6fcaadf158427dfe480e1ae2c0a5ddea98ec
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
Log Message:
-----------
[libc][cmake] Clean up dead code in add_gen_header (#128753)
DATA_FILES CMake argument never existed in the new YAML-based hdrgen
version of add_gen_header function, and thus its uses added in
b1fd6f0996a9d6e6ebfa0cc3df0fe499c5ccdf65 were always dead code.
Remove them to clean up the function implementation.
Co-authored-by: Alexey Samsonov <samsonov at google.com>
Commit: 66af4923ce245a0fd9427db8e4861354576d0866
https://github.com/llvm/llvm-project/commit/66af4923ce245a0fd9427db8e4861354576d0866
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/Handler/RequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ResponseHandler.cpp
A lldb/tools/lldb-dap/Handler/ResponseHandler.h
Log Message:
-----------
[lldb-dap] Refactor reverse request response handlers (NFC) (#128594)
This refactors the response handlers for reverse request to follow the
same architecture as the request handlers. With only two implementation
that might be overkill, but it reduces code duplication and improves
error reporting by storing the sequence ID. This PR also fixes an
unchecked Expected in the old callback for unknown sequence IDs.
Commit: 7c266756ad2eeeb2a9018eb97dc45809922bd49e
https://github.com/llvm/llvm-project/commit/7c266756ad2eeeb2a9018eb97dc45809922bd49e
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
Log Message:
-----------
[gn build] Port 66af4923ce24
Commit: 9102afcd0146e4e0be7e10ecd6a2537a6960cfcd
https://github.com/llvm/llvm-project/commit/9102afcd0146e4e0be7e10ecd6a2537a6960cfcd
Author: Brendan Dahl <brendan.dahl at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/half-precision.ll
Log Message:
-----------
[WebAssembly] Use the same lowerings for f16x8 as other float vectors. (#127897)
This fixes failures to select the various compare operations that
weren't being expanded for f16x8.
Commit: c8136da26c56f44ab6a217853c58f79b88ceeb97
https://github.com/llvm/llvm-project/commit/c8136da26c56f44ab6a217853c58f79b88ceeb97
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
A llvm/test/MC/Disassembler/RISCV/xqci-invalid.txt
Log Message:
-----------
[RISCV] Correctly Decode Unsigned Immediates with Ranges (#128584)
We currently have two operands upstream that are an unsigned immediate
with a range constraint - `uimm8ge32` (for `cm.jalt`) and `uimm5gt3`
(for `qc.shladd`).
Both of these were using `decodeUImmOperand<N>` for decoding. For `Zcmt`
this worked, because the generated decoder automatically checked for
`cm.jt` first because the 8 undefined bits in `cm.jalt` are `000?????`
in `cm.jt` (this is to do with the range lower-bound being a
power-of-two). For Zcmt, this patch is NFC.
We have less luck with `Xqciac` - `qc.shladd` is being decoded where the
`uimm5` field is 3 or lower. This patch fixes this by introducing a
`decodeUImmOperandGE<Width, LowerBound>` helper, which will corretly
return `MCDisassembler::Fail` when the immediate is below the lower
bound.
I have added a test to show the encoding where `uimm5` is equal to 3 is
no longer disassembled as `qc.shladd`.
Commit: f22291c791c8063ef5125392ada3556dd3e62df5
https://github.com/llvm/llvm-project/commit/f22291c791c8063ef5125392ada3556dd3e62df5
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
Log Message:
-----------
[RISCV][NFC] Merge Xqci Decoder Tables (#128140)
RISC-V has multiple decoder tables because there is no guarantee that
non-standard extensions do not overlap with each other.
Qualcomm's Xqci family of extensions are intended to be implemented
together, and therefore we want a single decode table for this group of
extensions. This should be more efficient overall, and allows us to use
tablegen's existing mechanism that finds overlapping encodings within
the group.
To implement this, the key addition is `TRY_TO_DECODE_FEATURE_ANY`,
which will use the provided decoder table if any of the features from
the FeatureBitset (first argument) are enabled, rather than if all are
enabled.
Commit: 00f02fed882822008f8e4733bcdfb84799d9fb39
https://github.com/llvm/llvm-project/commit/00f02fed882822008f8e4733bcdfb84799d9fb39
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/test/MC/RISCV/xrivosvizip-invalid.s
M llvm/test/MC/RISCV/xrivosvizip-valid.s
Log Message:
-----------
[RISCV] Change the vendor prefix for Rivos from "rv." to "ri." (#128761)
There had been concern raised about possible confusion with "rvv". After
internal discussion, we decided to go with an alternate prefix to reduce
possible confusion going forward. The specification document
(https://github.com/rivosinc/rivos-custom-extensions) has been updated.
And also add the XRivosVizip extension to the documentation. I'd missed
that in the initial commit.
Commit: 4357a6603f2c21f343d500778f71494e865262ac
https://github.com/llvm/llvm-project/commit/4357a6603f2c21f343d500778f71494e865262ac
Author: Jeff Niu <jeffniu22 at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
Log Message:
-----------
[mlir][DLTI] Make `getPreferredAlignment` default to `getABIAlignment` (#128754)
Many types don't have a preferred alignment, but often specifying an ABI
alignment is required to implement APIs on top of data layouts. Default
the preferred alignment to `getABIAlignment` to simplify things.
Commit: eacbcbe47744a496ad1651ebd65914f9e6a66f85
https://github.com/llvm/llvm-project/commit/eacbcbe47744a496ad1651ebd65914f9e6a66f85
Author: David Olsen <dolsen at nvidia.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
Log Message:
-----------
[CIR] Upstream type `bool` (#128601)
Support the type `bool` and the literals `true` and `false`. Add the
type `cir::BoolType` and the attribute `cir::BoolAttr` to ClangIR. Add
code in all the necessary places in ClangIR CodeGen to handle and to
recognize the type and the attribute.
Add test cases to existing tests func-simple.cpp and
global-var-simple.cpp.
Commit: f1025e671ef1c1d6a65944cdb3989608cfbc7f0c
https://github.com/llvm/llvm-project/commit/f1025e671ef1c1d6a65944cdb3989608cfbc7f0c
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/AlignOf.h
Log Message:
-----------
[Support] Replace deprecated std::aligned_union, NFCI. (#127417)
All std::aligned_* are deprecated in C++23. Implement the replacement
suggested in P1413R3 using alignas and std::max.
Commit: 5e4938a9918ac0e9c2ed3a9171767e6beafcea47
https://github.com/llvm/llvm-project/commit/5e4938a9918ac0e9c2ed3a9171767e6beafcea47
Author: Thurston Dang <thurston at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
Log Message:
-----------
Exclude hwasan from thread_create_failure.pass.cpp (#128768)
Fixes hwasan buildbot failure
(https://lab.llvm.org/buildbot/#/builders/55/builds/7536/steps/10/logs/stdio)
introduced in https://github.com/llvm/llvm-project/pull/125433 by
excluding this test for hwasan, similar to the existing exclusion of
asan.
Commit: 6a5dd04013a1442ed4c5861216c8c67a81f37ed0
https://github.com/llvm/llvm-project/commit/6a5dd04013a1442ed4c5861216c8c67a81f37ed0
Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Support/AlignOf.h
Log Message:
-----------
[Support] Try to fix AlignedCharArrayUnion with GCC 7.5
Work around "internal compiler error: Segmentation fault", apparently
caused by alignas(Ts...).
Commit: c79e867cd2bbf414f53de169cd4480666303f0dc
https://github.com/llvm/llvm-project/commit/c79e867cd2bbf414f53de169cd4480666303f0dc
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
Log Message:
-----------
[DirectX] Update CBuffer to refer to a `dx.Layout` type (#128697)
This adds support cbuffers based on llvm/wg-hlsl#171 - the type argument
of the CBuffer TargetExtType is either a `dx.Layout` type which reports
its own size, or it's a normal type and we can simply refer to
DataLayout.
Commit: 303d7fa867407e9763f329e94a271e652ccb9ed0
https://github.com/llvm/llvm-project/commit/303d7fa867407e9763f329e94a271e652ccb9ed0
Author: Johannes de Fine Licht <johannes.definelicht at nextsilicon.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
Log Message:
-----------
[MLIR][Interfaces] Make LoopLikeOpInterface inheritable outside of MLIR (#128743)
Many interface methods did not prefix the `mlir` namespace, which
prevented inheriting from this interface from an interface defined
outside the `mlir` namespace. Prefix namespaces everywhere to enable
this.
Commit: 0be3f134c3b0bea0a3f32db55258c776caf616fb
https://github.com/llvm/llvm-project/commit/0be3f134c3b0bea0a3f32db55258c776caf616fb
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/test/CodeGen/DirectX/clamp.ll
M llvm/test/CodeGen/DirectX/discard.ll
A llvm/test/CodeGen/DirectX/unsupported_intrinsic.ll
Log Message:
-----------
[DirectX] only allow intrinsics defined in DXIL.td (#128613)
Fixes #128071
The current behavior lets intrinsics that don't map to a DXILOP slip
through. Nothing catches this until we hit the DXIL validator. This
change fails earlier so we don't encode invalid llvm intrinsics that can
slip through because of clang builtins like `__builtin_reduce_and`
example:
https://hlsl.godbolt.org/z/13rPj18vn
Commit: 2646c36a864aa6a62bc1280e9a8cd2bcd2695349
https://github.com/llvm/llvm-project/commit/2646c36a864aa6a62bc1280e9a8cd2bcd2695349
Author: Christopher Bate <cbate at nvidia.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/TensorCopyInsertion.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
Log Message:
-----------
[mlir][bufferization] Change OneShotModuleBufferize to not analyze or bufferize nested symbol tables (#127726)
The existing OneShotModuleBufferize will analyze and bufferize
operations which are in nested symbol tables (e.g. nested
`builtin.module`, `gpu.module`, or similar operations). This
behavior is untested and likely unintentional given other
limitations of OneShotModuleBufferize (`func.call` can't call
into nested symbol tables). This change reverses the existing
behavior so that the operations considered by the analysis and
bufferization exclude any operations in nested symbol table
scopes. Users who desire to bufferize nested modules can still do
so by applying the transformation in a pass pipeline or in a
custom pass. This further enables controlling the order in which
modules are bufferized as well as allowing use of different
options for different kinds of modules.
Commit: ad94af973a76ecaa3e6a85304a4abe8130e88bdb
https://github.com/llvm/llvm-project/commit/ad94af973a76ecaa3e6a85304a4abe8130e88bdb
Author: David Olsen <dolsen at nvidia.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
Log Message:
-----------
[CIR] React to breaking change to DataLayoutTypeInterface (#128772)
In #128754, `DataLayoutTypeInterface` was changed to give
`getPreferredAlignment` a default implemention. As a result, table-gen
no longer declared `getPreferredAlignment` when defining a class that
contained `[DeclareTypeInterfaceMethods<DataLayoutTypeInterface>]` in
the table-gen definition. That means all of the definitions in
`CIRTypes.cpp`, such as `PointerType::getPreferredAligment`, were
compilation errors.
Delete all the definitions of `getPreferredAlignment`. I verified that
the default implementation does the exact same thing as the explicit
overrides that are being deleted.
Commit: 44ffeecde2658249d57a54f52c11a339f2e6d14e
https://github.com/llvm/llvm-project/commit/44ffeecde2658249d57a54f52c11a339f2e6d14e
Author: Justin Bogner <mail at justinbogner.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Analysis/DXILResource.cpp
A llvm/test/CodeGen/DirectX/Metadata/cbuffer-only.ll
Log Message:
-----------
[DXIL][Analysis] Make sure resource accessors are contiguous (#128696)
When some resource types were present, but not all of them, we were
ending up in a situation where we would fail to initialize the `FirstX`
variables and get incorrect iterators.
Fixes #128560.
Commit: f4a80180f141bbe0e00477db59f6fc6ed4f50a2f
https://github.com/llvm/llvm-project/commit/f4a80180f141bbe0e00477db59f6fc6ed4f50a2f
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/src/stdio/generic/fileno.cpp
Log Message:
-----------
[libc] Move fileno and fdopen to fullbuild only (#128762)
Both fileno and fdopen require interfacing with the opaque FILE struct,
so they shouldn't be enabled in overlay mode. This patch moves both into
fullbuild only on all platforms.
Fixes #128643
Commit: 8beec9fc48194224779e5428b625fe341e617129
https://github.com/llvm/llvm-project/commit/8beec9fc48194224779e5428b625fe341e617129
Author: Michael Jones <michaelrj at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/a64l.cpp
A libc/src/stdlib/a64l.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/a64l_test.cpp
Log Message:
-----------
[libc] implement a64l (#128758)
Implement the posix function a64l.
Standard:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/a64l.html
Commit: 59cee030fb9b8be7ee0a89964ead5120d029deb4
https://github.com/llvm/llvm-project/commit/59cee030fb9b8be7ee0a89964ead5120d029deb4
Author: Reid Kleckner <rnk at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
R clang/utils/creduce-clang-crash.py
A clang/utils/reduce-clang-crash.py
Log Message:
-----------
Generalize creduce-clang-crash.py script to look for cvise (#128592)
cvise reimplements creduce in Python and bundles clang-delta and other
tools. In my experience, it is generally a more robust reduction tool
that is better maintained. I renamed the script to make it tool-neutral,
which also opens up the possibility that we teach it how to
automatically transition over to llvm-reduce and opt/llc to handle LLVM
backend crashes, but that is potential future work.
Internally, the variable names still say "creduce". I kept using the
verb "reduce" because "vise" is not a verb, but the external facing text
has been updated.
Commit: e6f6a1e863895a3378e703525a6d0d293413be33
https://github.com/llvm/llvm-project/commit/e6f6a1e863895a3378e703525a6d0d293413be33
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] uaddsat/usubsat true16 selection in gisel (#128233)
Enable gisel selection for uaddsat and usubsat in true16 flow
This patch includes:
1. Added VGPR_16_Lo128/VGPR_16 to register bank and update register info
for recognizing 16bit regclass id and bit width
2. uaddsat/usubsat test update
Commit: 40566fd674d110185e2d5e72e320369bfab63ede
https://github.com/llvm/llvm-project/commit/40566fd674d110185e2d5e72e320369bfab63ede
Author: Heejin Ahn <aheejin at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
A clang/test/CodeGenCXX/builtins-eh-wasm.cpp
Log Message:
-----------
[WebAssembly] Generate invokes with llvm.wasm.(re)throw (#128105)
Even though `__builtin_wasm_throw`, which is lowered down to
`llvm.wasm.throw`, throws,
```cpp
try {
__builtin_wasm_throw(0, obj);
} catch (...) {
}
```
does not generate `invoke`. This is because we have assumed the
intrinsic cannot be invoked, which doesn't make much sense. (See #128104
for the historical context)
#128104 made `llvm.wasm.throw` intrinsic invokable in the backend. This
actually generates `invoke`s in Clang for `__builtin_wasm_throw`.
While we're at it, this also generates `invoke`s for
`__builtin_wasm_rethrow`, which is actually not used anywhere in C++
support. I haven't deleted it just in case in may have uses later. (For
example, to support rethrow functionality that carries stack trace with
exnref)
Depends on #128104 for the CI to pass.
Fixes #124710.
Commit: 65cf534139ab884d6886810b647dc50e3affaa19
https://github.com/llvm/llvm-project/commit/65cf534139ab884d6886810b647dc50e3affaa19
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M flang/module/cudadevice.f90
Log Message:
-----------
[flang][cuda] Add interfaces for __ldcg, __ldca, __ldcs, __ldlu, __ldcv, __stwb, __stcg, __stcs, __stwt (#128766)
Commit: 789bfdc3e60cad3b8aa6798ed06d24ad62a4bc1d
https://github.com/llvm/llvm-project/commit/789bfdc3e60cad3b8aa6798ed06d24ad62a4bc1d
Author: Paul Floyd <pjfloyd at wanadoo.fr>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M openmp/tools/archer/ompt-tsan.cpp
Log Message:
-----------
[OMPT] Use __tsan_init to detect TSan binaries rather than RunningOnValgrind (#128357)
Switch to using __tsan_init rather than RunningOnValgrind as the means
for detecting TSan instumented binaries. RunningOnValgrind is present in
other libraries (such as Google perftools tcmalloc). An exe that links
with a tcmalloc static library and exports symbols with -rdynamic will
appear to be TSan instrumented even when it is not resulting in "Unable
to fint TSan function ..." messages.
Fixes issue #122319.
Commit: 864071dd7e191ba895abf69dfa6937a2cadaffbe
https://github.com/llvm/llvm-project/commit/864071dd7e191ba895abf69dfa6937a2cadaffbe
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Bazel fixes for a778930f85b6d17cf31ff0e15964a7c7116e2a9d (#128783)
Commit: 30a7c816ee5ca998da960c6ab98e72903de40592
https://github.com/llvm/llvm-project/commit/30a7c816ee5ca998da960c6ab98e72903de40592
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M llvm/lib/Passes/PassBuilderPipelines.cpp
Log Message:
-----------
[LTO][Pipelines][NFC] Exctract isLTOPostLink (#128653)
Commit: a9a445e1b093c4d93bd1793babaf81ccbac828bc
https://github.com/llvm/llvm-project/commit/a9a445e1b093c4d93bd1793babaf81ccbac828bc
Author: Vitaly Buka <vitalybuka at google.com>
Date: 2025-02-25 (Tue, 25 Feb 2025)
Changed paths:
M .github/workflows/release-binaries.yml
M bolt/docs/BinaryAnalysis.md
M bolt/include/bolt/Core/MCPlusBuilder.h
A bolt/include/bolt/Passes/NonPacProtectedRetAnalysis.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Passes/CMakeLists.txt
A bolt/lib/Passes/NonPacProtectedRetAnalysis.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
A bolt/test/X86/entry-point-fallthru.s
M bolt/test/binary-analysis/AArch64/cmdline-args.test
A bolt/test/binary-analysis/AArch64/gs-pacret-autiasp.s
A bolt/test/binary-analysis/AArch64/gs-pacret-multi-bb.s
M bolt/test/binary-analysis/AArch64/lit.local.cfg
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang/Maintainers.rst
M clang/cmake/caches/Release.cmake
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers.rst
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/FormatString.h
M clang/include/clang/Analysis/AnalysisDeclContext.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsSPIRV.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/LangOptions.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
A clang/include/clang/CIR/Passes.h
M clang/include/clang/Sema/HeuristicResolver.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Serialization/ASTBitCodes.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
M clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
M clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
M clang/lib/AST/AttrImpl.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/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/CXXInheritance.cpp
M clang/lib/AST/FormatString.cpp
M clang/lib/Analysis/AnalysisDeclContext.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Headers/cpuid.h
M clang/lib/Headers/hlsl/hlsl_detail.h
M clang/lib/Headers/hlsl/hlsl_intrinsics.h
M clang/lib/Lex/HeaderSearch.cpp
M clang/lib/Sema/AnalysisBasedWarnings.cpp
M clang/lib/Sema/HeuristicResolver.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaSPIRV.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedLambdaCapturesChecker.cpp
M clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
M clang/lib/StaticAnalyzer/Core/RegionStore.cpp
M clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp
M clang/lib/StaticAnalyzer/Core/Store.cpp
M clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
M clang/test/AST/ByteCode/arrays.cpp
A clang/test/AST/ByteCode/libcxx/pointer-subscript.cpp
M clang/test/AST/ByteCode/unions.cpp
A clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars-arc.mm
A clang/test/Analysis/Checkers/WebKit/unretained-local-vars.mm
M clang/test/Analysis/analyzer-config.c
M clang/test/Analysis/ftime-trace.cpp
M clang/test/Analysis/region-store.cpp
R clang/test/Analysis/uninit-asm-goto.cpp
R clang/test/Analysis/uninit-sometimes.cpp
A clang/test/CIR/IR/func.cir
A clang/test/CIR/IR/global.cir
M clang/test/CIR/func-simple.cpp
M clang/test/CIR/global-var-simple.cpp
M clang/test/CMakeLists.txt
M clang/test/CodeGen/memtag-globals-asm.cpp
A clang/test/CodeGenCXX/builtins-eh-wasm.cpp
M clang/test/CodeGenCXX/merge-functions.cpp
A clang/test/CodeGenHLSL/BasicFeatures/ArrayReturn.hlsl
A clang/test/CodeGenHLSL/builtins/reflect.hlsl
A clang/test/CodeGenSPIRV/Builtins/reflect.c
M clang/test/Driver/fprofile-continuous.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/wasm-toolchain.c
M clang/test/Headers/cpuid.c
M clang/test/Modules/explicit-build.cpp
A clang/test/Sema/format-string-matches.c
M clang/test/Sema/format-strings.c
A clang/test/SemaCXX/uninit-asm-goto.cpp
A clang/test/SemaCXX/uninit-sometimes.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
M clang/test/SemaCXX/warn-unsafe-buffer-usage-function-attr.cpp
M clang/test/SemaHLSL/BuiltIns/and-errors.hlsl
A clang/test/SemaHLSL/BuiltIns/reflect-errors.hlsl
A clang/test/SemaSPIRV/BuiltIns/reflect-errors.c
M clang/test/SemaTemplate/concepts-lambda.cpp
M clang/test/lit.cfg.py
M clang/tools/CMakeLists.txt
A clang/tools/cir-opt/CMakeLists.txt
A clang/tools/cir-opt/cir-opt.cpp
M clang/unittests/StaticAnalyzer/BugReportInterestingnessTest.cpp
M clang/unittests/StaticAnalyzer/CheckerRegistration.h
M clang/unittests/StaticAnalyzer/Reusables.h
M clang/unittests/StaticAnalyzer/StoreTest.cpp
R clang/utils/creduce-clang-crash.py
A clang/utils/reduce-clang-crash.py
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_format.inc
M compiler-rt/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cpp
R cross-project-tests/debuginfo-tests/dexter/dex/tools/clang_opt_bisect/Tool.py
M flang-rt/CMakeLists.txt
M flang/docs/Extensions.md
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/Runtime/RTBuilder.h
M flang/include/flang/Optimizer/Dialect/FIRDialect.td
M flang/include/flang/Optimizer/Transforms/Passes.h
M flang/include/flang/Optimizer/Transforms/Passes.td
A flang/include/flang/Optimizer/Transforms/RuntimeFunctions.inc
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Runtime/freestanding-tools.h
M flang/lib/Lower/IO.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/CMakeLists.txt
A flang/lib/Optimizer/Transforms/GenRuntimeCallsForTest.cpp
A flang/lib/Optimizer/Transforms/SetRuntimeCallAttributes.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/module/cudadevice.f90
M flang/test/Driver/mlir-pass-pipeline.f90
M flang/test/Fir/basic-program.fir
M flang/test/Lower/CUDA/cuda-device-proc.cuf
M flang/test/Lower/Intrinsics/ieee_rint_int.f90
M flang/test/Lower/Intrinsics/ieee_rounding.f90
A flang/test/Lower/OpenMP/Todo/assume.f90
A flang/test/Lower/OpenMP/Todo/assumes.f90
M flang/test/Lower/OpenMP/host-eval.f90
M flang/test/Lower/allocatable-assignment.f90
M flang/test/Lower/array-character.f90
R flang/test/Lower/array-copy.f90
R flang/test/Lower/array-derived-assignments.f90
M flang/test/Lower/array-elemental-calls-char-byval.f90
M flang/test/Lower/array-elemental-calls-char.f90
R flang/test/Lower/array-expression.f90
M flang/test/Lower/array-temp.f90
M flang/test/Lower/call-by-value-attr.f90
M flang/test/Lower/call-parenthesized-arg.f90
M flang/test/Lower/character-assignment.f90
R flang/test/Lower/character-concatenation.f90
M flang/test/Lower/character-substrings.f90
M flang/test/Lower/components.f90
M flang/test/Lower/derived-assignments.f90
M flang/test/Lower/entry-statement.f90
M flang/test/Lower/forall/scalar-substring.f90
A flang/test/Parser/OpenMP/assumption.f90
A flang/test/Transforms/set-runtime-call-attributes.fir
A flang/test/Transforms/verify-known-runtime-functions.fir
A flang/test/Utils/generate-checks-for-runtime-funcs.py
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCArchitectures.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdlib.yaml
M libc/src/stdio/generic/fileno.cpp
M libc/src/stdlib/CMakeLists.txt
A libc/src/stdlib/a64l.cpp
A libc/src/stdlib/a64l.h
M libc/test/src/stdlib/CMakeLists.txt
A libc/test/src/stdlib/a64l_test.cpp
M libclc/CMakeLists.txt
M libclc/amdgcn/lib/workitem/get_global_size.cl
M libclc/clc/include/clc/float/definitions.h
A libclc/clc/include/clc/internal/math/clc_sw_fma.h
A libclc/clc/include/clc/math/clc_fma.h
A libclc/clc/include/clc/math/clc_log.h
A libclc/clc/include/clc/math/clc_log10.h
A libclc/clc/include/clc/math/clc_log2.h
A libclc/clc/include/clc/math/clc_nan.h
A libclc/clc/include/clc/math/clc_nan.inc
A libclc/clc/include/clc/math/clc_round.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/lib/clspv/SOURCES
A libclc/clc/lib/clspv/math/clc_sw_fma.cl
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_fma.cl
A libclc/clc/lib/generic/math/clc_fma.inc
A libclc/clc/lib/generic/math/clc_log.cl
A libclc/clc/lib/generic/math/clc_log10.cl
A libclc/clc/lib/generic/math/clc_log2.cl
A libclc/clc/lib/generic/math/clc_log_base.h
A libclc/clc/lib/generic/math/clc_nan.cl
A libclc/clc/lib/generic/math/clc_nan.inc
A libclc/clc/lib/generic/math/clc_round.cl
A libclc/clc/lib/generic/math/clc_sw_fma.cl
A libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_runtime_has_hw_fma32.cl
M libclc/clspv/lib/math/fma.cl
M libclc/generic/include/clc/math/log10.h
R libclc/generic/include/math/binary_intrin.inc
R libclc/generic/include/math/clc_fma.h
R libclc/generic/include/math/ternary_intrin.inc
M libclc/generic/lib/SOURCES
M libclc/generic/lib/gen_convert.py
M libclc/generic/lib/math/clc_exp10.cl
R libclc/generic/lib/math/clc_fma.cl
M libclc/generic/lib/math/clc_fmod.cl
M libclc/generic/lib/math/clc_hypot.cl
M libclc/generic/lib/math/clc_pow.cl
M libclc/generic/lib/math/clc_pown.cl
M libclc/generic/lib/math/clc_powr.cl
M libclc/generic/lib/math/clc_remainder.cl
M libclc/generic/lib/math/clc_remquo.cl
M libclc/generic/lib/math/clc_rootn.cl
M libclc/generic/lib/math/fma.cl
R libclc/generic/lib/math/fma.inc
M libclc/generic/lib/math/log.cl
M libclc/generic/lib/math/log10.cl
M libclc/generic/lib/math/log2.cl
R libclc/generic/lib/math/log_base.h
M libclc/generic/lib/math/nan.cl
M libclc/generic/lib/math/nan.inc
M libclc/generic/lib/math/round.cl
M libclc/generic/lib/math/sincos_helpers.cl
M libclc/spirv/lib/SOURCES
M libclc/spirv/lib/math/fma.cl
R libclc/spirv/lib/math/fma.inc
M libcxx/include/CMakeLists.txt
M libcxx/include/__locale_dir/locale_base_api.h
M libcxx/include/__locale_dir/support/bsd_like.h
M libcxx/include/__locale_dir/support/fuchsia.h
A libcxx/include/__locale_dir/support/linux.h
M libcxx/include/__locale_dir/support/windows.h
M libcxx/include/future
M libcxx/include/module.modulemap
M libcxx/test/libcxx/atomics/atomics.syn/compatible_with_stdatomic.compile.pass.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/filebuf/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/file.streams/fstreams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/input.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/iostream.format/output.streams/traits_mismatch.verify.cpp
M libcxx/test/libcxx/input.output/string.streams/traits_mismatch.verify.cpp
M libcxx/test/std/containers/sequences/array/array.fill/fill.verify.cpp
M libcxx/test/std/containers/sequences/array/array.swap/swap.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/get.verify.cpp
M libcxx/test/std/containers/sequences/array/array.tuple/tuple_element.verify.cpp
M libcxx/test/std/re/re.iter/re.tokiter/re.tokiter.comp/equal.pass.cpp
M libcxx/test/std/strings/basic.string/char.bad.verify.cpp
A libcxx/test/std/thread/futures/futures.async/thread_create_failure.pass.cpp
M libcxx/utils/ci/run-buildbot-container
M lld/test/ELF/aarch64-relocs.s
A lldb/examples/python/fzf_history.py
M lldb/include/lldb/Core/ModuleList.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/Symbol/UnwindPlan.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/API/SBFrame.cpp
M lldb/source/Core/Telemetry.cpp
M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
M lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp
M lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp
M lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/source/Symbol/UnwindPlan.cpp
M lldb/source/Target/RegisterContextUnwind.cpp
M lldb/source/Target/StackFrame.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/test/API/commands/frame/diagnose/dereference-function-return/TestDiagnoseDereferenceFunctionReturn.py
M lldb/test/API/python_api/run_locker/TestRunLocker.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
A lldb/test/API/tools/lldb-dap/source/Makefile
A lldb/test/API/tools/lldb-dap/source/TestDAP_source.py
A lldb/test/API/tools/lldb-dap/source/main.c
M lldb/tools/lldb-dap/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
A lldb/tools/lldb-dap/EventHelper.cpp
A lldb/tools/lldb-dap/EventHelper.h
A lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/BreakpointLocationsHandler.cpp
A lldb/tools/lldb-dap/Handler/CompileUnitsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/CompletionsHandler.cpp
A lldb/tools/lldb-dap/Handler/ConfigurationDoneRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ContinueRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DataBreakpointInfoRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/DisconnectRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/EvaluateRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ExceptionInfoRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LaunchRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/LocationsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ModulesRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/NextRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/PauseRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.cpp
A lldb/tools/lldb-dap/Handler/RequestHandler.h
A lldb/tools/lldb-dap/Handler/ResponseHandler.cpp
A lldb/tools/lldb-dap/Handler/ResponseHandler.h
A lldb/tools/lldb-dap/Handler/RestartRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ScopesRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetDataBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetFunctionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetInstructionBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SetVariableRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/SourceRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StackTraceRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepInRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/StepOutRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/TestGetTargetBreakpointsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/ThreadsRequestHandler.cpp
A lldb/tools/lldb-dap/Handler/VariablesRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/lldb-dap.cpp
M lldb/unittests/Core/TelemetryTest.cpp
M lldb/unittests/UnwindAssembly/ARM64/TestArm64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/PPC64/TestPPC64InstEmulation.cpp
M lldb/unittests/UnwindAssembly/x86/Testx86AssemblyInspectionEngine.cpp
M llvm/docs/CodingStandards.rst
M llvm/docs/GettingInvolved.rst
M llvm/docs/LangRef.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/include/llvm-c/DebugInfo.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/BinaryFormat/Wasm.h
M llvm/include/llvm/Bitcode/LLVMBitCodes.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/MachineBasicBlock.h
A llvm/include/llvm/CodeGen/MachineLateInstrsCleanup.h
M llvm/include/llvm/CodeGen/MachineScheduler.h
M llvm/include/llvm/CodeGen/RDFRegisters.h
M llvm/include/llvm/CodeGen/Register.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/CodeGen/TargetInstrInfo.h
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/CodeGen/TargetSubtargetInfo.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h
A llvm/include/llvm/ExecutionEngine/Orc/GetDylibInterface.h
R llvm/include/llvm/ExecutionEngine/Orc/JITLinkLazyCallThroughManager.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/DIBuilder.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/IR/Metadata.def
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/MC/MCRegister.h
M llvm/include/llvm/ObjectYAML/WasmYAML.h
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Support/AlignOf.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
M llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h
M llvm/lib/Analysis/AliasAnalysis.cpp
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Analysis/DXILResource.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/DebugHandlerBase.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
M llvm/lib/CodeGen/AtomicExpandPass.cpp
M llvm/lib/CodeGen/CodeGen.cpp
M llvm/lib/CodeGen/GlobalISel/LegacyLegalizerInfo.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
M llvm/lib/CodeGen/MachineScheduler.cpp
M llvm/lib/CodeGen/RegAllocGreedy.cpp
M llvm/lib/CodeGen/SelectOptimize.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/WasmEHPrepare.cpp
M llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVCodeViewReader.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
A llvm/lib/ExecutionEngine/Orc/GetDylibInterface.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AsmWriter.cpp
M llvm/lib/IR/DIBuilder.cpp
M llvm/lib/IR/DebugInfoMetadata.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/LLVMContextImpl.h
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Object/WasmObjectFile.cpp
M llvm/lib/ObjectYAML/WasmEmitter.cpp
M llvm/lib/ObjectYAML/WasmYAML.cpp
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Support/APFloat.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h
M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
M llvm/lib/Target/AMDGPU/R600InstrInfo.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
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/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/ARC/ARCInstrInfo.cpp
M llvm/lib/Target/ARC/ARCInstrInfo.h
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.h
M llvm/lib/Target/ARM/Thumb1InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb1InstrInfo.h
M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
M llvm/lib/Target/ARM/Thumb2InstrInfo.h
M llvm/lib/Target/AVR/AVRInstrInfo.cpp
M llvm/lib/Target/AVR/AVRInstrInfo.h
M llvm/lib/Target/BPF/BPFInstrInfo.cpp
M llvm/lib/Target/BPF/BPFInstrInfo.h
M llvm/lib/Target/CSKY/CSKYInstrInfo.cpp
M llvm/lib/Target/CSKY/CSKYInstrInfo.h
M llvm/lib/Target/DirectX/DXILOpLowering.cpp
M llvm/lib/Target/DirectX/DXILWriter/DXILBitcodeWriter.cpp
M llvm/lib/Target/DirectX/DirectXInstrInfo.h
M llvm/lib/Target/DirectX/DirectXRegisterInfo.cpp
M llvm/lib/Target/DirectX/DirectXRegisterInfo.h
M llvm/lib/Target/DirectX/DirectXSubtarget.h
M llvm/lib/Target/Hexagon/HexagonBitTracker.cpp
M llvm/lib/Target/Hexagon/HexagonCallingConv.td
M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonInstrInfo.h
M llvm/lib/Target/Lanai/LanaiInstrInfo.cpp
M llvm/lib/Target/Lanai/LanaiInstrInfo.h
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
M llvm/lib/Target/LoongArch/LoongArchInstrInfo.h
M llvm/lib/Target/M68k/M68kInstrInfo.cpp
M llvm/lib/Target/M68k/M68kInstrInfo.h
M llvm/lib/Target/MSP430/MSP430InstrInfo.cpp
M llvm/lib/Target/MSP430/MSP430InstrInfo.h
M llvm/lib/Target/Mips/Mips16InstrInfo.cpp
M llvm/lib/Target/Mips/Mips16InstrInfo.h
M llvm/lib/Target/Mips/MipsSEInstrInfo.cpp
M llvm/lib/Target/Mips/MipsSEInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.h
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
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/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXRivos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVInstPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.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/SPIRVISelLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVInstrInfo.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
M llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/lib/Target/Sparc/SparcInstrInfo.cpp
M llvm/lib/Target/Sparc/SparcInstrInfo.h
M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
M llvm/lib/Target/SystemZ/SystemZInstrInfo.h
M llvm/lib/Target/VE/VEInstrInfo.cpp
M llvm/lib/Target/VE/VEInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h
M llvm/lib/Target/X86/X86FastPreTileConfig.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86InstrInfo.cpp
M llvm/lib/Target/X86/X86InstrInfo.h
M llvm/lib/Target/XCore/XCoreInstrInfo.cpp
M llvm/lib/Target/XCore/XCoreInstrInfo.h
M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/IPO/SampleContextTracker.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanCFG.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/WindowsManifest/WindowsManifestMerger.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/CostModel/AArch64/div.ll
M llvm/test/Analysis/CostModel/AArch64/rem.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/AArch64/vector-reverse.ll
M llvm/test/Analysis/DXILResource/buffer-frombinding.ll
A llvm/test/Bitcode/subrange_type.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-all.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-bti.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-gcs.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pac.ll
R llvm/test/CodeGen/AArch64/aarch64-build-attributes-pauthabi.ll
M llvm/test/CodeGen/AArch64/arm64-rev.ll
M llvm/test/CodeGen/AArch64/bfis-in-loop.ll
A llvm/test/CodeGen/AArch64/build-attributes-all.ll
A llvm/test/CodeGen/AArch64/build-attributes-bti.ll
A llvm/test/CodeGen/AArch64/build-attributes-gcs.ll
A llvm/test/CodeGen/AArch64/build-attributes-pac.ll
A llvm/test/CodeGen/AArch64/build-attributes-pauthabi.ll
A llvm/test/CodeGen/AArch64/expand-load-got-pseudo.mir
M llvm/test/CodeGen/AArch64/merge-store.ll
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-01.mir
M llvm/test/CodeGen/AArch64/misched-detail-resource-booking-02.mir
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/neon-reverseshuffle.ll
M llvm/test/CodeGen/AArch64/select_cc.ll
M llvm/test/CodeGen/AArch64/selectopt-const.ll
M llvm/test/CodeGen/AArch64/sme-framelower-use-bp.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-extract-subvector.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/usubsat.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.private-memory.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-simplify-libcall-pow-codegen.ll
M llvm/test/CodeGen/AMDGPU/amdgpu.work-item-intrinsics.deprecated.ll
A llvm/test/CodeGen/AMDGPU/atomic-optimizer-promote-i8.ll
M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/copysign-simplify-demanded-bits.ll
M llvm/test/CodeGen/AMDGPU/dagcombine-fmul-sel.ll
M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
M llvm/test/CodeGen/AMDGPU/fcopysign.f16.ll
M llvm/test/CodeGen/AMDGPU/fdiv_flags.f32.ll
M llvm/test/CodeGen/AMDGPU/fma.f16.ll
M llvm/test/CodeGen/AMDGPU/fmed3.ll
M llvm/test/CodeGen/AMDGPU/fneg-combines.f16.ll
M llvm/test/CodeGen/AMDGPU/fneg-modifier-casting.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f32.ll
M llvm/test/CodeGen/AMDGPU/fsqrt.f64.ll
M llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll
M llvm/test/CodeGen/AMDGPU/kernel-argument-dag-lowering.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
M llvm/test/CodeGen/AMDGPU/llvm.log.ll
M llvm/test/CodeGen/AMDGPU/llvm.log10.ll
M llvm/test/CodeGen/AMDGPU/llvm.log2.ll
M llvm/test/CodeGen/AMDGPU/llvm.set.rounding.ll
M llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
M llvm/test/CodeGen/AMDGPU/promote-alloca-array-aggregate.ll
M llvm/test/CodeGen/AMDGPU/pseudo-scalar-transcendental.ll
M llvm/test/CodeGen/AMDGPU/remat-sop.mir
M llvm/test/CodeGen/AMDGPU/rsq.f64.ll
M llvm/test/CodeGen/AMDGPU/shrink-add-sub-constant.ll
A llvm/test/CodeGen/AMDGPU/si-fold-operands-commute-same-operands-assert.mir
A llvm/test/CodeGen/AMDGPU/spill-partial-csr-sgpr-live-ins.mir
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/v_pack.ll
M llvm/test/CodeGen/AMDGPU/vector-alloca-bitcast.ll
M llvm/test/CodeGen/AMDGPU/vgpr-remat.mir
M llvm/test/CodeGen/ARM/select-imm.ll
M llvm/test/CodeGen/ARM/vpadd.ll
A llvm/test/CodeGen/DirectX/Metadata/cbuffer-only.ll
M llvm/test/CodeGen/DirectX/clamp.ll
M llvm/test/CodeGen/DirectX/discard.ll
A llvm/test/CodeGen/DirectX/unsupported_intrinsic.ll
A llvm/test/CodeGen/Hexagon/bittracker-regclass.ll
A llvm/test/CodeGen/Hexagon/calloperand-v128i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v16i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v32i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v4i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v64i1.ll
A llvm/test/CodeGen/Hexagon/calloperand-v8i1.ll
M llvm/test/CodeGen/MSP430/shift-amount-threshold.ll
M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
M llvm/test/CodeGen/NVPTX/atomics.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm60.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm70.ll
A llvm/test/CodeGen/NVPTX/cmpxchg-sm90.ll
M llvm/test/CodeGen/NVPTX/cmpxchg.ll
A llvm/test/CodeGen/NVPTX/cmpxchg.py
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/lit.local.cfg
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
A llvm/test/CodeGen/PowerPC/llvm.sincos.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/or-is-add.ll
M llvm/test/CodeGen/RISCV/rvv/extractelt-fp.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
M llvm/test/CodeGen/RISCV/select-const.ll
M llvm/test/CodeGen/RISCV/select.ll
A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/reflect.ll
A llvm/test/CodeGen/SPIRV/opencl/reflect-error.ll
M llvm/test/CodeGen/SPIRV/read_image.ll
M llvm/test/CodeGen/SPIRV/transcoding/OpImageReadMS.ll
M llvm/test/CodeGen/Thumb/branchless-cmp.ll
M llvm/test/CodeGen/WebAssembly/exception.ll
M llvm/test/CodeGen/WebAssembly/half-precision.ll
A llvm/test/CodeGen/X86/andnot-blsmsk.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/fold-int-pow2-with-fmul-or-fdiv.ll
M llvm/test/CodeGen/X86/fp128-libcalls.ll
M llvm/test/CodeGen/X86/fp16-libcalls.ll
A llvm/test/CodeGen/X86/isel-extract-subvector-non-pow2-elems.ll
M llvm/test/CodeGen/X86/llvm.acos.ll
M llvm/test/CodeGen/X86/llvm.asin.ll
M llvm/test/CodeGen/X86/llvm.atan.ll
M llvm/test/CodeGen/X86/llvm.atan2.ll
A llvm/test/CodeGen/X86/llvm.cos.ll
M llvm/test/CodeGen/X86/llvm.cosh.ll
A llvm/test/CodeGen/X86/llvm.sin.ll
M llvm/test/CodeGen/X86/llvm.sinh.ll
M llvm/test/CodeGen/X86/llvm.tan.ll
M llvm/test/CodeGen/X86/llvm.tanh.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_Foo.tbd
A llvm/test/ExecutionEngine/JITLink/AArch64/Inputs/MachO_main_ret_foo.s
A llvm/test/ExecutionEngine/JITLink/AArch64/MachO_weak_link.test
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-all.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-bti.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-attrs.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-err-headers.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-gcs.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-none.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-numerical-tags.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-out-of-order.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-pac.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections-err.s
R llvm/test/MC/AArch64/aarch64-build-attributes-asm-private-subsections.s
A llvm/test/MC/AArch64/align-code.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-aeabi-known.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-bti.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-err-attrs.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-err-headers.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-gcs.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-mixed.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-none.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-numerical-tags.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-out-of-order.s
A llvm/test/MC/AArch64/build-attributes-asm-aeabi-pac.s
A llvm/test/MC/AArch64/build-attributes-asm-non_aeabi-err.s
A llvm/test/MC/AArch64/build-attributes-asm-non_aeabi.s
A llvm/test/MC/Disassembler/RISCV/xqci-invalid.txt
A llvm/test/MC/PowerPC/case-insensitive-regs.s
A llvm/test/MC/RISCV/xqcilia-invalid.s
A llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/MC/RISCV/xrivosvizip-invalid.s
M llvm/test/MC/RISCV/xrivosvizip-valid.s
M llvm/test/ObjectYAML/wasm/dylink_section.yaml
M llvm/test/Transforms/ConstraintElimination/analysis-invalidation.ll
M llvm/test/Transforms/ConstraintElimination/transfer-samesign-facts.ll
A llvm/test/Transforms/Inline/PowerPC/inline-target-attr.ll
M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-intrinsics.ll
M llvm/test/Transforms/InstCombine/load.ll
M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/MergeFunc/comdat.ll
M llvm/test/Transforms/MergeFunc/linkonce_odr.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr-used.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr-weak-odr-mixed-used.ll
A llvm/test/Transforms/MergeFunc/merge-linkonce-odr.ll
A llvm/test/Transforms/MergeFunc/merge-weak-odr-used.ll
A llvm/test/Transforms/MergeFunc/merge-weak-odr.ll
M llvm/test/Transforms/SLPVectorizer/RISCV/math-function.ll
A llvm/test/Transforms/SLPVectorizer/RISCV/spillcost.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/revec-fix-128169.ll
A llvm/test/Transforms/SLPVectorizer/X86/bv-matched-node-reorder.ll
A llvm/test/Transforms/SimplifyCFG/X86/fake-use-considered-when-sinking.ll
M llvm/test/Verifier/invoke.ll
M llvm/test/tools/llvm-objdump/ELF/private-headers.test
M llvm/test/tools/llvm-symbolizer/skip-line-zero.s
M llvm/test/tools/llvm-symbolizer/sym-verbose.test
M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
M llvm/tools/llvm-objdump/ELFDump.cpp
M llvm/tools/llvm-size/llvm-size.cpp
M llvm/tools/obj2yaml/wasm2yaml.cpp
M llvm/unittests/Analysis/CaptureTrackingTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/IR/MetadataTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
M llvm/utils/mlgo-utils/mlgo/corpus/combine_training_corpus.py
M llvm/utils/mlgo-utils/mlgo/corpus/extract_ir.py
A llvm/utils/mlgo-utils/mlgo/corpus/flags.py
M llvm/utils/release/build_llvm_release.bat
M mlir/cmake/modules/CMakeLists.txt
M mlir/include/mlir/Conversion/GPUToNVVM/GPUToNVVMPass.h
M mlir/include/mlir/Dialect/Affine/Analysis/LoopAnalysis.h
M mlir/include/mlir/Dialect/Affine/Passes.td
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.td
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
M mlir/include/mlir/Dialect/Linalg/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgInterfaces.td
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
A mlir/include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.h
A mlir/include/mlir/Dialect/Linalg/IR/RelayoutOpInterface.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOpBase.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
M mlir/include/mlir/Dialect/Tosa/IR/TosaProfileCompliance.h
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
M mlir/include/mlir/IR/OperationSupport.h
M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
M mlir/include/mlir/Interfaces/LoopLikeInterface.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/AsmParser/AttributeParser.cpp
M mlir/lib/Bindings/Python/IRCore.cpp
M mlir/lib/Bindings/Python/NanobindUtils.h
M mlir/lib/Conversion/GPUCommon/GPUOpsLowering.h
M mlir/lib/Conversion/GPUCommon/IndexIntrinsicsOpLowering.h
M mlir/lib/Conversion/GPUCommon/OpToFuncCallLowering.h
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/lib/Conversion/GPUToNVVM/WmmaOpsToNvvm.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Dialect/Affine/Analysis/LoopAnalysis.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/TensorCopyInsertion.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
A mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeTransposeConv.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaFolders.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaReduceTransposes.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUDialect.cpp
M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
M mlir/lib/IR/Region.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg.mlir
M mlir/test/Dialect/Affine/loop-fusion-2.mlir
M mlir/test/Dialect/Affine/loop-fusion-3.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Affine/loop-fusion-inner.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
M mlir/test/Dialect/LLVMIR/nvvm.mlir
M mlir/test/Dialect/MemRef/resolve-dim-ops.mlir
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
M mlir/test/Dialect/Tosa/constant-op-fold.mlir
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/ops.mlir
M mlir/test/Dialect/Tosa/profile_all_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_fp_unsupported.mlir
M mlir/test/Dialect/Tosa/profile_pro_int_unsupported.mlir
M mlir/test/Dialect/Tosa/tosa-decompose-transpose-conv.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/tosa-reduce-transposes.mlir
M mlir/test/Dialect/Tosa/transpose-fold.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
R mlir/test/Dialect/XeGPU/XeGPUOps.mlir
M mlir/test/Dialect/XeGPU/invalid.mlir
A mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Examples/mlir-opt/loop_fusion_options.mlir
M mlir/test/IR/invalid-builtin-attributes.mlir
M mlir/test/Target/LLVMIR/nvvm/cvt_tf32.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-alloc.mlir
R mlir/test/Target/LLVMIR/nvvm/tcgen05-barriers.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-commit.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-cp.mlir
A mlir/test/Target/LLVMIR/nvvm/tcgen05-fence-wait.mlir
M mlir/test/Target/LLVMIR/nvvm/tcgen05-shift.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_bulk_copy.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_prefetch.mlir
M mlir/test/Target/LLVMIR/nvvm/tma_store_reduce.mlir
M mlir/test/Target/LLVMIR/nvvmir.mlir
M mlir/test/Target/LLVMIR/openmp-llvm.mlir
M mlir/test/Target/LLVMIR/openmp-simd-private.mlir
A mlir/test/Target/LLVMIR/openmp-target-spmd.mlir
M mlir/test/Target/LLVMIR/openmp-todo.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
M mlir/test/Target/SPIRV/selection.mlir
A mlir/test/Target/SPIRV/selection.spv
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lit.cfg.py
M mlir/test/python/ir/operation.py
M offload/plugins-nextgen/host/CMakeLists.txt
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
M openmp/tools/archer/ompt-tsan.cpp
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
M utils/bazel/llvm-project-overlay/lldb/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/Target/BUILD.bazel
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/af42b1142a54...a9a445e1b093
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