[all-commits] [llvm/llvm-project] f92dd0: [mlir][docs] Add quant dialect pass doc into Passe...
Iris Shi via All-commits
all-commits at lists.llvm.org
Wed May 14 19:49:57 PDT 2025
Branch: refs/heads/users/el-ev/riscv-q-ext
Home: https://github.com/llvm/llvm-project
Commit: f92dd0083e8b635e1084cb01dfcc3424ba844d76
https://github.com/llvm/llvm-project/commit/f92dd0083e8b635e1084cb01dfcc3424ba844d76
Author: Kohei Yamaguchi <fix7211 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/docs/Passes.md
Log Message:
-----------
[mlir][docs] Add quant dialect pass doc into Passes.md (NFC) (#139363)
This PR added documentation for the quant dialect passes to `Passes.md`,
as it had not been included.
Commit: eea1e50ac281d667992aa74c1819cd80b8eb634f
https://github.com/llvm/llvm-project/commit/eea1e50ac281d667992aa74c1819cd80b8eb634f
Author: drazi <fengxie83 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/TableGen/Interfaces.cpp
A mlir/test/mlir-tblgen/method-body-with-only-spaces.td
Log Message:
-----------
[mlir-tblgen] trim method body to empty with only spaces to avoid crash (#139568)
method body or default impl must be true empty. Even they contain only
spaces, ``mlir-tblgen`` considers they are non-empty and generates
invalid code lead to segment fault. It's very hard to debug.
```c++
InterfaceMethod<
...
/*methodBody=*/ [{ }], // This must be true empty. Leaving a space here can lead to segment fault which is hard to figure out why
/*defaultImpl=*/ [{
...
}]
```
This PR trim spaces when method body or default implementation of
interface method is not empty. Now ``mlir-tblgen`` generates valid code
even when they contain only spaces.
---------
Co-authored-by: Fung Xie <ftse at nvidia.com>
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: d2dafded03a7e6400c3491cdb0ea7228f414e896
https://github.com/llvm/llvm-project/commit/d2dafded03a7e6400c3491cdb0ea7228f414e896
Author: David Green <david.green at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
Log Message:
-----------
[AArch64] Minor test cleanup for postselectopt-dead-cc-defs.mir. NFC
Remove the duplicate definition of %12
Commit: cdbc297ef53fcc784dc0b5661daaba17ea003f3c
https://github.com/llvm/llvm-project/commit/cdbc297ef53fcc784dc0b5661daaba17ea003f3c
Author: Daan De Meyer <daan.j.demeyer at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
Log Message:
-----------
include-cleaner: Report function decls from __cleanup__ as used (#138669)
Commit: 137aa573ca1862303da21c10528b682b280e75e2
https://github.com/llvm/llvm-project/commit/137aa573ca1862303da21c10528b682b280e75e2
Author: David Green <david.green at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
Log Message:
-----------
[GlobalISel] Add computeNumSignBits for G_BUILD_VECTOR. (#139506)
The code is similar to SelectionDAG::ComputeNumSignBits, but does not
deal with truncating buildvectors.
Commit: ba2dacd276522d483a38f786cce66b16a349446b
https://github.com/llvm/llvm-project/commit/ba2dacd276522d483a38f786cce66b16a349446b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Print use and definition in verifier on violation.
Improves the error message when a use comes before the def by including
the use and def, when print utilities are available.
Commit: c78e65cc980db9542b32049a5d96b00c64cbc47d
https://github.com/llvm/llvm-project/commit/c78e65cc980db9542b32049a5d96b00c64cbc47d
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
Log Message:
-----------
[lldb][plugin] Use counter directly for number of readers (#139252)
Here we were initializing & locking a shared_mutex in a thread, while
releasing it in the parent which may/often turned out to be a different
thread (shared_mutex::unlock_shared is undefined behavior if called from
a thread that doesn't hold the lock).
Switch to counter to more simply keep track of number of readers and
simply lock/unlock rather than utilizing reader mutex to verify last
freed (and so requiring this matching thread init/destroy behavior).
Commit: 6d35ec233525f278cbe06ff3cd49ea276825817f
https://github.com/llvm/llvm-project/commit/6d35ec233525f278cbe06ff3cd49ea276825817f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
A llvm/test/Transforms/ObjCARC/pr138961-regression.ll
Log Message:
-----------
ObjCARC: Fix regression from using ConstantData uselists (#139609)
Fixes regression after 9383fb23e18bb983d0024fb956a0a724ef9eb03d
Commit: 98763433e66dd91bf5f10b1daf03d9373f07912a
https://github.com/llvm/llvm-project/commit/98763433e66dd91bf5f10b1daf03d9373f07912a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
Log Message:
-----------
[clang][bytecode] Optimize enum value range checks (#139672)
Only do the work if we really have to.
Commit: fd3fecfc0936703f2715fe6fea890e81b0b3c2ac
https://github.com/llvm/llvm-project/commit/fd3fecfc0936703f2715fe6fea890e81b0b3c2ac
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lld/ELF/ICF.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
R lld/test/ELF/aarch64-got-merging-icf.s
M lld/test/ELF/icf-preemptible.s
Log Message:
-----------
Revert "[lld] Merge equivalent symbols found during ICF (#134342)"
The change would also merge *non-equivalent* symbols under some circumstances,
see comment with a reproducer on the PR.
> Fixes a correctness issue for AArch64 when ADRP and LDR instructions are
> outlined in separate sections and sections are fed to ICF for
> deduplication.
>
> See test case (based on
> https://github.com/llvm/llvm-project/issues/129122) for details. All
> rodata.* sections are folded into a single section with ICF. This leads
> to all f2_* function sections getting folded into one (as their
> relocation target symbols g* belong to .rodata.g* sections that have
> already been folded into one). Since relocations still refer original g*
> symbols, we end up creating duplicate GOT entry for all such symbols.
> This PR addresses that by tracking such folded symbols and create one
> GOT entry for all such symbols.
>
> Fixes https://github.com/llvm/llvm-project/issues/129122
>
> Co-authored by: @jyknight
This reverts commit 8389d6fad76bd880f02bddce7f0f2612ff0afc40.
Commit: 3de2fa91e17287c0bc45f8080064fc327e803314
https://github.com/llvm/llvm-project/commit/3de2fa91e17287c0bc45f8080064fc327e803314
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
Log Message:
-----------
[clang][bytecode] Avoid classifying in visitArrayElemInit() (#139674)
We usually call this more than once, but the type of the initializer
never changes. Let's classify only once and pass that to
visitArrayElemInit().
Commit: 6456ee056ff2ddce665df2032620207281fedaf8
https://github.com/llvm/llvm-project/commit/6456ee056ff2ddce665df2032620207281fedaf8
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
A llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
Log Message:
-----------
Reapply "[AMDGPU][Scheduler] Refactor ArchVGPR rematerialization during scheduling (#125885)" (#139548)
This reapplies 067caaa and 382a085 (reverting b35f6e2) with fixes to
issues detected by the address sanitizer (MIs have to be removed from
live intervals before being removed from their parent MBB).
Original commit description below.
AMDGPU scheduler's `PreRARematStage` attempts to increase function
occupancy w.r.t. ArchVGPR usage by rematerializing trivial
ArchVGPR-defining instruction next to their single use. It first
collects all eligible trivially rematerializable instructions in the
function, then sinks them one-by-one while recomputing occupancy in all
affected regions each time to determine if and when it has managed to
increase overall occupancy. If it does, changes are committed to the
scheduler's state; otherwise modifications to the IR are reverted and
the scheduling stage gives up.
In both cases, this scheduling stage currently involves repeated queries
for up-to-date occupancy estimates and some state copying to enable
reversal of sinking decisions when occupancy is revealed not to
increase. The current implementation also does not accurately track
register pressure changes in all regions affected by sinking decisions.
This commit refactors this scheduling stage, improving RP tracking and
splitting the stage into two distinct steps to avoid repeated occupancy
queries and IR/state rollbacks.
- Analysis and collection (`canIncreaseOccupancyOrReduceSpill`). The
number of ArchVGPRs to save to reduce spilling or increase function
occupancy by 1 (when there is no spilling) is computed. Then,
instructions eligible for rematerialization are collected, stopping as
soon as enough have been identified to be able to achieve our goal
(according to slightly optimistic heuristics). If there aren't enough of
such instructions, the scheduling stage stops here.
- Rematerialization (`rematerialize`). Instructions collected in the
first step are rematerialized one-by-one. Now we are able to directly
update the scheduler's state since we have already done the occupancy
analysis and know we won't have to rollback any state. Register
pressures for impacted regions are recomputed only once, as opposed to
at every sinking decision.
In the case where the stage attempted to increase occupancy, and if both
rematerializations alone and rescheduling after were unable to improve
occupancy, then all rematerializations are rollbacked.
Commit: 83ce8a44bb7ec52a20fea1f2eb28c7756f46786b
https://github.com/llvm/llvm-project/commit/83ce8a44bb7ec52a20fea1f2eb28c7756f46786b
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Get BuiltinID from the direct callee (#139675)
getBuiltinCallee() just checks the direct callee for its builtin id
anyway, so let's do this ourselves.
Commit: 8ecb958b8f7bc8110fd2bd3e9b023095e7f14c94
https://github.com/llvm/llvm-project/commit/8ecb958b8f7bc8110fd2bd3e9b023095e7f14c94
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/flush04.f90
Log Message:
-----------
[flang][OpenMP][Semantics] resolve objects in the flush arg list (#139522)
Fixes #136583
Normally the flush argument list would contain a DataRef to some
variable. All DataRefs are handled generically in resolve-names and so
the problem wasn't observed. But when a common block name is specified,
this is not parsed as a DataRef. There was already handling in
resolve-directives for OmpObjectList but not for argument lists. I've
added a visitor for FLUSH which ensures all of the arguments have been
resolved.
The test is there to make sure the compiler doesn't crashed encountering
the unresolved symbol. It shows that we currently deny flushing a common
block. I'm not sure that it is right to restrict common blocks from
flush argument lists, but fixing that can come in a different patch.
This one is fixing an ICE.
Commit: 61536f2781834ffabfa1dc4bf0c9e891e25c9ed4
https://github.com/llvm/llvm-project/commit/61536f2781834ffabfa1dc4bf0c9e891e25c9ed4
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
M mlir/include/mlir/Dialect/Func/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/LegalizeForExport.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/OptimizeForNVVM.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/RequestCWrappers.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/RequestCWrappers.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
Log Message:
-----------
[mlir] Retire additional `let constructor` (NFC) (#139390)
Three main changes:
- The pass createRequestCWrappersPass is renamed as
createLLVMRequestCWrappersPass
- createOptimizeForTargetPass is now under the LLVM namespace. It’s
unclear why the NVVM namespace was used initially, as all passes in
LLVMIR/Transforms/Passes.h consistently reside in the LLVM namespace.
- DuplicateFunctionEliminationPass is now in the func namespace.
Commit: 69f4e6009318ab2e0cd852a503f876e839b615fd
https://github.com/llvm/llvm-project/commit/69f4e6009318ab2e0cd852a503f876e839b615fd
Author: Nuko Y. <or at dmc.chat>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/reserveXreg.ll
Log Message:
-----------
[AArch64][test] Fix test failing on unknown options (#139696)
Fixes buildbot failure
https://lab.llvm.org/buildbot/#/builders/16/builds/18873 originating
from #138448. Normally ignored silently but fails on higher error
levels.
Buildbot errors:
```
/b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc < /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll -mtriple=aarch64-unknown-linux-gnu | /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll # RUN: at line 6
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/FileCheck /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/test/CodeGen/AArch64/reserveXreg.ll
+ /b/1/llvm-clang-x86_64-expensive-checks-debian/build/bin/llc -mtriple=aarch64-unknown-linux-gnu
'+reserve-x8' is not a recognized feature for this target (ignoring feature)
'+reserve-x8' is not a recognized feature for this target (ignoring feature)
'+reserve-x16' is not a recognized feature for this target (ignoring feature)
'+reserve-x16' is not a recognized feature for this target (ignoring feature)
'+reserve-x17' is not a recognized feature for this target (ignoring feature)
'+reserve-x17' is not a recognized feature for this target (ignoring feature)
```
Commit: 671cef029fc13ea652ca6605b6b508c0d7332fa9
https://github.com/llvm/llvm-project/commit/671cef029fc13ea652ca6605b6b508c0d7332fa9
Author: David Green <david.green at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/test/Transforms/AggressiveInstCombine/or-shift-chain.ll
Log Message:
-----------
[AggressiveInstcombine] Fold away shift in or reduction chain. (#137875)
If we have `icmp eq or(a, shl(b)), 0` then the shift can be removed so
long as it is nuw or nsw. It is still comparing that some bits are
non-zero.
https://alive2.llvm.org/ce/z/nhrBVX.
This is also true of ne, and true for longer or chains.
Commit: 28b7d6621a70799705b04d2e08dc98a185151d3a
https://github.com/llvm/llvm-project/commit/28b7d6621a70799705b04d2e08dc98a185151d3a
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A llvm/test/TableGen/SubRegsAndAliases.td
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
Log Message:
-----------
[TableGen][CodeGen] Give every leaf register a unique regunit (#139526)
Give every leaf register a unique regunit, even if it has ad hoc
aliases.
Previously only leaf registers *without* ad hoc aliases would get a
unique regunit, but that caused situations where regunits could not be
used to distinguish a register from its subregs. For example:
- Registers A and B alias. They both get regunit 0 only.
- Register C has subregs A and B. It inherits regunits from its subregs,
so it also gets regunit 0 only.
After this fix, registers A and B will get a unique regunit in addition
to the regunit representing the alias, for example:
- A will get regunits 0 and 1.
- B will get regunits 0 and 2.
- C will get regunits 0, 1 and 2.
Commit: d05854dfc8513fab9064c9ca4f3f3eb1c71f525d
https://github.com/llvm/llvm-project/commit/d05854dfc8513fab9064c9ca4f3f3eb1c71f525d
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/docs/TestSuiteGuide.md
Log Message:
-----------
llvm][docs] Use default checkout location in test suite guide (#139264)
Step 2 tells you to checkout "llvm-test-suite" to "test-suite", but I
don't see a particular reason to use a non-default path.
If you're following the instructions exactly, it all works, but if you
autopilot that step it is surprising later when things do not work.
It's not hard for an individual to fix later, but we should suggest the
least surprising thing where we can.
Commit: 2278f5e65b487f7df0c613990b72fedba3ae34af
https://github.com/llvm/llvm-project/commit/2278f5e65b487f7df0c613990b72fedba3ae34af
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readfirstlane.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readlane.ll
Log Message:
-----------
[AMDGPU] Hoist readlane/readfirstlane through unary/binary operands (#129037)
When a read(first)lane is used on a binary operator and the intrinsic is
the only user of the operator, we can move the read(first)lane into the
operand if the other operand is uniform.
Unfortunately IC doesn't let us access UniformityAnalysis and thus we
can't truly check uniformity, we have to do with a basic uniformity
check which only allows constants or trivially uniform intrinsics calls.
We can also do the same for unary and cast operators.
Commit: cece0581916b64cf67e7d4eecf3d1262d4382012
https://github.com/llvm/llvm-project/commit/cece0581916b64cf67e7d4eecf3d1262d4382012
Author: Wang Qiang <736242642 at qq.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
M llvm/test/Object/archive-update.test
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
Log Message:
-----------
[llvm][mlir][NFC] Fix typos in comments and test descriptions (#139688)
This patch fixes several typographical errors in comments and test
files:
1. Corrected "achive" to "archive" in archive-update.test.
2. Fixed "achive" to "achieve" in a comment in
XeGPUSubgroupDistribute.cpp.
3. Corrected "achived" to "achieved" in a test note in
SimpleSIVNoValidityCheckFixedSize.ll.
These changes are non-functional and intended to improve readability and
documentation accuracy.
Signed-off-by: Kane Wang <wangqiang1 at kylinos.cn>
Co-authored-by: Kane Wang <wangqiang1 at kylinos.cn>
Commit: 63ad1492dce7d4acff7ded2d4d657b1b0c1cacc5
https://github.com/llvm/llvm-project/commit/63ad1492dce7d4acff7ded2d4d657b1b0c1cacc5
Author: yanming <ming.yan at terapines.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/docs/Tutorials/transform/Ch0.md
Log Message:
-----------
[mlir][NFC] Fix the MLIR example format to conform to SSA form.
Commit: 3009aa75cae240fc400c65c748a366d584998f9d
https://github.com/llvm/llvm-project/commit/3009aa75cae240fc400c65c748a366d584998f9d
Author: Kadir Cetinkaya <kadircet at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
Log Message:
-----------
[clang][Tooling] Extend special symbol mappings for (U)INTN_C
Commit: 382ad6f2e7050c4134300fbbe275bdbc1ff5442c
https://github.com/llvm/llvm-project/commit/382ad6f2e7050c4134300fbbe275bdbc1ff5442c
Author: jyli0116 <yu.li at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/bitreverse.ll
Log Message:
-----------
[GISel][AArch64] Added more efficient lowering of Bitreverse (#139233)
GlobalISel was previously inefficient in handling bitreverses of vector
types. This deals with i16, i32, i64 vector types and converts them into
i8 bitreverses and rev instructions.
Commit: 91f3cdbd4f173c534d718322ef6b1ec537024af6
https://github.com/llvm/llvm-project/commit/91f3cdbd4f173c534d718322ef6b1ec537024af6
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
A mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
A mlir/test/Dialect/GPU/promote-shuffle-amdgpu.mlir
Log Message:
-----------
[mlir][gpu] Pattern to promote `gpu.shuffle` to specialized AMDGPU ops (#137109)
Only swizzle promotion for now, may add DPP ops support later.
Commit: 7866c4091eb3badd8e0f145a200c8a3d11849ef5
https://github.com/llvm/llvm-project/commit/7866c4091eb3badd8e0f145a200c8a3d11849ef5
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/test/Parser/cxx-invalid-function-decl.cpp
Log Message:
-----------
Fix crash with invalid member function param list (#139595)
We cannot consume annotation tokens with ConsumeToken(), so any pragmas
present in an invalid initializer would previously crash. Now we handle
annotation tokens more generally and avoid the crash.
Fixes #113722
Commit: 49ee674e5de272e9a1f439d37533646f63933594
https://github.com/llvm/llvm-project/commit/49ee674e5de272e9a1f439d37533646f63933594
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
Log Message:
-----------
[NFC][LLVM][CodeGen][X86] Add ConstantInt/FP based vector support to MachineInstr fixup and printing code. (#137331)
When -use-constant-{int,fp}-for-fixed-length-splat are enabled, constant
vector splats take the form of ConstantInt/FP instead of ConstantVector.
These constants get linked to MachineInstrs via constant pools for later
processing. The processing assumes ConstantInt/FP to always represent
scalar constants with this PR extending the code to support vector
types.
NOTE: The test choices are somewhat artificial because pretty much all
the vector tests failed without these changes when the new constants are
enabled.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 655151a7e0c7f67cf3959b79e62ccafdf7053a3e
https://github.com/llvm/llvm-project/commit/655151a7e0c7f67cf3959b79e62ccafdf7053a3e
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libclc/clc/include/clc/geometric/binary_decl.inc
A libclc/clc/include/clc/geometric/binary_def.inc
A libclc/clc/include/clc/geometric/clc_distance.h
M libclc/clc/include/clc/geometric/clc_dot.h
R libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/geometric/clc_fast_distance.h
A libclc/clc/include/clc/geometric/clc_fast_length.h
A libclc/clc/include/clc/geometric/clc_length.h
R libclc/clc/include/clc/geometric/floatn.inc
A libclc/clc/include/clc/geometric/unary_decl.inc
A libclc/clc/include/clc/geometric/unary_def.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_distance.cl
A libclc/clc/lib/generic/geometric/clc_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_distance.cl
A libclc/clc/lib/generic/geometric/clc_fast_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_length.cl
A libclc/clc/lib/generic/geometric/clc_length.cl
A libclc/clc/lib/generic/geometric/clc_length.inc
M libclc/generic/include/clc/geometric/distance.h
R libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/dot.h
R libclc/generic/include/clc/geometric/dot.inc
M libclc/generic/include/clc/geometric/fast_distance.h
R libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
R libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
R libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/geometric/length.h
R libclc/generic/include/clc/geometric/length.inc
M libclc/generic/include/clc/geometric/normalize.h
R libclc/generic/include/clc/geometric/normalize.inc
M libclc/generic/lib/geometric/distance.cl
R libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
R libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
Log Message:
-----------
[libclc] Move (fast) length & distance to CLC library (#139701)
This commit also refactors how geometric builtins are defined and
declared, by sharing more helpers. It also removes an unnecessary
gentype-like helper in favour of the more complete math/gentype.inc.
There are no changes to the IR for any of these four builtins.
The 'normalize' builtin will follow in a subsequent commit because it
would involve the addition of missing halfn-type overloads for
completeness.
Commit: 0e8f0b51ff598689b5eccc8b28c402b0dbcc97be
https://github.com/llvm/llvm-project/commit/0e8f0b51ff598689b5eccc8b28c402b0dbcc97be
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libclc/clc/lib/generic/geometric/clc_length.inc
Log Message:
-----------
[libclc][NFC] Fix return after else
Commit: 95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9
https://github.com/llvm/llvm-project/commit/95c683fc1b8cd4f008b3dddaadfa7b5edb1e25e9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libclc/clc/include/clc/math/clc_ilogb.h
A libclc/clc/include/clc/math/clc_logb.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/unary_decl_with_int_return.inc
A libclc/clc/include/clc/math/unary_def_with_int_return.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/math/clc_ilogb.cl
A libclc/clc/lib/generic/math/clc_ilogb.inc
A libclc/clc/lib/generic/math/clc_logb.cl
A libclc/clc/lib/generic/math/clc_logb.inc
M libclc/generic/include/clc/math/ilogb.h
R libclc/generic/include/clc/math/ilogb.inc
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/logb.cl
Log Message:
-----------
[libclc] Move logb/ilogb to CLC library; optimize (#128028)
This commit moves the logb and ilogb builtins to the CLC library.
It simultaneously optimizes them both for vector types and for half
types. Vector types were being scalarized in some cases. Half types were
previously promoting to float, whereas this commit provides them a
native implementation.
Everything passes the OpenCL-CTS.
I had to intuit some magic numbers used by these implementations in
order to generate the half variants. I gave them clearer definitions
derived from what I believe are their actual component numbers, but
named them 'magic' to convey that they weren't derived from first
principles.
Commit: c14acb74423a577e10bbb635109851742e77444f
https://github.com/llvm/llvm-project/commit/c14acb74423a577e10bbb635109851742e77444f
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
Log Message:
-----------
[clang][bytecode] Save Immediate bit in Function (#139671)
Otherwise, we have to look at the FunctionDecl at every function call.
Commit: 9570bf978d77aa53fffb50c60388da8f1bd71e4c
https://github.com/llvm/llvm-project/commit/9570bf978d77aa53fffb50c60388da8f1bd71e4c
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/Target/TargetMacroFusion.td
M llvm/test/TableGen/MacroFusion.td
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
Log Message:
-----------
[TableGen][MacroFusion] Predicate if the first inst has the same register (#137778)
We rename `SameReg` to `SecondInstHasSameReg ` and add
`FirstInstHasSameReg `
which has the logic but applies to the first instruction.
We have some cases that require the first instruction has the same
input/output register.
Commit: e01bdc18e39db1cb3a8968e732a138bfee20ffe5
https://github.com/llvm/llvm-project/commit/e01bdc18e39db1cb3a8968e732a138bfee20ffe5
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
Log Message:
-----------
[LLVM][SelectionDAG] Simplify SplitVecOp_VSETCC. (#139295)
Preserving the original result element type when splitting vector setcc
operations removes redundant extensions that are awkward to optimise
after the fact.
Commit: 9b63bdd15418e90d0c6889d26e490db89ae744d1
https://github.com/llvm/llvm-project/commit/9b63bdd15418e90d0c6889d26e490db89ae744d1
Author: Denzel-Brian Budii <73462654+chios202 at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
A mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchFinder.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/Matcher/Parser.h
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
A mlir/test/mlir-query/complex-test.mlir
M mlir/tools/mlir-query/mlir-query.cpp
Log Message:
-----------
[mlir] Improve mlir-query tool by implementing `getBackwardSlice` and `getForwardSlice` matchers (#115670)
Improve mlir-query tool by implementing `getBackwardSlice` and
`getForwardSlice` matchers. As an addition `SetQuery` also needed to be
added to enable custom configuration for each query. e.g: `inclusive`,
`omitUsesFromAbove`, `omitBlockArguments`.
Note: backwardSlice and forwardSlice algoritms are the same as the ones
in `mlir/lib/Analysis/SliceAnalysis.cpp`
Example of current matcher. The query was made to the file:
`mlir/test/mlir-query/complex-test.mlir`
```mlir
./mlir-query /home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir -c "match getDefinitions(hasOpName(\"arith.add
f\"),2)"
Match #1:
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:5:8:
%0 = linalg.generic {indexing_maps = [#map, #map], iterator_types = ["parallel", "parallel"]} ins(%arg0 : tensor<5x5xf32>) outs(%arg1 : tensor<5x5xf32>) {
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:7:10: note: "root" binds here
%2 = arith.addf %in, %in : f32
^
Match #2:
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:10:16:
%collapsed = tensor.collapse_shape %0 [[0, 1]] : tensor<5x5xf32> into tensor<25xf32>
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:13:11:
%c2 = arith.constant 2 : index
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:14:18:
%extracted = tensor.extract %collapsed[%c2] : tensor<25xf32>
^
/home/dbudii/personal/llvm-project/mlir/test/mlir-query/complex-test.mlir:15:10: note: "root" binds here
%2 = arith.addf %extracted, %extracted : f32
^
2 matches.
```
Commit: ddf124984212718edc65a7a21d0c04eed4d8fcd9
https://github.com/llvm/llvm-project/commit/ddf124984212718edc65a7a21d0c04eed4d8fcd9
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_perf.s
M llvm/test/lit.cfg.py
Log Message:
-----------
[Test] Disable Linux perf test under WSL (#137822)
Linux perf_events is not implemented in WSL1, skip the test that
requires it.
There is just a single test that requires perf_events. It fails under
WSL1 with:
```sh
env JITDUMPDIR=/home/meinersbur/build/llvm-project/release/test/ExecutionEngine/JITLink/x86-64/Output/ELF_perf.s.tmp /home/meinersbur/build/llvm-project/release/bin/llvm-jitlink -perf-support /home/meinersbur/build/llvm-project/release/test/ExecutionEngine/JITLink/x86-64/Output/ELF_perf.s.tmp/ELF_x86-64_perf.o
llvm-jitlink error: PerfState not initialized
```
WSL environment detection logic follows
https://github.com/scivision/detect-windows-subsystem-for-linux/blob/main/is_wsl.py
Also see WSL issue: https://github.com/microsoft/WSL/issues/4595
Commit: ba2b21a584219055c1c8106ba81ca49db538a6a5
https://github.com/llvm/llvm-project/commit/ba2b21a584219055c1c8106ba81ca49db538a6a5
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/test/Dialect/ArmSME/invalid.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-vertical.mlir
Log Message:
-----------
[mlir][ArmSME] Audit ArmSME load/store ops (#139573)
This patch updates the following ArmSME ops to require that input and
output element types match:
* `arm_sme.tile_load`, `arm_sme.tile_store`,
`arm_sme.tile_load_slice`, `arm_sme.tile_store_slice`.
In addition, it ensures that the base memref operand for `tile_load` and
`tile_store` is always rank-2, aligning with the semantics of Arm SME
tiles (always rank-2). This change is effectively a follow-up to
#135151:
* "[mlir][vector] Tighten the semantics of vector.{load|store}"
The patch also updates `createLoadStoreForOverTileSlices` in
ArmSMEToSCF.cpp to fail when processing invalid tile stores like the
following:
```mlir
arm_sme.tile_store %arg0, %arg1[%c0] : memref<?x4xi8>, vector<[4]x[4]xi32>
```
This particular change fixes #118769. As noted in the TODO, we should
further extend op verification logic — I plan to address that in a
follow-up patch.
Commit: 8be514cc96345feb35d8d8a372ee771c6d69a73f
https://github.com/llvm/llvm-project/commit/8be514cc96345feb35d8d8a372ee771c6d69a73f
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Avoid assignmentInAssert warning (#139715)
ExpectedID should be optimized out anyway if built without assertions
because nothing reads its value.
Fixes #90327
Commit: e99ca74dc187a86671dd5b13c89fe2755465078a
https://github.com/llvm/llvm-project/commit/e99ca74dc187a86671dd5b13c89fe2755465078a
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
A llvm/test/Transforms/LoopInterchange/legality-check.ll
Log Message:
-----------
[LoopInterchange] Relax the legality check to accept more patterns (#139690)
When proving the legality of exchanging two loops, it doesn't need to
check the elements of the direction vectors associated with the loops
outside of the two target loops. Before this patch, the legality check
looked at all elements of a direction vector to calculate the
lexicographically order of the vector, which may reject some legal
exchanges. For example, if a direction vector is `[* < =]`, it is safe
to swap the last two loops because the corresponding subsequence of the
vector (`[< =]`) is lexicographically positive for both before and after
the exchange. However, the its order is unknown if we don't drop the
prefix since the first element is `*`. This patch improves the logic of
legality check to ignore such unrelated prefixes of direction vectors.
Commit: 6c6413f3f973862c7275e7baecdd4bb6bcf430c9
https://github.com/llvm/llvm-project/commit/6c6413f3f973862c7275e7baecdd4bb6bcf430c9
Author: pvanhout <pierre.vanhoutryve at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Fixup #139715
The increment must be after the assert, not before, otherwise the assert fails everytime.
Commit: 726d2cf01402e8da9b271008dd10106da45d16ac
https://github.com/llvm/llvm-project/commit/726d2cf01402e8da9b271008dd10106da45d16ac
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Lex/MacroArgs.cpp
Log Message:
-----------
[NFC][Clang] Adopt `TrailingObjects` convenience API in MacroArgs (#139635)
Adopt convenience API for single trailing type added in
https://github.com/llvm/llvm-project/pull/138970.
Commit: 4ee6f74e5540d634199a2cbf1602fdf5cff69330
https://github.com/llvm/llvm-project/commit/4ee6f74e5540d634199a2cbf1602fdf5cff69330
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprOpenMP.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
Log Message:
-----------
[NFC][Clang] Adopt `TrailingObjects` API to build ArrayRef (#139639)
Adopt `getTrailingObjects()` overload that returns an ArrayRef that was
added in https://github.com/llvm/llvm-project/pull/138970.
Commit: 89826f04589af9d309319b3651b609fdd8978631
https://github.com/llvm/llvm-project/commit/89826f04589af9d309319b3651b609fdd8978631
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/tools/lldb-server/lldb-platform.cpp
Log Message:
-----------
[lldb] Fix compilation errors from #138896 (#139711)
- s/size_t/SIZE_T to match the windows API
- case HANDLE to int64_t to avoid cast-to-int-of-different-size
errors/warnings
Commit: 84c1564d1825880d463d9f85153812f1f6805289
https://github.com/llvm/llvm-project/commit/84c1564d1825880d463d9f85153812f1f6805289
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
Log Message:
-----------
[libunwind] Add initial ARM64EC support (#138583)
ARM64EC defines `__x86_64__`, which is sufficient to make most C/C++
code behave correctly. To preserve an external ABI compatible with
x86_64, this patch uses the x86_64 context layout and implements
`unw_getcontext` by storing the appropriate aarch64 registers according
to the mapping defined by the ARM64EC ABI.
Commit: 55c48ee6f1a9b4961c7b1efd2d5bf23d28298ead
https://github.com/llvm/llvm-project/commit/55c48ee6f1a9b4961c7b1efd2d5bf23d28298ead
Author: Luke Lau <luke at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
A llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
Log Message:
-----------
[RISCV] Ignore interleaved accesses with non-default address spaces (#139698)
This fixes a crash introduced in
https://github.com/llvm/llvm-project/pull/137045#issuecomment-2872208568
where we don't have overloaded pointer types for segmented load/store
intrinsics.
This should be temporary until #139634 lands and overloads the pointer
type for these
Commit: 195fe59c11b825548343ba996cf5e26fe2c432f1
https://github.com/llvm/llvm-project/commit/195fe59c11b825548343ba996cf5e26fe2c432f1
Author: Jie Fu <jiefu at tencent.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
Log Message:
-----------
[TableGen] Fix a warning in GlobalISelCombinerEmitter.cpp (NFC)
/llvm-project/llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp:2612:14:
error: variable 'ExpectedID' set but not used [-Werror,-Wunused-but-set-variable]
unsigned ExpectedID = 0;
^
1 error generated.
Commit: d934d17fb3d570bbc42b8cdaaf5225ca5595efb6
https://github.com/llvm/llvm-project/commit/d934d17fb3d570bbc42b8cdaaf5225ca5595efb6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/IR/Properties.td
Log Message:
-----------
[mlir] Call hash_combine_range with a range (NFC) (#139676)
With #136459, we can now invoke hash_combine_range with a range.
Commit: 69ce68109a3df221b507eb2308d5984ee7a71e22
https://github.com/llvm/llvm-project/commit/69ce68109a3df221b507eb2308d5984ee7a71e22
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
Log Message:
-----------
[Serialization] Use StringRef::substr (NFC) (#139678)
StringRef::substr is shorter here because we can rely on its default
second parameter.
Commit: 29a45619f1f8f0e0f0edd4937cf31827d1a4c4d4
https://github.com/llvm/llvm-project/commit/29a45619f1f8f0e0f0edd4937cf31827d1a4c4d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/TableGen/Predicate.cpp
Log Message:
-----------
[mlir] Use std::string::find with std::string_view (NFC) (#139683)
Starting with C++17, std::string::find accepts anything that can be
converted to std::string_view, including StringRef, allowing us to
avoid creating temporary instances of std::string.
Commit: ac583df03b3c1b2cc3ef7ececbeca697f3449bec
https://github.com/llvm/llvm-project/commit/ac583df03b3c1b2cc3ef7ececbeca697f3449bec
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
Log Message:
-----------
[include-cleaner] Use heterogeneous lookups (NFC) (#139685)
Heterogenous lookups allow us to call find with StringRef, avoiding a
temporary heap allocation of std::string.
Commit: 8aaac80ddde6a23527d3caa98ec998ebe402e0d9
https://github.com/llvm/llvm-project/commit/8aaac80ddde6a23527d3caa98ec998ebe402e0d9
Author: Max Graey <maxgraey at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M lld/MachO/SymbolTable.cpp
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
Log Message:
-----------
[NFC] Use more isa and isa_and_nonnull instead dyn_cast for predicates (#137393)
Also fix some typos in comments
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: 75d36dc5a77ba3759eef15aeca925a1400504c89
https://github.com/llvm/llvm-project/commit/75d36dc5a77ba3759eef15aeca925a1400504c89
Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
Log Message:
-----------
[X86][SelectionDAG] Fix the Gather's base and index by modifying the Scale value (#137813)
Fix the Gather's base and index for one use or multiple uses of Index Node. Using the approach to update the Scale if SHL Opcode and followed by truncate.
---------
Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 764e0ccbba02c141b2fc8d869d58694b02119588
https://github.com/llvm/llvm-project/commit/764e0ccbba02c141b2fc8d869d58694b02119588
Author: Mats Petersson <mats.petersson at arm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/reduction-undefined.f90
Log Message:
-----------
[flang][OpenMP]Replace assert with if-condition (#139559)
If a symbol is not declared, check-omp-structure hits an assert. It
should be safe to treat undeclared symbols as "not from a block", as
they would have to be declared to be in a block...
Adding simple test to confirm it gives error messages, not crashing.
This should fix issue #131655 (there is already a check for symbol being
not null in the code identified in the ticket).
Commit: 2ca2e1c9d5e353064586ccc314377dc4ef1bf25d
https://github.com/llvm/llvm-project/commit/2ca2e1c9d5e353064586ccc314377dc4ef1bf25d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Semantics/check-call.cpp
A flang/test/Semantics/call43.f90
Log Message:
-----------
[flang] Tune warning about incompatible implicit interfaces (#136788)
The compiler was emitting a warning about incompatible shapes being used
for two calls to the same procedure with an implicit interface when one
passed a whole array and the other passed a scalar. When the scalar is a
whole element of a contiguous array, however, we must allow for storage
association and not flag it as being a problem.
Commit: e75fda107da8bd6a3993bf1e3cb51dc03e952e23
https://github.com/llvm/llvm-project/commit/e75fda107da8bd6a3993bf1e3cb51dc03e952e23
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/docs/Extensions.md
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Support/Fortran-features.cpp
A flang/test/Semantics/c7108.f90
M flang/test/Semantics/generic09.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
Log Message:
-----------
[flang] Acknowledge non-enforcement of C7108 (#139169)
Fortran 2023 constraint C7108 prohibits the use of a structure
constructor in a way that is ambiguous with a generic function reference
(intrinsic or user-defined). Sadly, no Fortran compiler implements this
constraint, and the common portable interpretation seems to be the
generic resolution, not the structure constructor.
Restructure the processing of structure constructors in expression
analysis so that it can be driven both from the parse tree as well as
from generic resolution, and then use it to detect ambigous structure
constructor / generic function cases, so that a portability warning can
be issued. And document this as a new intentional violation of the
standard in Extensions.md.
Fixes https://github.com/llvm/llvm-project/issues/138807.
Commit: 53f0367ab0fa7e958f42fc07ceb9c38b9b9c74f2
https://github.com/llvm/llvm-project/commit/53f0367ab0fa7e958f42fc07ceb9c38b9b9c74f2
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/definable.h
M flang/lib/Semantics/expression.cpp
M flang/test/Semantics/assign11.f90
A flang/test/Semantics/bug139129.f90
M flang/test/Semantics/call28.f90
M flang/test/Semantics/deallocate07.f90
M flang/test/Semantics/declarations05.f90
Log Message:
-----------
[flang] Fix spurious error on defined assignment in PURE (#139186)
An assignment to a whole polymorphic object in a PURE subprogram that is
implemented by means of a defined assignment procedure shouldn't be
subjected to the same definability checks as it would be for an
intrinsic assignment (which would also require it to be allocatable).
Fixes https://github.com/llvm/llvm-project/issues/139129.
Commit: 936481fdf5b0ab214e381aa96a151ec33348cfca
https://github.com/llvm/llvm-project/commit/936481fdf5b0ab214e381aa96a151ec33348cfca
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/boz-rhs.f90
Log Message:
-----------
[flang] Use LHS type for RHS BOZ on assignment (#139626)
F'2023 allows the right-hand side of an assignment to an integer or real
scalar to be a BOZ literal constant; this has already been supported in
some compilers. The type of the left-hand side variable is used to
convert the value of the BOZ.
Commit: e3f87e15910a5f1c5552fc3ef57e7dda3f68901a
https://github.com/llvm/llvm-project/commit/e3f87e15910a5f1c5552fc3ef57e7dda3f68901a
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/warn-tentative-defn-compat.c
Log Message:
-----------
[C] Fix a false-positive with tentative defn compat (#139738)
C++ has a carve-out that makes a declaration with 'extern' explicitly
specified and no initializer be a declaration rather than a definition.
We now account for that to silence a diagnostic with:
```
extern const int i;
const int i = 12;
```
which is valid C++.
Addresses an issue that was brought up via post-commit review.
Commit: e4b6cc314a459b803ea6b3dc8b63da38d1dd50db
https://github.com/llvm/llvm-project/commit/e4b6cc314a459b803ea6b3dc8b63da38d1dd50db
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
Log Message:
-----------
[RISCV][InsertVSETVLI] Improve LMUL formatting in debug messages
Commit: 4b794c8aff3ba01d95bd29973f45ff776aaee3ed
https://github.com/llvm/llvm-project/commit/4b794c8aff3ba01d95bd29973f45ff776aaee3ed
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/Analysis/ObjCARCUtil.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/test/CodeGen/AArch64/call-rv-marker.ll
Log Message:
-----------
[ObjC] Support objc_claimAutoreleasedReturnValue (#139720)
This adds basic support for objc_claimAutoreleasedReturnValue, which is
mostly equivalent to objc_retainAutoreleasedReturnValue, with the
difference that it doesn't require the marker nop to be emitted between
it and the call it was attached to.
To achieve that, this also teaches the AArch64 attachedcall bundle
lowering to pick whether the marker should be emitted or not based on
whether the attachedcall target is claimARV or retainARV.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: bbb7f0148177d332df80b5cfdc7d161dca289056
https://github.com/llvm/llvm-project/commit/bbb7f0148177d332df80b5cfdc7d161dca289056
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/test/Fir/invalid.fir
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-allocatable1.f90
Log Message:
-----------
[flang] Fix volatile attribute propagation on allocatables (#139183)
Ensure volatility is reflected not just on the reference to an
allocatable, but on the box, too. When we declare a volatile
allocatable, we now get a volatile reference to a volatile box.
Some related cleanups:
* SELECT TYPE constructs check the selector's type for volatility when
creating and designating the type used in the selecting block.
* Refine the verifier for fir.convert. In general, I think it is ok to
implicitly drop volatility in any ptr-to-int conversion because it means
we are in codegen (and representing volatility on the LLVM ops and
intrinsics) or we are calling an external function (are there any cases
I'm not thinking of?)
* An allocatable test that was XFAILed is now passing. Making
allocatables' boxes volatile resulted in accesses of those boxes being
volatile, which resolved some errors coming from the strict verifier.
* I noticed a runtime function was missing the fir.runtime attribute.
Commit: 7e8b3fea43f1dfa1d5611a70d887cba5d79b2da9
https://github.com/llvm/llvm-project/commit/7e8b3fea43f1dfa1d5611a70d887cba5d79b2da9
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
A flang/test/Transforms/dlti-dependency.fir
Log Message:
-----------
[Flang] Add missing dependent dialects to MLIR passes (#139260)
This patch updates several passes to include the DLTI dialect, since
their use of the `fir::support::getOrSetMLIRDataLayout()` utility
function could, in some cases, require this dialect to be loaded in
advance.
Also, the `CUFComputeSharedMemoryOffsetsAndSize` pass has been updated
with a dependency to the GPU dialect, as its invocation to
`cuf::getOrCreateGPUModule()` would result in the same kind of error if
no other operations or attributes from that dialect were present in the
input MLIR module.
Commit: 99f03096697625d14a536c5ac764ca530daa4008
https://github.com/llvm/llvm-project/commit/99f03096697625d14a536c5ac764ca530daa4008
Author: RolandF77 <55763885+RolandF77 at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/test/CodeGen/PowerPC/optimize-vector.ll
M llvm/test/CodeGen/PowerPC/pr47891.ll
Log Message:
-----------
[PowerPC] catch v2i64 shift left by 1 is add case (#138772)
Catch missing case in PPC BE for v2i64 x << 1 and generate x + x.
Commit: f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc
https://github.com/llvm/llvm-project/commit/f4b80b9109a65bd85f1f62d47cfc9f9395e1b5cc
Author: Mariusz Kwiczala <70530507+sfc-gh-mkwiczala at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M llvm/include/llvm/DebugInfo/DIContext.h
A llvm/include/llvm/DebugInfo/GSYM/GsymDIContext.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
A llvm/lib/DebugInfo/GSYM/GsymDIContext.cpp
M llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe.gsym
A llvm/test/tools/llvm-symbolizer/sym-gsymonly.test
M llvm/tools/llvm-symbolizer/Opts.td
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
Log Message:
-----------
LLVM symbolizer gsym support - attempt 2 (#139686)
Add support for gsym files to llvm-symbolizer.
co-author @sfc-gh-sgiesecke
Notes:
There was a PR that was
approved and merged: https://github.com/llvm/llvm-project/pull/134847
and reverted: https://github.com/llvm/llvm-project/pull/139660
Due to buildbot failures:
https://lab.llvm.org/buildbot/#/builders/66/builds/13851 - it looks like
related
https://lab.llvm.org/buildbot/#/builders/51/builds/16018 - it looks like
related
https://lab.llvm.org/buildbot/#/builders/146/builds/2905 - it looks like
it's not related to changes
Fix:
To fix missing GSYM symbols
```
+ diff -u expected.new undefined.new
+_ZN4llvm4gsym10GsymReader8openFileENS_9StringRefE U
+_ZN4llvm4gsym10GsymReaderC1EOS1_ U
+_ZN4llvm4gsym10GsymReaderD1Ev U
+_ZN4llvm4gsym13GsymDIContextC1ENSt20__InternalSymbolizer10unique_ptrINS0_10GsymReaderENS2_14default_deleteIS4_EEEE U
+ echo 'Failed: unexpected symbols'
```
for script
compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
LLVMDebugInfoGSYM was added.
Please check the commit:
https://github.com/llvm/llvm-project/pull/139686/commits/ba55425db9fd8fd1ebb06a4c8d8c95eef213444f
That's the only change compare to
https://github.com/llvm/llvm-project/pull/134847
Commit: 3cf280c16aaf93148db9080a47f24ac76c01bde4
https://github.com/llvm/llvm-project/commit/3cf280c16aaf93148db9080a47f24ac76c01bde4
Author: ykhatav <yashasvi.khatavkar at intel.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/unused_nested_enump.cpp
Log Message:
-----------
Emit nested unused enum types with -fno-eliminate-unused-debug-types (#137818)
Unused types are retained in the debug info when
-fno-eliminate-unused-debug-types is specified.
However, unused nested enums were not being emitted even with this
option.
This patch fixes the missing emission of unused nested enums with
-fno-eliminate-unused-debug-types
Commit: dcd5e476d91da267f49b837c07a84df43b1800cd
https://github.com/llvm/llvm-project/commit/dcd5e476d91da267f49b837c07a84df43b1800cd
Author: Justin Cai <justin.cai at intel.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
Log Message:
-----------
[clang-sycl-linker] Add AOT compilation support for Intel GPUs/CPUs (#133194)
This PR adds support for AOT compilation for Intel CPUs and GPUs in
clang-sycl-linker. When no `-arch` is passed to `clang-sycl-linker`, the
output of the tool will be the resulting linked SPIR-V bytecode. If the
`-arch` is passed to `clang-sycl-linker` and the value is a supported
Intel CPU or GPU, then SPIR-V bytecode is then further passed to the
respective tool (`opencl-aot` or `ocloc`) for AOT compilation.
Commit: 91ea49499325aeff8426135721b1bd432e5b7780
https://github.com/llvm/llvm-project/commit/91ea49499325aeff8426135721b1bd432e5b7780
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A lldb/packages/Python/lldbsuite/test/make/attach.h
M lldb/packages/Python/lldbsuite/test/make/test_common.h
M lldb/test/API/commands/process/attach-resume/main.cpp
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/commands/process/detach-resumes/main.cpp
M lldb/test/API/commands/register/register/register_command/main.cpp
M lldb/test/API/driver/batch_mode/main.c
M lldb/test/API/functionalities/deleted-executable/main.cpp
M lldb/test/API/functionalities/load_after_attach/main.cpp
M lldb/test/API/functionalities/process_group/main.c
M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
M lldb/test/API/iohandler/completion/main.c
M lldb/test/API/python_api/hello_world/main.c
M lldb/test/API/tools/lldb-dap/attach/main.c
M lldb/test/API/tools/lldb-dap/disconnect/main.cpp
M lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
M lldb/test/API/tools/lldb-server/main.cpp
Log Message:
-----------
[lldb] Move lldb_enable_attach from test_common to a separate header (#139550)
test_common is force-included into every compilation, which causes
problems when we're compiling assembly code, as we were in #138805.
This avoids that as we can include the header only when it's needed.
Commit: 1ffdf5325f1009d56d1c62fe6993eab575460de6
https://github.com/llvm/llvm-project/commit/1ffdf5325f1009d56d1c62fe6993eab575460de6
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Introduce add_vl combine for identity operand (#139742)
This is mostly a refactor of the recently added zvqdotq accumulation
path so that I can try merging that with the vwmacc codepaths.
Commit: 224ec839a41f78aa67b6ea88c98849fdb212df59
https://github.com/llvm/llvm-project/commit/224ec839a41f78aa67b6ea88c98849fdb212df59
Author: David Tenty <daltenty at ibm.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M llvm/CMakeLists.txt
M llvm/runtimes/CMakeLists.txt
Log Message:
-----------
[AIX] Opt in to per-target runtime dir (#139620)
Many targets have already migrated to the per-target runtime directory
layout, which is generally preferred. For AIX however, we are currently
using per-target runtime directories by default for some runtimes (i.e.
`flang-rt`) but not others. This change makes things consistent for
other runtimes (most primarily `compiler-rt`) as well, adopting the
layout uniformly for the AIX target.
This change also normalizes the triple used for building compiler-rt to
remove any OS version number, as there is currently no need to version
the runtimes this way and the driver code doesn't expect this anyhow.
Commit: e4106aabfd3ea857ae87fa5c7683e4b460aff104
https://github.com/llvm/llvm-project/commit/e4106aabfd3ea857ae87fa5c7683e4b460aff104
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-i1test.ll
Log Message:
-----------
[X86] avx512-i1test.ll - regenerate to remove whitespace changes. NFC.
Commit: eaa45dc6227e08e9a828297f98005addd668a417
https://github.com/llvm/llvm-project/commit/eaa45dc6227e08e9a828297f98005addd668a417
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Remove unneeded isel (sext_inreg $rs1, i32) isel pattern from RISCVInstrInfoXTHead.td. NFC
This pattern is identical to the pattern for the sext.w encoding of
addiw which has higher priority.
Commit: 7a4af40896496064ed34f89bb6a30fc91c3c2f7a
https://github.com/llvm/llvm-project/commit/7a4af40896496064ed34f89bb6a30fc91c3c2f7a
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libclc/clc/include/clc/geometric/clc_cross.h
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_cross.cl
A libclc/clc/lib/generic/geometric/clc_cross.inc
M libclc/generic/lib/geometric/cross.cl
Log Message:
-----------
[libclc] Move cross to CLC library; add missing half overloads (#139713)
The half overloads are trivially identical to the float and double ones.
It didn't seem worth using 'gentype' for the OpenCL layer or CLC
declarations so they're just written out explicitly. It does help avoid
less trivial repetition in the CLC implementation, though.
Commit: c24890305378979a66ea6d35bee754c03e61178f
https://github.com/llvm/llvm-project/commit/c24890305378979a66ea6d35bee754c03e61178f
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-13 (Tue, 13 May 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:
-----------
[OpenMP][NFC] Use pass by const ref for Dependencies (#139592)
Static analysis flagged the passing of Dependencies to emitTargetCall as
a
place we could use std::move to avoid copying. A closer look indicated
we could
instead turn the parameter into a const & and not have a default value
since it
was only used in two lines in a test and changing those two locations
was easy.
Commit: af6261b50bc2e2dce73ed0f24f6175d460be3b1c
https://github.com/llvm/llvm-project/commit/af6261b50bc2e2dce73ed0f24f6175d460be3b1c
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
Log Message:
-----------
[DAG] visitINSERT_VECTOR_ELT - convert to or mask if all insertions are -1 (#138213)
We did this for 0 and and, but we can do this with or and -1.
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 5198205fb7d0228fdab2c08a24d22e97de673e51
https://github.com/llvm/llvm-project/commit/5198205fb7d0228fdab2c08a24d22e97de673e51
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/ops.mlir
Log Message:
-----------
[mlir][affine] Make [de]linearize_index a valid source of dims (#138929)
There's a sense in which affine.linearize_index and
affine.delinearize_index are special-cases of affine.apply (which get
their own ops to enable better code generation and more accurate
canonicalization). Therefore, allow these operations to be dimension
operands for operations like affine.load just like affine.apply can be.
Commit: 49a6d90bbf120460963972b75d96ffb69dcefb3c
https://github.com/llvm/llvm-project/commit/49a6d90bbf120460963972b75d96ffb69dcefb3c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
Log Message:
-----------
[X86] isel-brcond-fcmp.ll - regenerate checks
Commit: 0187421a8abd25efd79379955771171f86f76367
https://github.com/llvm/llvm-project/commit/0187421a8abd25efd79379955771171f86f76367
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/CodeGen/X86/isel-brcond-icmp.ll
Log Message:
-----------
[X86] isel-brcond-icmp.ll - regenerate checks and add missing X86 test coverage
Add split X86 SDAG/FASTISEL check prefixes
Commit: e7547b25f594eda1325f7e9e0adb364faf5d4db1
https://github.com/llvm/llvm-project/commit/e7547b25f594eda1325f7e9e0adb364faf5d4db1
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic-ranks.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy-multi-key.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-calls.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-ranks-blocks.ll
Log Message:
-----------
[KeyInstr][DwarfDebug] Add is_stmt emission support (#133495)
Interpret Key Instructions metadata to determine is_stmt placement.
The lowest rank (highest precedent) instructions in each {InlinedAt, atomGroup}
set are candidates for is_stmt. Only the last instruction in each set in a given
block gets is_stmt. Calls always get is_stmt.
RFC: https://discourse.llvm.org/t/rfc-improving-is-stmt-placement-for-better-interactive-debugging/82668
Commit: 3f6ef4ecfbb1597dc818cf2819907ab12799ade4
https://github.com/llvm/llvm-project/commit/3f6ef4ecfbb1597dc818cf2819907ab12799ade4
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Cleanup support for C functions (#136854)
This adds basic handling for non-prototype functions in C.
Closes #130200.
Commit: 23f6358ec30918babde2bbf0966e80e689a9363d
https://github.com/llvm/llvm-project/commit/23f6358ec30918babde2bbf0966e80e689a9363d
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/DynamicAllocator.h
Log Message:
-----------
[clang][bytecode][NFC] Delete DynamicAllocator copy/move ctors (#139710)
They should never be needed.
Commit: 131c8f84bb4799ba8dded520791115b3c2b94f29
https://github.com/llvm/llvm-project/commit/131c8f84bb4799ba8dded520791115b3c2b94f29
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenMP.cpp
M clang/test/OpenMP/stripe_messages.cpp
Log Message:
-----------
[OpenMP] Fix crash with invalid size expression (#139745)
We weren't correctly handling size expressions with errors before trying
to get the type of the size expression.
No release note needed because support for 'stripe' was added to the
current release.
Fixes #139433
Commit: 831592d6171bc62f6991387546512b9cf2ce1c9e
https://github.com/llvm/llvm-project/commit/831592d6171bc62f6991387546512b9cf2ce1c9e
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
Log Message:
-----------
[NVPTX] Fixup under-aligned dynamic alloca lowering (#139628)
The alignment on a ISD::DYNAMIC_STACKALLOC node may be 0 to indicate
that the default stack alignment should be used. Prior to this change,
we passed this alignment through unchanged leading to an error in
ptxas. Now, we use the stack-alignment in this case. Also did a little
cleanup while I'm here.
Commit: 41229581a456619c341daca8354b8c9ae1b150df
https://github.com/llvm/llvm-project/commit/41229581a456619c341daca8354b8c9ae1b150df
Author: Ziqing Luo <ziqing at udel.edu>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/exercise-ps.c
Log Message:
-----------
[analyzer] Fix crashing __builtin_bit_cast (#139188)
Previously, CSA did not handle __builtin_bit_cast correctly. It
evaluated the LvalueToRvalue conversion for the casting expression,
but did not actually convert the value of the expression to be of the
destination type.
This commit fixes the problem.
rdar://149987320
Commit: 165d47ef704ae6e93b0b31991efe8feed1f68a09
https://github.com/llvm/llvm-project/commit/165d47ef704ae6e93b0b31991efe8feed1f68a09
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Add missing deps after 91f3cdbd4f173c534d718322ef6b1ec537024af6
Commit: 7038d50d624d43667a7c56501b83e3bb7cc2fe3b
https://github.com/llvm/llvm-project/commit/7038d50d624d43667a7c56501b83e3bb7cc2fe3b
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Xqci Extensions v0.11.0 (#137881)
This updates all the extensions to their version in the v0.11.0 spec.
All changes from this version are already implemented or are not
relevant to LLVM.
This change also alphabetises the lists of Xqci extensions, to make
future checks easier, and removes irrelevant info from the usage docs.
Commit: d9380ec63707be2cf0b0010220e4a34d2dbd107b
https://github.com/llvm/llvm-project/commit/d9380ec63707be2cf0b0010220e4a34d2dbd107b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-extract-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecExtractOp (#139304)
This change adds a folder for the VecExtractOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: e581f1cc9a9fd6933ebf612ec3907a0fc67db1e6
https://github.com/llvm/llvm-project/commit/e581f1cc9a9fd6933ebf612ec3907a0fc67db1e6
Author: lntue <lntue at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/hashtable_fuzz.cpp
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/ENTRY.h
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/src/search/CMakeLists.txt
M libc/src/search/hsearch.h
M libc/src/search/hsearch_r.h
Log Message:
-----------
[libc] Add proxy header for ENTRY type. (#139746)
https://github.com/llvm/llvm-project/issues/139561
Commit: 698fcb1251c301d7dad02dbcd53f5c3bd60622d5
https://github.com/llvm/llvm-project/commit/698fcb1251c301d7dad02dbcd53f5c3bd60622d5
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/test/Dialect/Affine/affine-expand-index-ops.mlir
Log Message:
-----------
[mlir][affine] Set overflow flags when lowering [de]linearize_index (#139612)
By analogy to some changess to the affine.apply lowering which put
`nsw`s on various multiplications, add appropritae overflow flags to the
multiplications and additions that're emitted when lowering
affine.delinearize_index and affine.linearize_index to arith ops.
Commit: 377cb7fb267031e8815c37fa0e5cadd36d227b11
https://github.com/llvm/llvm-project/commit/377cb7fb267031e8815c37fa0e5cadd36d227b11
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
Log Message:
-----------
[CIR] Upstream shift operators for VectorType (#139465)
This change adds support for shift ops for VectorType
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 810148cb0769f61f8afebdaf27a9c1af95de27aa
https://github.com/llvm/llvm-project/commit/810148cb0769f61f8afebdaf27a9c1af95de27aa
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
A llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
Log Message:
-----------
[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV (#139762)
This teaches ObjCARCContract to transform attachedcall bundles
referencing objc_retainAutoreleasedReturnValue to instead reference
objc_claimAutoreleasedReturnValue.
The only distinction between the two is that the latter is required to
be guaranteed to immediately follow the call it's attached to, and, by
construction, the bundles always achieve that by:
- not being separable from the call through IR and the backend
- not getting the marker emitted when claimARV is the attachedcall.
This is enabled only for arm64, arm64e, and arm64_32 on macOS13/iOS16
and related operating systems.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: a891163e506238194b715f901c89a424806c8cf3
https://github.com/llvm/llvm-project/commit/a891163e506238194b715f901c89a424806c8cf3
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
Log Message:
-----------
[mlir][MemRef] Use specialized index ops to fold expand/collapse_shape (#138930)
This PR updates the FoldMemRefAliasOps to use `affine.linearize_index`
and `affine.delinearize_index` to perform the index computations needed
to fold a `memref.expand_shape` or `memref.collapse_shape` into its
consumers, respectively.
This also loosens some limitations of the pass:
1. The existing `output_shape` argument to `memref.expand_shape` is now
used, eliminating the need to re-infer this shape or call `memref.dim`.
2. Because we're using `affine.delinearize_index`, the restriction that
each group in a `memref.collapse_shape` can only have one dynamic
dimension is removed.
Commit: 8af397af65082dc702a3e89797553e8b03e4db5e
https://github.com/llvm/llvm-project/commit/8af397af65082dc702a3e89797553e8b03e4db5e
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep after 810148cb0769f61f8afebdaf27a9c1af95de27aa
Commit: 649b7994fb277950c21eaadac0afcdcca98597c4
https://github.com/llvm/llvm-project/commit/649b7994fb277950c21eaadac0afcdcca98597c4
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll
Log Message:
-----------
[NFC][WPD] Add constant propagation tests checking relative vtables (#138989)
This is a patch with precommitted tests to make
https://github.com/llvm/llvm-project/pull/136630 easier to review. The
`virtual-const-prop-small-alignment-*` tests check the output when the
loaded int alignment is less than the vtable alignment.
This also changes some constants to make it easier to differentiate
between propagated values in vtables.
Commit: 5bb8e9db5f59dc2d3d8658f5b03577f9296be267
https://github.com/llvm/llvm-project/commit/5bb8e9db5f59dc2d3d8658f5b03577f9296be267
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
R llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
Log Message:
-----------
Revert "[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV" (#139780)
Reverts llvm/llvm-project#139762 for breaking bots
Commit: af54c704c764deffb08c2e4cdb70bc59f56867ef
https://github.com/llvm/llvm-project/commit/af54c704c764deffb08c2e4cdb70bc59f56867ef
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX] Refactor intrinsic definitions with loops and classes to remove redundancy (NFC) (#139611)
Commit: 81932945d76a49a4dd222da39afbc18435e66fb0
https://github.com/llvm/llvm-project/commit/81932945d76a49a4dd222da39afbc18435e66fb0
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for ColumnDescriptor, BreakpointMode and Breakpoint (#139627)
Implement `fromJSON` for `ColumnDescriptor`, `BreakpointMode` and
`Breakpoint` and use it to implement the corresponding unit tests.
Commit: 81b20e110b3ffeb6d7069e7fe3e6339e63f8c03d
https://github.com/llvm/llvm-project/commit/81b20e110b3ffeb6d7069e7fe3e6339e63f8c03d
Author: Roland McGrath <mcgrathr at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_extent.h
Log Message:
-----------
[libc++] Work around new GCC 15 type_traits builtins that can't be used as Clang's can (#137871)
GCC 15 has added builtins for various C++ type traits that Clang
already had. Since `__has_builtin(...)` now finds these, the #if
branches previously only used for Clang are now used for GCC 15.
However, GCC 15 requires that these builtins only be used in type
aliases, not in template aliases.
For now, just don't use the `__has_builtin(...)` branches under newer
GCC versions, so both 14 and 15 work during the transition. This
can be cleaned up later to use all the GCC 15 builtins available.
Fixed: #137704
Fixed: #117319
Commit: 3b62a3369a41ad6550bf595e12d941ec947d529c
https://github.com/llvm/llvm-project/commit/3b62a3369a41ad6550bf595e12d941ec947d529c
Author: lntue <lntue at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/include/llvm-libc-types/ENTRY.h
Log Message:
-----------
[libc] Add `struct entry` definition in addition to `ENTRY` according to POSIX. (#139773)
Commit: 8767d55ff36ea81ea889410132fcec30107b8021
https://github.com/llvm/llvm-project/commit/8767d55ff36ea81ea889410132fcec30107b8021
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Consistently use VPlanTransforms::runPass if possible (NFC).
Update some more transforms to use ::runPass.
Commit: 3b3adefd58826ca4dfd87df8099766d416c54341
https://github.com/llvm/llvm-project/commit/3b3adefd58826ca4dfd87df8099766d416c54341
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/test/Sema/builtins-wasm.c
Log Message:
-----------
[Clang] Fix Sema::checkArgCount for 0-arg functions (#139638)
When calling a function that expects zero arguments with one argument,
`Call->getArg(1)` will trap when trying to format the diagnostic.
This also seems to improve the rendering of the diagnostic some of the
time. Before:
```
$ ./bin/clang -c a.c
a.c:2:30: error: too many arguments to function call, expected 2, have 4
2 | __builtin_annotation(1, 2, 3, 4);
| ~ ^
```
After:
```
$ ./bin/clang -c a.c
a.c:2:30: error: too many arguments to function call, expected 2, have 4
2 | __builtin_annotation(1, 2, 3, 4);
| ^~~~
```
Split from #139580.
---------
Co-authored-by: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Commit: 7f4febde1030b8bb409cc56a50e575ff08fcd6ae
https://github.com/llvm/llvm-project/commit/7f4febde1030b8bb409cc56a50e575ff08fcd6ae
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/heatmap-preagg.test
Log Message:
-----------
[BOLT][heatmap] Compute section utilization and partition score (#139193)
Heatmap groups samples into buckets of configurable size (`--block-size`
flag with 64 bytes as the default =X86 cache line size). Buckets are
mapped to containing sections; for buckets that cover multiple sections,
they are attributed to the first overlapping section. Buckets not mapped
to a section are reported as unmapped.
Heatmap reports **section hotness** which is a percentage of samples
attributed to the section.
Define **section utilization** as a percentage of buckets with non-zero
samples relative to the total number of section buckets.
Also define section **partition score** as a product of section hotness
(where total excludes unmapped buckets) and mapped utilization, ranging
from 0 to 1 (higher is better).
The intended use of new metrics is with **production profile** collected
from BOLT-optimized binary. In this case the partition score of .text
(hot text if function splitting is enabled) reflects **optimization
profile** representativeness and the quality of hot-cold splitting.
Partition score of 1 means that all samples fall into hot text, and all
buckets (cache lines) in hot text are exercised, equivalent to perfect
hot-cold splitting.
Test Plan: updated heatmap-preagg.test
Commit: 0289ca09bebe16c6e93dc13df6c293529fb1ee77
https://github.com/llvm/llvm-project/commit/0289ca09bebe16c6e93dc13df6c293529fb1ee77
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/heatmap/heatmap.cpp
Log Message:
-----------
[BOLT] Print heatmap from perf2bolt (#139194)
Add perf2bolt `--heatmap` option to produce heatmaps during profile
aggregation.
Distinguish exclusive mode (`llvm-bolt-heatmap`) and optional mode
(`perf2bolt --heatmap`), which impacts perf.data handling:
exclusive mode covers all addresses, whereas optional mode consumes
attached profile only covering function addresses.
Test Plan: updated per2bolt tests:
- pre-aggregated-perf.test: pre-aggregated data,
- bolt-address-translation-yaml.test: pre-aggregated + BOLTed input,
- perf_test.test: no-LBR perf data.
Commit: 616489e2ee432a4085ab3c42fd51237f432cd037
https://github.com/llvm/llvm-project/commit/616489e2ee432a4085ab3c42fd51237f432cd037
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Drop perf2bolt cold samples diagnostic (#139337)
Cold samples diagnostics in perf2bolt are superseded by
`perf2bolt --heatmap` option (#139194). It provides a superset of stats
and works without BAT section which is not emitted by default.
Test Plan: NFC
Commit: 952b680fd1a283883ee2075146a7b10ea9510e8a
https://github.com/llvm/llvm-project/commit/952b680fd1a283883ee2075146a7b10ea9510e8a
Author: jimingham <jingham at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
A lldb/test/API/macosx/branch-islands/padding3.s
A lldb/test/API/macosx/branch-islands/padding4.s
Log Message:
-----------
Support stepping through Darwin "branch islands" (#139301)
When an intra-module jump doesn't fit in the immediate branch slot, the
Darwin linker inserts "branch island" symbols, and emits code to jump
from branch island to branch island till it makes it to the actual
function.
The previous submissions failed because in that environment the linker
was putting the `foo.island` symbol at the same address as the `padding`
symbol we we emitting to make our faked-up large binary. This submission
jams a byte after the padding symbol so that the other symbols can't
overlap it.
Commit: a1e1a84d2c8bb627945cda2a991539d39b034269
https://github.com/llvm/llvm-project/commit/a1e1a84d2c8bb627945cda2a991539d39b034269
Author: Drew Kersnar <dkersnar at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
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.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
A llvm/test/CodeGen/NVPTX/ldg-invariant-256.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors-256.ll
A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/load-store-256-bit.ll
Log Message:
-----------
[NVPTX] Vectorize and lower 256-bit global loads/stores for sm_100+/ptx88+ (#139292)
PTX 8.8+ introduces 256-bit-wide vector loads/stores under certain
conditions. This change extends the backend to lower these loads/stores.
It also overrides getLoadStoreVecRegBitWidth for NVPTX, allowing the
LoadStoreVectorizer to create these wider vector operations.
See the spec for the three relevant PTX instructions here:
- https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-ld
- https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-ld-global-nc
- https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-st
Commit: b93173185d9c93bd6fc94baaa453bd030cd36fea
https://github.com/llvm/llvm-project/commit/b93173185d9c93bd6fc94baaa453bd030cd36fea
Author: Usman Nadeem <mnadeem at quicinc.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/cast.ll
Log Message:
-----------
[InstCombine] Narrow trunc(lshr) in more cases (#139645)
We can narrow `trunc(lshr(i32)) to i8` to `trunc(lshr(i16)) to i8` even
when the bits that we are shifting in are not zero, in the cases where
the MSBs of the shifted value don't actually matter and actually end up
being truncated away.
This kind of narrowing does not remove the trunc but can help the
vectorizer generate better code in a smaller type.
Motivation: libyuv, functions like ARGBToUV444Row_C().
Proof: https://alive2.llvm.org/ce/z/9Ao2aJ
Commit: 25348394bb54075ad6e368ab3567c8cd3d37e7f8
https://github.com/llvm/llvm-project/commit/25348394bb54075ad6e368ab3567c8cd3d37e7f8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp:106:14:
error: unused variable 'sourceType' [-Werror,-Wunused-variable]
Commit: 22fac63bde4a4a1cdae2ab2500d66dd3a6ce5a59
https://github.com/llvm/llvm-project/commit/22fac63bde4a4a1cdae2ab2500d66dd3a6ce5a59
Author: Peter Collingbourne <pcc at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
gn build: Port f896bd367016
Commit: 8a05c20c963db27db0c93b422dab061a0d53a91f
https://github.com/llvm/llvm-project/commit/8a05c20c963db27db0c93b422dab061a0d53a91f
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/Sema/bitfield-layout.c
M clang/test/Sema/bitfield-layout_1.c
M clang/test/Sema/mms-bitfields.c
M clang/test/SemaCXX/bitfield.cpp
A clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
Log Message:
-----------
Add an off-by-default warning to complain about MSVC bitfield padding (#117428)
This just adds a warning for bitfields placed next to other bitfields
where the underlying type has different storage. Under the MS struct
bitfield packing ABI such bitfields are not packed.
Commit: 989a40cba889630a916a4f815a8cabca1e14242a
https://github.com/llvm/llvm-project/commit/989a40cba889630a916a4f815a8cabca1e14242a
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/sdk-settings-json-dep.m
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
Log Message:
-----------
[clang][modules] Invalidate module cache when SDKSettings.json changes (#139751)
This PR adds the `%sdk/SDKSettings.json` file to the PCM input file
table, so that the PCM gets invalidated when the file changes. This is
necessary for availability checks to work correctly.
Commit: 70a3a1b8e5907c42f30980d61a73e15318ae1ae8
https://github.com/llvm/llvm-project/commit/70a3a1b8e5907c42f30980d61a73e15318ae1ae8
Author: Tim Besard <tim.besard at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm-c/Orc.h
Log Message:
-----------
[ORC] Fix the prototype of a C API function. (#139259)
In 38d16f509a3faff3c545da5bfd5a8bcbd234ff24, the `TargetTriple` argument
was removed from the `LLVMOrcCreateStaticLibrarySearchGeneratorForPath`
without updating the C API headers. This resulted in the function being
exported without C linkage, making it impossible to use from C.
Co-authored-by: Lang Hames <lhames at gmail.com>
Commit: 76dba2ea02048b587d10ccdf777b0875369f362c
https://github.com/llvm/llvm-project/commit/76dba2ea02048b587d10ccdf777b0875369f362c
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/src/locale.cpp
Log Message:
-----------
[libcxx] Fix a comment link for the unicode NBSP char. NFC. (#139692)
Commit: 79e8e27bfebebd9db425022987d3a9c60b8db2a9
https://github.com/llvm/llvm-project/commit/79e8e27bfebebd9db425022987d3a9c60b8db2a9
Author: lntue <lntue at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
A libc/hdr/types/ACTION.h
M libc/hdr/types/CMakeLists.txt
M libc/src/search/CMakeLists.txt
M libc/src/search/hsearch.h
M libc/src/search/hsearch_r.h
Log Message:
-----------
[libc] Add proxy header for ACTION type. (#139796)
https://github.com/llvm/llvm-project/issues/139561
Commit: 66bb445d5ccc275ffea674287a7ac55d030801b2
https://github.com/llvm/llvm-project/commit/66bb445d5ccc275ffea674287a7ac55d030801b2
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/include/sys/syscall.h.def
M libc/src/poll/linux/poll.cpp
Log Message:
-----------
[libc] Enable poll function for riscv (#139180)
RV32 uses SYS_ppoll_time64 instead of SYS_ppoll, but the call is the
same.
Commit: 36b4ffeb7ea731dabddc2188950c57053e39ca03
https://github.com/llvm/llvm-project/commit/36b4ffeb7ea731dabddc2188950c57053e39ca03
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/config/linux/riscv/entrypoints.txt
M libc/include/sys/syscall.h.def
M libc/src/sys/time/linux/utimes.cpp
Log Message:
-----------
[libc] Enable utimes function for riscv (#139181)
RV32 uses SYS_utimensat_time64 instead of SYS_utimensat but the call is
the same.
Commit: e4d21aea042d4b9463ba0614f0a5c052a0ad5b57
https://github.com/llvm/llvm-project/commit/e4d21aea042d4b9463ba0614f0a5c052a0ad5b57
Author: Sarah Spall <sarahspall at microsoft.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
Log Message:
-----------
[DirectX] Move DXIL Resource Access Pass before Intrinsic Expansion Pass (#139562)
Move dxil resource access legacy pass before intrinsic expansion legacy
pass so TypedBuffer Loads and Stores will be created before intrinsic
expansion.
This is to facilitate #104423
Commit: 61272b5a1c6ca9287450705e24509370033f9451
https://github.com/llvm/llvm-project/commit/61272b5a1c6ca9287450705e24509370033f9451
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
A mlir/test/Target/LLVMIR/Import/struct.ll
Log Message:
-----------
[MLIR][LLVM] Print LLVMStructType name using printEscapedString (#139652)
LLVM struct type names need to be escaped when printed in order to allow
interesting name choices.
Commit: cc2beddaa44fb1f0e0ca9eb51c5feaca368c00b0
https://github.com/llvm/llvm-project/commit/cc2beddaa44fb1f0e0ca9eb51c5feaca368c00b0
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/source/Interpreter/Options.cpp
Log Message:
-----------
[lldb] Use std:::string::find with std::string_view (NFC) (#139679)
std::string::find accepts anything that can be converted to
std::string_view starting in C++17. Since StringRef can be converted
to std::string_view, we do not need to create a temporary instance of
std::string here.
Commit: 298ace7dff4f612e1d7dbf7bc18c32ee6c6c774b
https://github.com/llvm/llvm-project/commit/298ace7dff4f612e1d7dbf7bc18c32ee6c6c774b
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[TableGen] Use std::string::find (NFC) (#139681)
This patch partially reverts #139661 for a better solution.
Specifically, we can take advantage of the fact that std::string::find
accepts anything that can be converted to std::string_view, including
StringRef, starting with C++17. This way, we do not need to cast Val
to StringRef or LHSs->getValue() to std::string.
Commit: db9e30735a39d4823624bd1fdff81673598dbdc9
https://github.com/llvm/llvm-project/commit/db9e30735a39d4823624bd1fdff81673598dbdc9
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
Log Message:
-----------
[mlir] Use a range-based for loop (NFC) (#139756)
WHile I am at it, this patch replaces std::find with
llvm::is_contained.
Commit: 27983696a6d6caf8f90d77745598aeaec88b7009
https://github.com/llvm/llvm-project/commit/27983696a6d6caf8f90d77745598aeaec88b7009
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
Log Message:
-----------
[mlir] Use llvm::find (NFC) (#139757)
Commit: 85bbf8c887615b6b2c70353761fad8139d6ecbe8
https://github.com/llvm/llvm-project/commit/85bbf8c887615b6b2c70353761fad8139d6ecbe8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/DAP.cpp
Log Message:
-----------
[lldb] Use llvm::is_contained (NFC) (#139758)
Commit: 50316c1eb8ed189dc3a979d552b8b04b0730b287
https://github.com/llvm/llvm-project/commit/50316c1eb8ed189dc3a979d552b8b04b0730b287
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
Log Message:
-----------
[mlir] Use llvm::binary_search (NFC) (#139760)
Commit: 4e604d46681f722b1def10ce72c89046dac39e63
https://github.com/llvm/llvm-project/commit/4e604d46681f722b1def10ce72c89046dac39e63
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M libc/src/__support/GPU/utils.h
Log Message:
-----------
[libc][NFC] Add u64 shuffle helpers to GPU
Summary:
Precommit for later use.
Commit: 9ae3bce17543f92ce0237597cc66503d58cce317
https://github.com/llvm/llvm-project/commit/9ae3bce17543f92ce0237597cc66503d58cce317
Author: Bill Wendling <morbo at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
Log Message:
-----------
[Clang][counted_by] Add support for 'counted_by' on struct pointers (#137250)
The 'counted_by' attribute is now available for pointers in structs.
It generates code for sanity checks as well as
__builtin_dynamic_object_size()
calculations. For example:
struct annotated_ptr {
int count;
char *buf __attribute__((counted_by(count)));
};
If the pointer's type is 'void *', use the 'sized_by' attribute, which
works similarly to 'counted_by', but can handle the 'void' base type:
struct annotated_ptr {
int count;
void *buf __attribute__((sized_by(count)));
};
If the 'count' field member occurs after the pointer, use the
'-fexperimental-late-parse-attributes' flag during compilation.
Note that 'counted_by' cannot be applied to a pointer to an incomplete
type, because the size isn't known.
struct foo;
struct annotated_ptr {
int count;
struct foo *buf __attribute__((counted_by(count))); /* invalid */
};
Signed-off-by: Bill Wendling <morbo at google.com>
Commit: a3d2b7e2cb0fd421b0170721ed5becf099b53c5a
https://github.com/llvm/llvm-project/commit/a3d2b7e2cb0fd421b0170721ed5becf099b53c5a
Author: Jeremy Kun <jkun at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
M mlir/include/mlir/InitAllDialects.h
M mlir/lib/Dialect/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
R mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
R mlir/test/Dialect/Polynomial/attributes.mlir
R mlir/test/Dialect/Polynomial/canonicalization.mlir
R mlir/test/Dialect/Polynomial/ops.mlir
R mlir/test/Dialect/Polynomial/ops_errors.mlir
R mlir/test/Dialect/Polynomial/types.mlir
R mlir/test/IR/parser_dialect_loading.mlir
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/unittests/Dialect/CMakeLists.txt
R mlir/unittests/Dialect/Polynomial/CMakeLists.txt
R mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[mlir][polynomial] Remove polynomial dialect (#139766)
Cf. https://discourse.llvm.org/t/future-of-the-polynomial-dialect/86117
For posterity, the polynomial dialect development has moved to HEIR, and
as of this writing the different components can be found here:
-
https://github.com/google/heir/tree/a422f130fa42ed2acf319a1bd6e420b651863c03/lib/Dialect/Polynomial
-
https://github.com/google/heir/tree/a422f130fa42ed2acf319a1bd6e420b651863c03/lib/Transforms/PolynomialApproximation
-
https://github.com/google/heir/tree/a422f130fa42ed2acf319a1bd6e420b651863c03/lib/Transforms/LowerPolynomialEval
Commit: e9ce7527691ec2b3748895598cd5ee31ac644f3a
https://github.com/llvm/llvm-project/commit/e9ce7527691ec2b3748895598cd5ee31ac644f3a
Author: A. Jiang <de34 at live.cn>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__vector/vector_bool.h
M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
Log Message:
-----------
[libc++] Remove the constexpr `hash<vector<bool>>` extension (#132617)
libc++ makes the `hash<vector<bool, A>>::operator()` `constexpr` since
C++20, which is a conforming extension, but it was unintended.
This patch removes the extension, with an escape hatch macro for it, and
the escape hatch will be removed in the future. Test cases for
`constexpr` along with the assumption of hash values are moved to the
`libcxx/test/libcxx/` subdirectory.
---------
Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>
Commit: 7460056a81fbf897fecfaaae7aa8cc515599ea97
https://github.com/llvm/llvm-project/commit/7460056a81fbf897fecfaaae7aa8cc515599ea97
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Parse/ParseObjc.cpp
M clang/test/SemaObjCXX/cxxoperator-selector.mm
Log Message:
-----------
[ObjC] Stop hard-coding the list of keywords that are allowed in selectors (#138952)
The design intent is that ObjC selector pieces can be arbitrary
keywords, including basic C keywords like `if`, and the grammar permits
this and makes it unambiguous.
Allow any token that has an identifier (except `__attribute__`) to be
part of a selector.
rdar://150383689
Commit: 2d57b6132588cd1676d817d120c2f49916227414
https://github.com/llvm/llvm-project/commit/2d57b6132588cd1676d817d120c2f49916227414
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for breakpoint types (#139792)
- Add unit test for breakpoint types for SourceBreakpoint,
FunctionBreakpoint and DataBreakpoint.
- Rename DataBreakpointInfo to DataBreakpoint.
- Fix some mapOptions for optional fields.
Commit: f965996cfbeb11b44eb2838a544284924e7fcfc3
https://github.com/llvm/llvm-project/commit/f965996cfbeb11b44eb2838a544284924e7fcfc3
Author: Dhruva Chakrabarti <Dhruva.Chakrabarti at amd.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M offload/plugins-nextgen/common/include/PluginInterface.h
Log Message:
-----------
[Offload] Remove unused field IsBareKernel. (#139815)
Commit: 5f41928689125667cf645835fa9fefee97511d8a
https://github.com/llvm/llvm-project/commit/5f41928689125667cf645835fa9fefee97511d8a
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/lib/AST/OpenACCClause.cpp
Log Message:
-----------
[NFC][Clang] Add `setExprs` overload to reduce some code duplication (#139749)
Add a `setExprs` overload to `OpenACCClauseWithExprs` that allows
initializing the trailing storage to help eliminate some code
duplication in various subclass constructors.
Commit: 30b428aaa8e85ee307e3c0ef0ffb5c5092dbcb5f
https://github.com/llvm/llvm-project/commit/30b428aaa8e85ee307e3c0ef0ffb5c5092dbcb5f
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/test/API/functionalities/unwind/frameless-faulted/Makefile
M lldb/test/API/functionalities/unwind/frameless-faulted/TestUnwindFramelessFaulted.py
Log Message:
-----------
[lldb] try re-enabling TestUnwindFramelessFaulted.py
on Linux with a small change to the Makefile to make
preprocessing the assembly code work.
Commit: b8ba9636f0f46a02ebe3ab369fe6b47703f45ba6
https://github.com/llvm/llvm-project/commit/b8ba9636f0f46a02ebe3ab369fe6b47703f45ba6
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/test/API/functionalities/unwind/frameless-faulted/TestUnwindFramelessFaulted.py
Log Message:
-----------
[lldb] don't run TestUnwindFramelessFaulted.py on Linux
I thought I could call $(CPP) to preprocess the assembly
file, but the aarch64-ubuntu bot runs this as clang -E and
it issues a warning and no output file, apparently,
build/bin/clang -E -o interrupt-and-trap-funcs.s /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/unwind/frameless-faulted/interrupt-and-trap-funcs.s
clang: warning: /home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/llvm-project/lldb/test/API/functionalities/unwind/frameless-faulted/interrupt-and-trap-funcs.s: 'assembler' input unused [-Wunused-command-line-argument]
/home/tcwg-buildbot/worker/lldb-aarch64-ubuntu/build/bin/clang -g -O0 -c -o interrupt-and-trap-funcs.o interrupt-and-trap-funcs.s
clang: error: no such file or directory: 'interrupt-and-trap-funcs.s'
clang: error: no input files
Commit: c5331276cb24209f3e13a232d7b81c4e62c3fbd6
https://github.com/llvm/llvm-project/commit/c5331276cb24209f3e13a232d7b81c4e62c3fbd6
Author: Shoreshen <372660931 at qq.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
Log Message:
-----------
AMDGPU: Add sgpr bit convert tests (#136112)
Add inreg test for sgpr purpose
This is the second PR after
https://github.com/llvm/llvm-project/pull/135729.
To test sgpr inputs and outputs, using inreg cases for bit-conversions
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 62a6218adb42557099da06c57edca0713c0dd700
https://github.com/llvm/llvm-project/commit/62a6218adb42557099da06c57edca0713c0dd700
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilia-valid.s
Log Message:
-----------
[RISCV] Add a couple of more compress patterns for QC_E_ADDI (#139734)
Compress QC_E_ADDI to C_MV/C_ADDI16SP when possible.
Commit: 036d637a1dc7be4af6178d4a4df32adaffbd9015
https://github.com/llvm/llvm-project/commit/036d637a1dc7be4af6178d4a4df32adaffbd9015
Author: Carl Ritson <carl.ritson at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/IR/Verifier.cpp
A llvm/test/Assembler/amdgcn-unreachable.ll
Log Message:
-----------
[AMDGPU][Verifier] Allow llvm.amdgcn.unreachable after cs.chain (#139494)
Unreachable is transformed to llvm.amdgcn.unreachable() during exit
unification. Make sure the verifier tolerates this.
Commit: 866f1cd6a9146b3ee6ed012c0d90e02bc96d4e16
https://github.com/llvm/llvm-project/commit/866f1cd6a9146b3ee6ed012c0d90e02bc96d4e16
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/SemaTemplate/GH55509.cpp
Log Message:
-----------
[Clang] Stop changing DC when instantiating dependent friend specializations (#139436)
Since 346077aa, we began using the primary template's lexical
DeclContext for template arguments in order to properly instantiate a
friend definition.
There is a missed peculiar case, as in a friend template is specialized
within a dependent context. In this scenario, the primary template is
not a definition, whereas the specialization is. So the primary
template's DeclContext doesn't provide anything meaningful
for instantiation.
Fixes https://github.com/llvm/llvm-project/issues/139052
Commit: 691ca556e04dafa3d755e975ea3432fbfd4ca9ad
https://github.com/llvm/llvm-project/commit/691ca556e04dafa3d755e975ea3432fbfd4ca9ad
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
A llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
Log Message:
-----------
[RISCV] Emit .note.gnu.property section when Zicfiss-based shadow stack is enabled (#127036)
RISC-V Zicfiss-based shadow stack needs to let the linker/loader know if
the binary is built with the mechanism enabled to support proper
link-time/load-time management of this feature. The information is
encoded as a bit in the `.note.gnu.property` section. This patch
implements emitting the section for RISC-V targets when Zicfiss-based
shadow stack is enabled.
When Clang receives the `-fcf-protection=return` flag, it adds the
`hw-shadow-stack` attribute to LLVM functions, and adds a non-zero
valued attribute named `cf-protection-return` to the LLVM module it
generates. The backend depends on the `hw-shadow-stack` attributes to
generate Zicfiss-based shadow stack instructions for each function, but
at the module scope, the `cf-protection-return` attribute is a better
indication of whether the translation unit is built with Zicfiss-based
shadow stack enabled, so this patch emits the `.note.gnu.property`
section with the "Zicfiss-based shadow stack" bit toggled on when it
sees the `cf-protection-return` attribute.
Commit: 5a7e72d575cb2bd8fb171b58324fd2b0a39d5025
https://github.com/llvm/llvm-project/commit/5a7e72d575cb2bd8fb171b58324fd2b0a39d5025
Author: YunQiang Su <yunqiang at isrc.iscas.ac.cn>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/test/CodeGen/Hexagon/fminmax-v67.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
Log Message:
-----------
Hexagon: sfmax/sfmin instructions are IEEE754-2019 (#139056)
The min/max instructions of Hexagon follow IEEE754-2019
minimumNumber/maximumNumber,
aka
FMINIMUMNUM and FMAXIMUMNUM
instead of
FMAXNUM and FMINNUM
Commit: 1a0b82563fc720d5bf9ea22b940c08c51cb9e7b1
https://github.com/llvm/llvm-project/commit/1a0b82563fc720d5bf9ea22b940c08c51cb9e7b1
Author: John Harrison <harjohn at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
Log Message:
-----------
[lldb-dap] Improving tests logging to understand CI failures. (#139311)
To improve logging this adjusts two properties of the existing tests:
* Forwards stderr from lldb-dap to the process in case errors are
reported to stderr.
* Adjusts `DebugAdapterServer.terminate` to close stdin and wait for the
process to exit instead of sending SIGTERM. Additionally, if we end up
with a non-zero exit status we now raise an error to note the unexpected
exit status.
With these changes, I did find one test case in
`TestDAP_console.test_diagnositcs` that was not waiting to ensure the
expected event had arrived by the time it performed an assert.
Commit: e29b70ee11c168475f15064c68c4a7e76c08d269
https://github.com/llvm/llvm-project/commit/e29b70ee11c168475f15064c68c4a7e76c08d269
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaWasm.h
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/test/CodeGen/builtins-wasm.c
M clang/test/Sema/builtins-wasm.c
Log Message:
-----------
[WebAssembly][Clang] Add __builtin_wasm_ref_is_null_extern (#139580)
I also fixed __builtin_wasm_ref_null_extern() to generate a diagnostic
when it gets an argument. It seems like `SemaRef.checkArgCount()` has a
bug that makes it unable to check for 0 args.
Commit: aef39f5dcb8b0c73cef4192c5d49a32de7d4ef44
https://github.com/llvm/llvm-project/commit/aef39f5dcb8b0c73cef4192c5d49a32de7d4ef44
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/UsersManual.rst
Log Message:
-----------
[Clang][PGO][UserManual] Specify usage of -b flag (#139763)
llvm-profgen cannot accept the perf profiles collected without `-b` and
errors out with a message `"Invalid perf script input!"`.
This can also be validated from the code in function
`checkPerfScriptType()` in `tools/llvm-profgen/PerfReader.cpp.`
Commit: 0b490f11da245ad178bb4389cd8bfd858262aca6
https://github.com/llvm/llvm-project/commit/0b490f11da245ad178bb4389cd8bfd858262aca6
Author: Kaviya Rajendiran <67495422+kaviya2510 at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A flang/test/Lower/OpenMP/Todo/taskloop-inreduction.f90
A flang/test/Lower/OpenMP/Todo/taskloop-reduction.f90
Log Message:
-----------
[FLANG][OpenMP][Taskloop] - Add testcase for reduction and in_reduction clause in taskloop construct (#139704)
Added a testcase for reduction and in_reduction clause in taskloop
construct.
Reduction and in_reduction clauses are not supported in taskloop so
below error is issued: "not yet implemented: Unhandled clause
REDUCTION/IN_REDUCTION in TASKLOOP construct"
Commit: 1377535d993ca9457978d0065dde59ccf1aca187
https://github.com/llvm/llvm-project/commit/1377535d993ca9457978d0065dde59ccf1aca187
Author: Frederik Harwath <frederik.harwath at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
A llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-fail.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-wave32.mir
Log Message:
-----------
[AMDGPU] si-peephole-sdwa: Fix cndmask vcc use for wave32 (#139541)
Before V_CNDMASK_B32_e64 gets converted to SDWA form, a conversion to
V_CNDMASK_B32_e32 occurs.
The vcc use of this instruction must be fixed into a vcc_lo use for wave32.
This fix only happens after the final conversion to the SDWA form. This led
to a compiler error in situations where the conversion to SDWA aborts.
Make sure that the vcc-fix gets applied even if the SDWA conversion is
not completed.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: fbeab2c391361eeaaa56fe13177dbdb446e2b6c9
https://github.com/llvm/llvm-project/commit/fbeab2c391361eeaaa56fe13177dbdb446e2b6c9
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/TableGen/Pattern.cpp
Log Message:
-----------
[mlir][drr] Use fully qualified name in getValueAndRangeUse (#139847)
Commit: ad2f7034a2823f2366e55a5758c1c623b9348746
https://github.com/llvm/llvm-project/commit/ad2f7034a2823f2366e55a5758c1c623b9348746
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for capabilities (#139835)
Add unit a test for the capabilities type.
Commit: 7e098bebeb4578aa7338995133ab206e6b7f4f31
https://github.com/llvm/llvm-project/commit/7e098bebeb4578aa7338995133ab206e6b7f4f31
Author: Shoreshen <372660931 at qq.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
Log Message:
-----------
[AMDGPU] using loop to define data type convert patterns (#132899)
using loop to define data type convert patterns
Commit: f1c9128115f1cf8b9638513f85093837fa593f01
https://github.com/llvm/llvm-project/commit/f1c9128115f1cf8b9638513f85093837fa593f01
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
M flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
M flang/test/Semantics/OpenACC/acc-serial-loop.f90
M llvm/include/llvm/Frontend/OpenACC/ACC.td
Log Message:
-----------
[flang][openacc] Align async check for combined construct (#139744)
Align async clause check for combined construct to behave the same as
parallel, kernels and serial.
Commit: b4b5013aa3a3f830fc7f52a4a1892049f95875c6
https://github.com/llvm/llvm-project/commit/b4b5013aa3a3f830fc7f52a4a1892049f95875c6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
Log Message:
-----------
[mlir] Use llvm::is_contained (NFC) (#139834)
Commit: bdf8c9984ae325b9934ec6051a853a29830af9e2
https://github.com/llvm/llvm-project/commit/bdf8c9984ae325b9934ec6051a853a29830af9e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M lldb/docs/resources/build.rst
M lldb/docs/resources/contributing.rst
M lldb/docs/resources/debugging.rst
M lldb/docs/resources/qemu-testing.rst
M lldb/docs/use/variable.rst
Log Message:
-----------
[lldb] Fix typos in documentation (#139839)
Commit: 301340ace64b7c741f14101ec84b3d8448b85cec
https://github.com/llvm/llvm-project/commit/301340ace64b7c741f14101ec84b3d8448b85cec
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
Log Message:
-----------
[clang][NFC] Regroup declarations in `Parser` (#138511)
Following the steps of #82217, this patch reorganizes declarations in
`Parse.h`. Highlights are:
1) Declarations are grouped in the same fashion as in `Sema.h`. Table of
contents is provided at the beginning of `Parser` class. `public`
declaration go first, then `private` ones, but unlike `Sema`, most of
the stuff in `Parser` is private.
2) Documentation has been moved from `.cpp` files to the header. Grammar
was consistently put in `\verbatim` blocks to render nicely in Doxygen.
3) File has been formatted with clang-format, except for the grammar,
because clang-format butchers it.
Commit: 6c1bb48cc45396894597c8cb897c31205d1bdeb6
https://github.com/llvm/llvm-project/commit/6c1bb48cc45396894597c8cb897c31205d1bdeb6
Author: cor3ntin <corentinjabot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Sema/SemaInit.cpp
R clang/test/SemaCXX/libstdcxx_gets_hack.cpp
R clang/test/SemaCXX/libstdcxx_pointer_return_false_hack.cpp
Log Message:
-----------
[Clang] Remove workaround for libstdc++4.7 (#139693)
We document libstdc++4.8 as the minimum supported version, and we
carried a hack for `include/tr1/hashtable.h` fixed in 4.7.
Cleanup some libstdc++ compatibility comments.
Commit: b77109ff8c17cd20ac2c791761028a358c9e3447
https://github.com/llvm/llvm-project/commit/b77109ff8c17cd20ac2c791761028a358c9e3447
Author: JJ Marr <168750718+jj-marr at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/ExprConstant.cpp
A clang/test/SemaCXX/consteval-assert.cpp
Log Message:
-----------
Better diagnostics when assertion fails in `consteval` (#130458)
Take this piece of code:
```cpp
#include <cassert>
consteval int square(int x) {
int result = x * x;
assert(result == 42);
return result;
}
void test() {
auto val = square(2);
}
```
The assertion will fail, and `clang++` will output
(https://godbolt.org/z/hjz3KbTTv):
```cpp
<source>:10:14: error: call to consteval function 'square' is not a constant expression
10 | auto val = square(2);
| ^
<source>:5:3: note: non-constexpr function '__assert_fail' cannot be used in a constant expression
5 | assert(result == 42);
| ^
/usr/include/assert.h:95:9: note: expanded from macro 'assert'
95 | : __assert_fail (#expr, __FILE__, __LINE__, __ASSERT_FUNCTION))
| ^
<source>:10:14: note: in call to 'square(2)'
10 | auto val = square(2);
| ^~~~~~~~~
/usr/include/assert.h:69:13: note: declared here
69 | extern void __assert_fail (const char *__assertion, const char *__file,
| ^
1 error generated.
Compiler returned: 1
```
This is confusing because it implies that the issue was using an
assertion in a constant-evaluted context, and not that the assertion
failed (`assert()` is OK in constant evaluation). This PR changes the
error message to:
```cpp
test.cpp:10:14: error: call to consteval function 'square' is not a constant expression
10 | auto val = square(2);
| ^
test.cpp:5:3: note: assertion failed in consteval context: 'result == 42'
5 | assert(result == 42);
| ^
/nix/store/lw21wr626v5sdcaxxkv2k4zf1121hfc9-glibc-2.40-36-dev/include/assert.h:102:9: note: expanded from macro 'assert'
102 | : __assert_fail (#expr, __ASSERT_FILE, __ASSERT_LINE, \
| ^
test.cpp:10:14: note: in call to 'square(2)'
10 | auto val = square(2);
| ^~~~~~~~~
1 error generated.```
Commit: 65eb5e8b87f2d5755988e3d0eee4461180298b4d
https://github.com/llvm/llvm-project/commit/65eb5e8b87f2d5755988e3d0eee4461180298b4d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-13 (Tue, 13 May 2025)
Changed paths:
M clang/lib/Sema/SemaARM.cpp
Log Message:
-----------
[Sema] Use llvm::is_contained (NFC) (#139833)
Commit: c659a3be3bab9beb3b77343b2f50585e976b74a5
https://github.com/llvm/llvm-project/commit/c659a3be3bab9beb3b77343b2f50585e976b74a5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/vector
Log Message:
-----------
[libc++][C++03] Remove macros that expand to nothing (#134046)
This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.
Commit: 47c892a49136c68425e7ade08553598e63ef4e70
https://github.com/llvm/llvm-project/commit/47c892a49136c68425e7ade08553598e63ef4e70
Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Headers/opencl-c-base.h
M clang/test/Headers/opencl-c-header.cl
Log Message:
-----------
[OpenCL] Add cl_ext_image_unsigned_10x6_12x4_14x2 extension (#134216)
Add the defines for the `cl_ext_image_unsigned_10x6_12x4_14x2`
extension.
Commit: 4554c852398d0f6e46950e9bc51f74aa1b11b29a
https://github.com/llvm/llvm-project/commit/4554c852398d0f6e46950e9bc51f74aa1b11b29a
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode] Use IsNonNull op in visitBool() (#139846)
We don't need to emit the nullptr and compare to it anymore.
Commit: a6ae2237aad763c2abf90f28c247a084216a48b2
https://github.com/llvm/llvm-project/commit/a6ae2237aad763c2abf90f28c247a084216a48b2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
Log Message:
-----------
[clang][bytecode][NFC] Avoid an implicit integer conversion (#139845)
getCharByteWidth() returns an unsigned.
Commit: cf16c97bfa1416672d8990862369e86f360aa11e
https://github.com/llvm/llvm-project/commit/cf16c97bfa1416672d8990862369e86f360aa11e
Author: Dominik Adamski <dominik.adamski at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
Log Message:
-----------
[Flang] Turn on alias analysis for locally allocated objects (#139682)
Previously, a bug in the MemCptOpt LLVM IR pass caused issues with
adding alias tags for locally allocated objects for Fortran code.
However, the bug has now been fixed (
https://github.com/llvm/llvm-project/pull/129537 ), and we can safely
enable alias tags for these objects. This change should improve the
accuracy of the alias analysis.
Commit: 0bda492ba12c391dff99b15cd4d0149049413ebf
https://github.com/llvm/llvm-project/commit/0bda492ba12c391dff99b15cd4d0149049413ebf
Author: Michele Scuttari <michele.scuttari at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
Log Message:
-----------
[MLIR] Cache symbol tables during OneShotBufferization analyses (#138125)
During bufferization, the callee of each `func::CallOp` / `CallableOpInterface` operation is retrieved by means of a symbol table that is temporarily built for the lookup purpose. The creation of the symbol table requires a linear scan of the operation body (e.g., a linear scan of the `ModuleOp` body). Considering that functions are typically called at least once, this leads to a scaling behavior that is quadratic with respect to the number of symbols. The problem is described in the following Discourse topic: https://discourse.llvm.org/t/quadratic-scaling-of-bufferization/86122/
This patch aims to partially address this scaling issue by leveraging the `SymbolTableCollection` class, whose instance is added to the `FuncAnalysisState` extension. Later modifications are also expected to address the problem in other methods required by `BufferizableOpInterface` (e.g., `bufferize` and `getBufferType`), which suffer of the same problem but do not provide access to any bufferization state.
Commit: 3a81979a3143da34f8430e0da74a4d7d7da0da8a
https://github.com/llvm/llvm-project/commit/3a81979a3143da34f8430e0da74a4d7d7da0da8a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] lowerShuffleAsBroadcast - use LoadSDNode::getBasePtr instead of raw getOperand() call. NFC. (#139747)
Commit: 86ba681e286d0a377830d2cbbc5e58bb5fad442c
https://github.com/llvm/llvm-project/commit/86ba681e286d0a377830d2cbbc5e58bb5fad442c
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaTemplate.cpp
A clang/test/SemaCXX/libstdcxx_format_kind_hack.cpp
Log Message:
-----------
[Clang][Sema] Disable checking invalid template id in initializer of primary variable template `std::format_kind` with libstdc++ (#139560)
#134522 triggers compilation error with libstdc++, in which primary
variable template `std::format_kind` is defined like
```cpp
template <typename R>
constexpr auto format_kind =
__primary_template_not_defined(
format_kind<R>
);
```
See #139067 or <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120190>.
This PR disables checking template id in initializer of primary variable
template `std::format_kind` in libstdc++ (by checking `__GLIBCXX__`).
Fixes #139067
Commit: d441d28083e2f9de5170f5a96a8e44a38d306c62
https://github.com/llvm/llvm-project/commit/d441d28083e2f9de5170f5a96a8e44a38d306c62
Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
Log Message:
-----------
[clang][NFC] Fix indentation in a comment
Commit: 4e63e0457cc1f768c628e71a0786fdb8a6ec271e
https://github.com/llvm/llvm-project/commit/4e63e0457cc1f768c628e71a0786fdb8a6ec271e
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-amount-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
Log Message:
-----------
[AMDGPU] Canonicalize G_ZEXT of the shift amount in RegBankCombiner (#131792)
Canonicalize it to a G_AND instead so that ISel patterns can pick it
up and ignore it, as the shift instructions only read low bits.
G_ZEXT would be lowered to a v/s_and anyway in most cases.
I'm also looking at making a DAG version of this in a separate patch.
Commit: 155e188d94c95b9f389912db2fb180ac8dd75a28
https://github.com/llvm/llvm-project/commit/155e188d94c95b9f389912db2fb180ac8dd75a28
Author: Srinivasa Ravi <srinivasar at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/test/CodeGen/builtins-nvptx.c
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
Log Message:
-----------
[NVPTX] Add intrinsics and clang builtins for conversions of f4x2 type (#139244)
This change adds intrinsics and clang builtins for the cvt instruction
variants of type (FP4) `.e2m1x2`. introduced in PTX 8.6 for `sm_100a`,
`sm_101a`, and `sm_120a`.
Tests are added in `NVPTX/convert-sm100a.ll` and
`clang/test/CodeGen/builtins-nvptx.c` and verified through ptxas 12.8.0.
PTX Spec Reference:
https://docs.nvidia.com/cuda/parallel-thread-execution/#data-movement-and-conversion-instructions-cvt
Commit: b59fc5497d15220fcbd0a295f3c275f7e7223f92
https://github.com/llvm/llvm-project/commit/b59fc5497d15220fcbd0a295f3c275f7e7223f92
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/CodeGen/MachinePipeliner.cpp
Log Message:
-----------
[MachinePipeliner] Extract some process into a separate function (#137662)
This patch moves a process in `addLoopCarriedDependences` that checks
for a loop-carried dependency between two instructions to another
function. This patch is preliminary to a later patch and is not intended
to change current behavior.
Split off from #135148
Commit: 6b97a98e794fc35f26ed6ea5c91e30ff25f3ea55
https://github.com/llvm/llvm-project/commit/6b97a98e794fc35f26ed6ea5c91e30ff25f3ea55
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
Log Message:
-----------
[mlir][vector][nfc] Update comments in vector-transpose.mlir (#139699)
* Fixes comments (swaps incorrect `Test of FoldTransposeShapeCast` with
`Test of shape_cast folding`, and vice-versa).
* Replaces duplicate comments with block comments.
Commit: 97aa01bef770ec651c86978d137933e09221dd00
https://github.com/llvm/llvm-project/commit/97aa01bef770ec651c86978d137933e09221dd00
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
[lldb] Call Target::ClearAllLoadedSections earlier (#138892)
Minidump files contain explicit information about load addresses of
modules, so it can load them itself. This works on other platforms, but
fails on darwin because DynamicLoaderDarwin nukes the loaded module list
on initialization (which happens after the core file plugin has done its
work).
This used to work until #109477, which enabled the dynamic loader
plugins for minidump files in order to get them to provide access to
TLS.
Clearing the load list makes sense, but I think we could do it earlier
in the process, so that both Process and DynamicLoader plugins get a
chance to load modules. This patch does that by calling the function
early in the launch/attach/load core flows.
This fixes TestDynamicValue.py:test_from_core_file on darwin.
Commit: 8f91b108df21bee8ee64e88ffa7bdee230389800
https://github.com/llvm/llvm-project/commit/8f91b108df21bee8ee64e88ffa7bdee230389800
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/docs/Bufferization.md
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Arith/bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-other.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-allow-return-allocs.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-force-copy-before-write.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
M mlir/test/Dialect/Bufferization/canonicalize.mlir
M mlir/test/Dialect/Bufferization/ops.mlir
M mlir/test/Dialect/ControlFlow/one-shot-bufferize.mlir
M mlir/test/Dialect/Linalg/bufferize.mlir
M mlir/test/Dialect/Linalg/hoisting.mlir
M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
M mlir/test/Dialect/SCF/bufferize.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-encodings.mlir
M mlir/test/Dialect/Shape/bufferize.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matvec_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_sampled_matmul_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_sddmm_lib.mlir
M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
M mlir/test/Dialect/SparseTensor/dense.mlir
M mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
M mlir/test/Dialect/SparseTensor/sorted_coo.mlir
M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_batch.mlir
M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir
M mlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
M mlir/test/Dialect/SparseTensor/sparse_nd.mlir
M mlir/test/Dialect/SparseTensor/sparse_outbuf.mlir
M mlir/test/Dialect/SparseTensor/sparse_pack.mlir
M mlir/test/Dialect/SparseTensor/sparse_parallel_reduce.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_scalars.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm_org.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_index.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm_bsr.mlir
M mlir/test/Dialect/SparseTensor/unused-tensor.mlir
M mlir/test/Dialect/SparseTensor/vectorize_reduction.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Vector/bufferize.mlir
M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
M mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
M mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir
M mlir/utils/tree-sitter-mlir/dialect/bufferization.js
M mlir/utils/tree-sitter-mlir/queries/highlights.scm
Log Message:
-----------
[mlir][bufferization][NFC] Rename to_memref to to_buffer (#137180)
As part of the work on transitioning bufferization dialect, ops, and
associated logic to operate on newly added type interfaces (see
00eaff3e9c897c263a879416d0f151d7ca7eeaff), rename the
bufferization.to_memref to highlight the generic nature of the op.
Bufferization process produces buffers while memref is a builtin type
rather than a generic term.
Preserve the current API (to_buffer still produces a memref), however,
as the new type interfaces are not used yet.
Commit: 019d7694df91d75322e3c19ebc2e1aa7d3120e02
https://github.com/llvm/llvm-project/commit/019d7694df91d75322e3c19ebc2e1aa7d3120e02
Author: anbbna <117081688+anbbna at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
A llvm/test/CodeGen/Mips/qnan.ll
Log Message:
-----------
[MIPS]Fix QNaNs in the MIPS legacy NaN encodings (#139829)
The MSB of the mantissa should be zero for QNaNs in the MIPS legacy NaN
encodings, and one for sNaNs.
Fix #100495
Commit: adabc83a92130e556d4d16adaee6e81e09fdf570
https://github.com/llvm/llvm-project/commit/adabc83a92130e556d4d16adaee6e81e09fdf570
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
M lldb/source/Symbol/FuncUnwinders.cpp
Log Message:
-----------
[lldb] Merge/unify ABI-provided AArch64 unwind plans (#139545)
The macos and sysv ABIs return functionally equivalent unwind plans, so
they can be implemented in the base AArch64 class. The only difference
between them was that the macos plan provided a "pc=lr" rule whereas the
sysv plan called SetReturnAddressRegister (which causes the unwind
machinery to act as if that rule was present). This difference was
enough to cause `CompareUnwindPlansForIdenticalInitialPCLocation` to
return a different value and break the (temporarily reverted)
TestUnwindFramelessFaulted test.
While merging the two functions, I couldn't stop myself from simplifying
them to use the generic register number schemes -- which exposed another
bug in CompareUnwindPlansForIdenticalInitialPCLocation, namely that it
was expecting all unwind plans to use the LLDB numbering scheme. This
patch fixes that as well.
Commit: 14836597f5d86ab16f426bc256dbcf7b2af0af71
https://github.com/llvm/llvm-project/commit/14836597f5d86ab16f426bc256dbcf7b2af0af71
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/lib/CodeGen/GCMetadata.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/GCMetadata.cpp
Log Message:
-----------
[GC] Use `MapVector` for `GCStrategyMap` (#132729)
Use `MapVector` so `GCStrategyMap` can support forward and reverse
iterator, which is required in `AsmPrinter`.
Commit: 82b179ca6621f2f0b7bc6062fddb1af663785041
https://github.com/llvm/llvm-project/commit/82b179ca6621f2f0b7bc6062fddb1af663785041
Author: Piyou Chen <piyou.chen at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
Log Message:
-----------
[RISCV][VLOPT] Consider EMUL if it is unknown in EMULAndEEWAreEqual (#139670)
Fix https://github.com/llvm/llvm-project/issues/139288
Commit: ec406e86745af0a306870d3e4ce56325584f9b1e
https://github.com/llvm/llvm-project/commit/ec406e86745af0a306870d3e4ce56325584f9b1e
Author: David Green <david.green at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-const.mir
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
Log Message:
-----------
[GlobalISel] Add a GISelValueTracker printing pass (#139687)
This adds a GISelValueTrackingPrinterPass that can print the known bits
and sign bit of each def in a function. It is built on the new pass
manager and so adds a NPM GISelValueTrackingAnalysis, renaming the older
class to GISelValueTrackingAnalysisLegacy.
The first 2 functions from the AArch64GISelMITest are ported over to an
mir test to show it working. It also runs successfully on all files in
llvm/test/CodeGen/AArch64/GlobalISel/*.mir that are not invalid. It can
hopefully be used to test GlobalISel known bits analysis more directly
in common cases, without jumping through the hoops that the C++ tests
requires.
Commit: 98683b0a48d438f757db4185bd0ddff329bab31d
https://github.com/llvm/llvm-project/commit/98683b0a48d438f757db4185bd0ddff329bab31d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
Log Message:
-----------
[VPlan] Construct VPBlendRecipe from VPWidenPHIRecipe (NFC).
Update VPRecipeBuilder to construct VPBlendRecipe from VPWidenPHIRecipe,
starting to thread recipes through the builder instead of the
underlying IR instruction up-front.
Landing first part of approved
https://github.com/llvm/llvm-project/pull/139475 separately as NFC as
suggested.
Commit: bbc5221c95343d8d6869dce83d6fcf183767bd9f
https://github.com/llvm/llvm-project/commit/bbc5221c95343d8d6869dce83d6fcf183767bd9f
Author: Alexander Peskov <apeskov at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[DAGCombiner] Fold pattern for srl-shl-zext (#138290)
Fold `(srl (lop x, (shl (zext y), c1)), c1) -> (lop (srl x, c1), (zext y))` where c1 <= leadingzeros(zext(y)).
This is equivalent of existing fold chain `(srl (shl (zext y), c1), c1) -> (and (zext y), mask) -> (zext y)`, but logical op in the middle prevents it from combining.
Profit : Allow to reduce the number of instructions.
---------
Signed-off-by: Alexander Peskov <apeskov at nvidia.com>
Commit: 06bf100386a3d4d70151a6a777d8f75a39678848
https://github.com/llvm/llvm-project/commit/06bf100386a3d4d70151a6a777d8f75a39678848
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/cxx2a-three-way-comparison.cpp
Log Message:
-----------
[C++20] Fix a crash with spaceship and vector types (#139767)
Vector types cannot be directly compared, you get an error when you try
to do so. This patch causes the explicitly defaulted spaceship operator
to be implicitly deleted.
Fixes #137452
Commit: a1664e5015b41098e7923ab302c9c1372caf7cbc
https://github.com/llvm/llvm-project/commit/a1664e5015b41098e7923ab302c9c1372caf7cbc
Author: Shoreshen <372660931 at qq.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
Log Message:
-----------
[AMDGPU] Remove verification failing cases due to bundle (#139868)
This is a fix up PR for https://github.com/llvm/llvm-project/pull/136112
There are test cases failing machine instruction verifier due to bundle
(see this
issue:https://github.com/llvm/llvm-project/issues/139102#issuecomment-2863620759)
Commit: 2070044c17242ad290665dc46bac5cd1c2b5e2c1
https://github.com/llvm/llvm-project/commit/2070044c17242ad290665dc46bac5cd1c2b5e2c1
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/test/CodeGen/AArch64/sve2-bsl.ll
M llvm/test/CodeGen/AArch64/vselect-constants.ll
Log Message:
-----------
[LLVM][AArch64] Set hasAndNot() to true for scalable vectors. (#139755)
NOTE: I've not added an SVE check because the use of scalable vectors
implies SVE or StreamingSVE must be available.
Commit: a2a280e58c95f76185ab93c1b73cb1608318b699
https://github.com/llvm/llvm-project/commit/a2a280e58c95f76185ab93c1b73cb1608318b699
Author: Rainer Orth <ro at gcc.gnu.org>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M openmp/runtime/src/ompt-internal.h
M openmp/runtime/src/ompt-specific.h
Log Message:
-----------
[OpenMP] Fix __builtin_return_address calls for SPARC (#138520)
`libomp` uses `__builtin_return_address` in two places. However, on some
targets those calls need to wrapped in `___builtin_extract_return_addr`
to get at the actual return address. SPARC is among those targets and
the only one where `clang` actually implements this, cf. [[clang][Sparc]
Fix __builtin_extract_return_addr
etc.](https://reviews.llvm.org/D91607). `compiler-rt` needed the same
adjustment, cf. [[sanitizer_common][test] Enable tests on
SPARC](https://reviews.llvm.org/D91608). On other targets, this is a
no-op. However, there are more targets that have the same issue and
`gcc`, unlike `clang`, correctly implements it, so there might be issues
when building `libomp` with `gcc`.
This patch adds the necessary calls.
Tested on `sparcv9-sun-solaris2.11`, `sparc64-unknown-linux-gnu`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.
Commit: ca912c7c08156e0c20cdd25f7cb0d3a277847a71
https://github.com/llvm/llvm-project/commit/ca912c7c08156e0c20cdd25f7cb0d3a277847a71
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
R llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
Revert bbc5221c95343d8d6869dce83d6fcf183767bd9f "[DAGCombiner] Fold pattern for srl-shl-zext" (#139876)
Reverts llvm/llvm-project#138290 due to buildbot failures in shift-opt.ll
Commit: b96c5df04e55396572a7c12cb6505f5a116072cb
https://github.com/llvm/llvm-project/commit/b96c5df04e55396572a7c12cb6505f5a116072cb
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
A llvm/test/CodeGen/Mips/unreachable.ll
Log Message:
-----------
[Mips] Add support of MipsInstrInfo::getNop() (#139863)
Fix compile crash when using __builtin_unreachable.
Fix #134913.
Commit: 3abd77ac157f87f2fa0c8083b9f27c1dd2896a25
https://github.com/llvm/llvm-project/commit/3abd77ac157f87f2fa0c8083b9f27c1dd2896a25
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Parse/ParseOpenMP.cpp
A clang/test/OpenMP/openmp_workshare.c
Log Message:
-----------
[clang][OpenMP] Treat "workshare" as unknown OpenMP directive (#139793)
The "workshare" construct is only present in Fortran. The common OpenMP
code does treat it as any other directive, but in clang we need to
reject it, and do so gracefully before it encounters an internal
assertion.
Fixes https://github.com/llvm/llvm-project/issues/139424
Commit: e06363f80f95b53a433762d0561741277521241e
https://github.com/llvm/llvm-project/commit/e06363f80f95b53a433762d0561741277521241e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Semantics/OpenMP/cancellation-construct-type.f90
Log Message:
-----------
[flang][OpenMP] Verify uses of OmpCancellationConstructTypeClause (#139743)
Some directive names can be used as clauses, for example in "cancel". In
case where a directive name is misplaced, it could be interpreted as a
clause.
Verify that such uses are valid, and emit a diagnostic message if not.
Fixes https://github.com/llvm/llvm-project/issues/138224
Commit: 8c67d2568124e8c1fcdef06e69e388ae489c728c
https://github.com/llvm/llvm-project/commit/8c67d2568124e8c1fcdef06e69e388ae489c728c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineGatherScatter - pull out repeated variables. NFC.
Commit: fb07683bc2402a75f6a5c568cdab195b695cd322
https://github.com/llvm/llvm-project/commit/fb07683bc2402a75f6a5c568cdab195b695cd322
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A llvm/test/CodeGen/NVPTX/shift-opt.ll
Log Message:
-----------
[NVPTX] Add baseline srl-shl-zext tests from #138290 (#139878)
Commit: cdabce0c1b84239e335406c6a8f0429577b7186a
https://github.com/llvm/llvm-project/commit/cdabce0c1b84239e335406c6a8f0429577b7186a
Author: Vadim Curcă <80581374+VadimCurca at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Transforms/CompositePass.cpp
M mlir/test/Transforms/composite-pass.mlir
Log Message:
-----------
[MLIR] Remove extra 'any' from CompositePass inner pipeline string (#139877)
When a `CompositePass` is created programmatically, it incorrectly
prepends an extra `any` to the inner pipeline string. For example:
```c++
passManager.nestAny().addPass(createCompositeFixedPointPass(
"Pass1AndPass2",
[](OpPassManager &nestedPassManger) {
nestedPassManger.addPass(createPass1());
nestedPassManger.addPass(createPass2());
},
```
This would result in the following pipeline string:
```
any(composite-fixed-point-pass{max-iterations=3 name=Pass1AndPass2
pipeline=any(pass1,pass2)})
```
This commit fixes this issue, resulting in the pipeline string:
```
any(composite-fixed-point-pass{max-iterations=3 name=Pass1AndPass2
pipeline=pass1,pass2})
```
Commit: 2f2c327017598b16045b66c49e9a4c333d3b9dfe
https://github.com/llvm/llvm-project/commit/2f2c327017598b16045b66c49e9a4c333d3b9dfe
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
Log Message:
-----------
[NFC][TableGen] Use StringRef in X86RecognizableInstr (#139648)
- Use `StringRef` instead of `std::string` in several functions.
- Fix some variable names to conform to LLVM coding standard.
- Use llvm::function_ref instead of function pointer for `handleOperand`
argument.
Commit: 7c57e82456c882b2e8cca728e3ff79030c9ae619
https://github.com/llvm/llvm-project/commit/7c57e82456c882b2e8cca728e3ff79030c9ae619
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
Log Message:
-----------
[NFC][TableGen] Code cleanup in Record.h/cpp (#138876)
- Use range for loops in several places.
- Change some variable names to conform to LLVM coding standard.
- Use ListSeparator instead of manual code to generate comma interleaved
strings.
- Remove unnecessary copies in SETDAGOP evaluation in BinOpInit::Fold.
- Eliminate duplicated code in the 2 overloads of RecordVal::setValue.
- Use explicit type in some range for loops.
- Tested by verifying that all the .inc files generated by building all
the *CommonTableGen targets stay unchanged.
Commit: 8732d0f38961687b8d2f588d35f9164784660862
https://github.com/llvm/llvm-project/commit/8732d0f38961687b8d2f588d35f9164784660862
Author: Steven Perron <stevenperron at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
A llvm/test/CodeGen/SPIRV/global-var-name-align.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
Log Message:
-----------
[SPIRV] Don't add CPacked and Alignement decorations for Vulkan (#138711)
Packed structs get a different layout than a struct that is not packed.
This is handled by assigning different offset decoration when
appropriate. The `CPacked` decoration is not required, and is in fact
not valid when creating a shader.
Similaraly the alignment decoration is not allows when creating a
shader. We must avoid generating that decoration.
Fixes https://github.com/llvm/llvm-project/issues/138268
Commit: a31d7d1a2480708e665bd8556a5f0013f6350322
https://github.com/llvm/llvm-project/commit/a31d7d1a2480708e665bd8556a5f0013f6350322
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Headers/__clang_hip_cmath.h
Log Message:
-----------
[NFC] Typo in __clang_hip_cmath.h (#139892)
ambibuity -> ambiguity
Commit: 1914184e5c84d5e978512cfe790e3653a02bcb8e
https://github.com/llvm/llvm-project/commit/1914184e5c84d5e978512cfe790e3653a02bcb8e
Author: Marina Taylor <marina_taylor at apple.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
A llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
Log Message:
-----------
Reland "[ObjCARC][Contract] Optimize bundled RetainRV to ClaimRV" (#139889)
This teaches ObjCARCContract to transform attachedcall bundles
referencing objc_retainAutoreleasedReturnValue to instead reference
objc_claimAutoreleasedReturnValue.
The only distinction between the two is that the latter is required to
be guaranteed to immediately follow the call it's attached to, and, by
construction, the bundles always achieve that by:
- not being separable from the call through IR and the backend
- not getting the marker emitted when claimARV is the attachedcall.
This is enabled only for arm64, arm64e, and arm64_32 on macOS13/iOS16
and related operating systems.
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Commit: 7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a
https://github.com/llvm/llvm-project/commit/7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Target/Process.cpp
Log Message:
-----------
[lldb] Clear loaded sections even earlier
Follow-up to #138892 fixing breakage on windows. Calling
ClearAllLoadedSections earlier is necessary to avoid throwing out the
work done by the windows process plugin.
Commit: 7a9fd62278a2eab8160fa476c3a64e66786f99ad
https://github.com/llvm/llvm-project/commit/7a9fd62278a2eab8160fa476c3a64e66786f99ad
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
Log Message:
-----------
[VPlan] Use VPlan operand order for VPBlendRecipes. (#139475)
Don't use the order of incoming values of IR phis when creating
VPBlendRecipes. Instead, simply use the incoming operands and
blocks from the VPWidenPHIRecipe.
Note that this changes the order of the incoming operands/masks for some
blends.
PR: https://github.com/llvm/llvm-project/pull/139475
Commit: 6a125afdd586411e02f85f6cf078acbd855a2724
https://github.com/llvm/llvm-project/commit/6a125afdd586411e02f85f6cf078acbd855a2724
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc] Fix DyadicFloat::generic_as() using FPBits<float16> not FPBits<T> (#139899)
Commit: 5b9246517f8f82932f3a171c60b5d656f8f51cb0
https://github.com/llvm/llvm-project/commit/5b9246517f8f82932f3a171c60b5d656f8f51cb0
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
Log Message:
-----------
[LV] Fix ScalarIVSteps vplan pattern matcher, remove m_CanonicalIV() (#138298)
783a846 changed VPScalarIVStepsRecipe to take 3 arguments (adding
VF explicitly) instead of 2, but didn't change the corresponding
pattern matcher.
This matcher was only used in vputils::isHeaderMask, and no test
ever reached that function with a ScalarIVSteps recipe for the
value being matched -- it was always a WideCanonicalIV. So the
matcher bailed out immediately before checking arguments and
asserting that the number of arguments in the recipe was the
same provided by the matcher.
Since the constructors for ScalarIVSteps take 3 values, we should
be safe to update the matcher and guard it with a dedicated gtest.
m_CanonicalIV() on the other hand is removed; as a phi recipe it
may not have a consistent number of arguments to match, only
requiring one (the start value) when being constructed with the
assumption that a second incoming value is added for the backedge
later. In order to keep the matcher we would need to add multiple
matchers with different numbers of arguments for it depending on
what phase of vplan construction we were in, and ensure that we
never reorder matcher usage vs. vplan transformation. Since the
main IR PatternMatch.h doesn't contain any matchers for PHI nodes,
I think we can just remove it and match via m_Specific() using the
VPValue we get from Plan.getCanonicalIV().
Commit: 65a9a3d5b12449f4d32b4f6c01bcc421185a4bf6
https://github.com/llvm/llvm-project/commit/65a9a3d5b12449f4d32b4f6c01bcc421185a4bf6
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaOpenACCClause.cpp
A clang/test/SemaOpenACC/gh139894.cpp
Log Message:
-----------
[OpenACC] Fix asserts when checking clauses after invalid directive
When implementing the parsing for OpenACC I ensured that we could always
continue to do diagnostics/etc. For the most part, I was consistent
with that assumption throughout clause Sema, but in 3 cases I left in
some unreachables for cases where this would happen. I've now properly
handled all 3 in a reasonable way.
Fixes: #139894
Commit: f486cc4417059e47e5b6e18294bbacd767c04030
https://github.com/llvm/llvm-project/commit/f486cc4417059e47e5b6e18294bbacd767c04030
Author: Asher Mancinelli <ashermancinelli at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/test/Fir/vector-always.fir
M flang/test/Integration/unroll.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
Log Message:
-----------
[flang] Add loop annotation attributes to the loop backedge (#126082)
Flang currently adds loop metadata to a conditional branch in the loop
preheader, while clang adds it to the loop latch's branch instruction.
Langref says:
> Currently, loop metadata is implemented as metadata attached to the
branch instruction in the loop latch block.
>
> https://llvm.org/docs/LangRef.html#llvm-loop
I misread langref a couple times, but I think this is the appropriate
branch op for the LoopAnnotationAttr. In a couple examples I found that
the metadata was lost entirely during canonicalization. This patch makes
the codegen look more like clang's and the annotations persist through
codegen.
* current clang: https://godbolt.org/z/8WhbcrnG3
* current flang: https://godbolt.org/z/TrPboqqcn
Commit: edc9d91ca4957e3a7b2e10848f3c71fae765fe07
https://github.com/llvm/llvm-project/commit/edc9d91ca4957e3a7b2e10848f3c71fae765fe07
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
Log Message:
-----------
[libc++] Enable the GDB pretty printers for Clang (#135484)
The GDB pretty printer test works just fine with Clang in the CI now,
except that it breaks (not exactly unexpectedly) with optimizations
enabled.
Commit: 9ca8248a9173e7756fbeb7ec3562332639d36423
https://github.com/llvm/llvm-project/commit/9ca8248a9173e7756fbeb7ec3562332639d36423
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/AST/Expr.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/unittests/AST/ASTImporterTest.cpp
Log Message:
-----------
[clang] Save ShuffleVectorExpr args as ConstantExpr (#139709)
The passed indices have to be constant integers anyway, which we verify
before creating the ShuffleVectorExpr. Use the value we create there and
save the indices using a ConstantExpr instead. This way, we don't have
to evaluate the args every time we call getShuffleMaskIdx().
Commit: c5229e92cefd5d25ffdb0dd5264e67e8ce0cdd5f
https://github.com/llvm/llvm-project/commit/c5229e92cefd5d25ffdb0dd5264e67e8ce0cdd5f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/source_tree_layout.rst
Log Message:
-----------
[libc] Fix typos in documentation (#139852)
Commit: 0eb8a92ce9a55059b06bf456b53971bb62246a9f
https://github.com/llvm/llvm-project/commit/0eb8a92ce9a55059b06bf456b53971bb62246a9f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/metadirective_messages.cpp
Log Message:
-----------
[OpenMP] Fix tentative parsing crash with metadirective (#139901)
There were two crashes that have the same root cause: not correctly
handling unexpected tokens. In one case, we were failing to return early
which caused us to parse a paren as a regular token instead of a special
token, causing an assertion. The other case was failing to commit or
revert the tentative parse action when not getting a paren when one was
expected.
Fixes #139665
Commit: 3302f9f63d1cba91b260212992caf6c895582f3b
https://github.com/llvm/llvm-project/commit/3302f9f63d1cba91b260212992caf6c895582f3b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
Move release note to a better spot; NFC
Commit: 7e690db5157bfda1a2be3a99d16e8875a2d42b96
https://github.com/llvm/llvm-project/commit/7e690db5157bfda1a2be3a99d16e8875a2d42b96
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaConcept.cpp
Log Message:
-----------
[Clang][NFC] Introduce no local variable to avoid use after move (#139784)
Static analysis flagged the use of Left.size() because we just moved out
of Left and that would be undefined behavior. Fix is to take the size
and store it in a local variable instead.
Commit: 440e510b896be2ef4a4f0730b8201378beee55b3
https://github.com/llvm/llvm-project/commit/440e510b896be2ef4a4f0730b8201378beee55b3
Author: Fangyi Zhou <me at fangyi.io>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
A clang/test/Analysis/ftime-trace-no-init.cpp
Log Message:
-----------
[clang][analyzer] Fix a nullptr dereference when `-ftime-trace` is used (#139820)
Fixes #139779.
The bug was introduced in #137355 in `SymbolConjured::getStmt`, when
trying to obtain a statement for a CFG initializer without an
initializer. This commit adds a null check before access.
Commit: c2b9aa0e72616edf9f22e7df27295c259a6b8fc5
https://github.com/llvm/llvm-project/commit/c2b9aa0e72616edf9f22e7df27295c259a6b8fc5
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/docs/MLGO.rst
Log Message:
-----------
[docs][mlgo] Fix list formatting (#139922)
Fix after #139205
Commit: c632ac3506731e394dd7e3ac3f3320f5442250b4
https://github.com/llvm/llvm-project/commit/c632ac3506731e394dd7e3ac3f3320f5442250b4
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
Log Message:
-----------
[SLP][NFC]Add a test with the gather operand in phi node in gathered loads
Commit: ee47454bb8be7f4cd1ecbd862c5a82d24ef696c7
https://github.com/llvm/llvm-project/commit/ee47454bb8be7f4cd1ecbd862c5a82d24ef696c7
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization.mlir
Log Message:
-----------
[mlir][vector] Refactor `createWriteOrMaskedWrite` (#138137)
This patch updates `createWriteOrMaskedWrite` to make it consistent with
`createReadOrMaskedRead`.
Before diving into the details: note that these utilities are currently
implemented in different files — "VectorUtils.cpp" (Vector) and
"Vectorization.cpp" (Linalg). In a subsequent patch, I plan to move
`createWriteOrMaskedWrite` into "VectorUtils.cpp".
SUMMARY OF CHANGES:
The main change is to remove the logic that creates the destination
tensor, which previously looked like:
```cpp
Value dest = builder.create<tensor::EmptyOp>(loc, destSizes,
inputType.getElementType());
```
With this patch, createWriteOrMaskedWrite now simply generates:
```mlir
%res = vector.transfer_write %vectorToStore into %dest
```
This replaces the previous form:
```mlir
%dest = tensor.empty(%destSizes)
%res = vector.transfer_write %vectorToStore into %dest
```
In other words, the destination value `%dest` is now passed as an input
parameter. This makes `createWriteOrMaskedWrite` re-usable in contexts
where the destination tensor is already known — for example, in
`vectorizeAsInsertSliceOp`, which I will update in a follow-up patch.
OTHER CHANGES:
* Added comments and clarified TODOs.
* Updated tests: since destination sizes are now computed independently
inside `createWriteOrMaskedWrite`, some additional `tensor.dim` ops
appear. These will be cleaned up by CSE + canonicalization.
Commit: eac7466448f920e733f12beca28ff848cfa4810d
https://github.com/llvm/llvm-project/commit/eac7466448f920e733f12beca28ff848cfa4810d
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/LTO/LTOBackend.cpp
A llvm/test/ThinLTO/X86/cache-emit-asm.ll
Log Message:
-----------
[LTO] Fix a crash with thin LTO caching and asm output (#138203)
The `CacheStream::commit()` function (defined in Caching.cpp) deletes
the underlying raw stream. Some output streamers may hold a pointer
to it, which then will outlive the stream object.
In particular, MCAsmStreamer keeps the pointer to the raw stream
though a separate `formatted_raw_stream` object, which buffers data and
there is no path to explicitly flush this data. Before this change,
the buffered data was flushed during the MCAsmStreamer destructor.
After #136121, this happened after the `commit()` function is called.
Therefore, it caused a crash because the `formatted_raw_stream` object
tries to write the buffered data into a deleted raw stream. Even if
we don't delete the stream to avoid the crash, it would be too late
as the output stream cannot accept data after commit().
Fixes: #138194.
Commit: aa054c681059257d371857945c08840f69f68379
https://github.com/llvm/llvm-project/commit/aa054c681059257d371857945c08840f69f68379
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/eq.ll
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
M llvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/or.ll
Log Message:
-----------
[ConstraintElim] Simplify and/or instead of replacing its operand (#139874)
In `checkOrAndOpImpliedByOther`, replacing an operand of a disjoint or
is unsafe: https://alive2.llvm.org/ce/z/4R4hxN
This patch performs the simplification directly, to avoid miscompilation
and unnecessary canonicalization.
Closes https://github.com/llvm/llvm-project/issues/137937.
Commit: c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9
https://github.com/llvm/llvm-project/commit/c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
[llvm] properly guard dump methods in Support lib classes (#139804)
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.
## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.
NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.
## Background
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.
According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void dump() const;
#endif
```
## Validation
* Local release build succeeds.
* CI
Commit: 93f19cb00917303027be2013c48cf9b78ff453d6
https://github.com/llvm/llvm-project/commit/93f19cb00917303027be2013c48cf9b78ff453d6
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp:1544:14: error:
unused variable 'destType' [-Werror,-Wunused-variable]
Commit: 998dca42351f3292512af56207b603dc2fef565b
https://github.com/llvm/llvm-project/commit/998dca42351f3292512af56207b603dc2fef565b
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Add unit test for protocol enum types (#139848)
Add dedicated unit tests for the protocol enum types.
Commit: 5fb9dca14aeaf12219ff149bf3a4f94c8dc58d8b
https://github.com/llvm/llvm-project/commit/5fb9dca14aeaf12219ff149bf3a4f94c8dc58d8b
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Target/Process.cpp
M lldb/test/API/lang/cpp/dynamic-value/TestDynamicValue.py
Log Message:
-----------
Revert "[lldb] Call Target::ClearAllLoadedSections earlier (#138892)"
This reverts commit 97aa01bef770ec651c86978d137933e09221dd00 and
7e7871d3f58b9da72ca180fcd7f0d2da3f92ec4a due to failures on windows.
Commit: 899f26315cdae25addfd0ddbc6c9390bfbb74c3e
https://github.com/llvm/llvm-project/commit/899f26315cdae25addfd0ddbc6c9390bfbb74c3e
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/docs/CMakeLists.txt
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
A clang/docs/analyzer/user-docs/Options.rst.in
A clang/docs/tools/generate_analyzer_options_docs.py
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
A clang/test/Analysis/generate_analyzer_options_docs.test
M clang/test/lit.cfg.py
Log Message:
-----------
[NFC][analyzer] Document configuration options (#135169)
This commit documents the process of specifying values for the analyzer
options and checker options implemented in the static analyzer, and adds
a script which includes the documentation of the analyzer options (which
was previously only available through a command-line flag) in the
RST-based web documentation.
Commit: ba23eedc68ee1363ae8c31afc0f4b5071779eb0b
https://github.com/llvm/llvm-project/commit/ba23eedc68ee1363ae8c31afc0f4b5071779eb0b
Author: Andi Drebes <47449897+andidr at users.noreply.github.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/include/mlir/IR/OpImplementation.h
M mlir/lib/AsmParser/AsmParserImpl.h
M mlir/lib/AsmParser/Lexer.cpp
M mlir/lib/AsmParser/TokenKinds.def
M mlir/test/IR/parser.mlir
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
Log Message:
-----------
[MLIR][parser] Add token type and parser methods for forward slashes (#125056)
This adds a token for a forward slash to the token definition list and
the methods to `AsmParser::parseSlash()` and
`AsmParser::parseOptionalSlash()`, similar to other tokens used as
operators (e.g., star, plus, etc.). This allows implementations of
attributes that contain arithmetic expressions to support operators with
a forward slash, e.g., a division.
The newly added check tests trigger the parsing of a slash in an
attribute.
Commit: 9a0e1c79886ed95642b3400c0ec82f8a72d52ff6
https://github.com/llvm/llvm-project/commit/9a0e1c79886ed95642b3400c0ec82f8a72d52ff6
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Support/BalancedPartitioning.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/BalancedPartitioning.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
Revert "[llvm] properly guard dump methods in Support lib classes" (#139927)
Reverts llvm/llvm-project#139804
Commit: 26fbbfd98f56a065b415eb9bea88a20e4c44ab31
https://github.com/llvm/llvm-project/commit/26fbbfd98f56a065b415eb9bea88a20e4c44ab31
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/lib/AST/OpenACCClause.cpp
Log Message:
-----------
[NFC][Clang] Simplify getTrailingObjects for OpenACC/OpenMP Clause (#139838)
Simplify usage of `getTrailingObjects` for OpenACC/OpenMP Clause by
using either the non-templated form for single trailing types or using
the single argument form that returns an ArrayRef/MutableArrayRef.
Commit: 9d5d715330821b8dc1c2880a8d6356a7829eef64
https://github.com/llvm/llvm-project/commit/9d5d715330821b8dc1c2880a8d6356a7829eef64
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M bolt/include/bolt/Profile/Heatmap.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/heatmap-preagg.test
Log Message:
-----------
[BOLT][heatmap] Add synthetic hot text section (#139824)
In heatmap mode, report samples and utilization of the section(s)
between hot text markers `[__hot_start, __hot_end)`.
The intended use is with multi-way splitting where there are several
sections that contain "hot" code (e.g. `.text.warm` with CDSplit).
Addresses the comment on #139193
https://github.com/llvm/llvm-project/pull/139193#pullrequestreview-2835274682
Test Plan: updated heatmap-preagg.test
Commit: 31e981ca1dc323c8a32012cb60a0a8fe3985db1a
https://github.com/llvm/llvm-project/commit/31e981ca1dc323c8a32012cb60a0a8fe3985db1a
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
Log Message:
-----------
[NFC][analyzer] Clarify that ExplodedGraph has only one root (#139903)
Previously the class `ExplodedGraph` had a data member called `Roots`
which could (in theory) store multiple root nodes -- but in practice
exploded graphs always had at most one root node (zero was possible for
empty and partially copied graphs) and introducing a graph with multiple
roots would've caused severe malfuncitons (e.g. in code that used the
pattern `*roots_begin()` to refer to _the_ root node).
I don't see any practical use case for adding multiple root nodes in a
single graph (this seems to be yet another of the "generalize for the
sake of generalization" decisions which were common in the early history
of the analyzer), so this commit replaces the vector `Roots` with
`ExplodedNode *Root` (which may be null when the graph is empty or under
construction).
Note that the complicated logic of `ExplodedGraph::trim` deserves a
through cleanup, but I left that for a follow-up commit.
Commit: 2422b1795f3c10edbd9db4cce2a5cd16f657ca17
https://github.com/llvm/llvm-project/commit/2422b1795f3c10edbd9db4cce2a5cd16f657ca17
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
Log Message:
-----------
[DebugInfo] Simplify a string comparison (NFC) (#139918)
Note that the lambda function we are in returns bool, so
FileZero.compare(FileOne) is equivalent to FileZero != FileOne in this
context.
Commit: bcf36548476191c74e88281e00a36a67eab7a278
https://github.com/llvm/llvm-project/commit/bcf36548476191c74e88281e00a36a67eab7a278
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
A llvm/test/CodeGen/RISCV/zilsd.ll
Log Message:
-----------
[RISCV] Lower i64 load/stores to ld/sd with Zilsd. (#139808)
Don't split i64 load/store when we have Zilsd.
In the future, we should enhanced the LoadStoreOptimizer pass to do
this, but this is a good starting point. Even if we support it in
LoadStoreOptimizer, we might still want this for volatile loads/stores
to guarantee the use of Zilsd.
Commit: 441d382f9350c1345555c958244f252c00923824
https://github.com/llvm/llvm-project/commit/441d382f9350c1345555c958244f252c00923824
Author: John Harrison <harjohn at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/unittests/DAP/CMakeLists.txt
A lldb/unittests/DAP/TransportTest.cpp
Log Message:
-----------
[lldb-dap] Adding unit tests for Transport. (#139926)
This adds basic support for testing the Transport class and includes
tests for 'Read' and 'Write'.
Commit: 4ac8e90df78354b06f7b4f8ffa135c1a1ee7e944
https://github.com/llvm/llvm-project/commit/4ac8e90df78354b06f7b4f8ffa135c1a1ee7e944
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/Driver/ppc-mrop-protection-support-check.c
Log Message:
-----------
[PPC] Disable rop-protect for 32-bit OS targets. (#139619)
The instructions are not supported on either 32-bit ELF (due to no
redzone) or 32-bit AIX due to the instructions always using the full
64-bit width of the register inputs.
Commit: f1ecff8f8890a5fd7c78ede648039a206d2dbd83
https://github.com/llvm/llvm-project/commit/f1ecff8f8890a5fd7c78ede648039a206d2dbd83
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
Log Message:
-----------
[libc++] Improve test coverage and readability for swap_ranges (#133752)
This patch enhances the test coverage of `{std,ranges}::swap_ranges` by
adding larger test cases with 100 elements across different containers.
It also inlines standalone tests for better readability, avoiding
unnecessary navigation.
This patch addresses a follow-up suggestion from PR #121138 to extend
test coverage beyond 3 elements.
Commit: 0afa62c169021ac56bc4c25b76604586f4bdae06
https://github.com/llvm/llvm-project/commit/0afa62c169021ac56bc4c25b76604586f4bdae06
Author: Sean Fertile <sd.fertile at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/test/Driver/ppc-mrop-protection-support-check.c
Log Message:
-----------
[NFC] Reduce number of run steps in ppc rop-protect test. (#139607)
Test was running both -mcpu=pwrN and -mcpu=powerN compile steps for
power N = 8, 9 and 10. Reduce to one run step for each form using power8
for one instance and power 10 for the other.
Commit: a3ba00a3dbc314794d8ca14d0c0993ef5a229069
https://github.com/llvm/llvm-project/commit/a3ba00a3dbc314794d8ca14d0c0993ef5a229069
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
Log Message:
-----------
[HLSL][NFC] Simplify resource constructors codegen tests (#139842)
Verification of the local allocas and load/store is not that useful and
it makes the test fragile.
Commit: bf0655f2080248a59aa2b79f2579798b8158869c
https://github.com/llvm/llvm-project/commit/bf0655f2080248a59aa2b79f2579798b8158869c
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
M llvm/include/llvm/IR/DerivedTypes.h
Log Message:
-----------
[RISCV] Improve casting between i1 scalable vectors and i8 fixed vectors for -mrvv-vector-bits (#139190)
For i1 vectors, we used an i8 fixed vector as the storage type.
If the known minimum number of elements of the scalable vector type is
less than 8, we were doing the cast through memory. This used a load or
store from a fixed vector alloca. If is less than 8, DataLayout
indicates that the load/store reads/writes vscale bytes even if vscale
is known and vscale*X is less than or equal to 8. This means the load or
store is outside the bounds of the fixed size alloca as far as
DataLayout is concerned leading to undefined behavior.
This patch avoids this by widening the i1 scalable vector type with zero
elements until it is divisible by 8. This allows it be bitcasted to/from
an i8 scalable vector. We then insert or extract the i8 fixed vector
into this type.
Hopefully this enables #130973 to be accepted.
Commit: 80fa6214821582511c687d00a484929530df1661
https://github.com/llvm/llvm-project/commit/80fa6214821582511c687d00a484929530df1661
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
Log Message:
-----------
[DirectX] Set shader feature flags MinimumPrecision and NativeLowPrecision, and refactor the logic for setting low-precision-related flags (#139623)
Fixes #138997 and does refactoring for low-precision-related flags.
The shader feature flags MinimumPrecision and NativeLowPrecision were
not being set, leading to validation errors.
This PR sets these shader feature flags [as in
DXC](https://github.com/microsoft/DirectXShaderCompiler/blob/377c4ca6d82adb83bf2eaf978a7040443848d6fd/lib/DXIL/DxilShaderFlags.cpp#L58-L63)
and adds tests for them.
This PR also performs some refactoring of low-precision-related flags to
make it less confusing.
- The `UseNativeLowPrecision` DXIL module flag has been renamed to
`NativeLowPrecisionMode` to imply that it is setting some execution
state which the module should be interpreted with
- The LLVM module flag `dx.nativelowprec` is now read only once and sets
a bool to be used by `updateFunctionFlags()` and for setting the DXIL
module flag `NativeLowPrecisionMode`
- The `MinimumPrecision`, `NativeLowPrecision`, and
`LowPrecisionPresent` shader feature flags are all set together under
`updateFunctionFlags()`
- Moved the logic for setting DXIL module flags `NativeLowPrecisionMode`
and `ResMayNotAlias` out of the per-function loop and placed it
alongside the logic for setting other DXIL module flags
(`DisableOptimizations`, `Max64UAVs`, and `UAVsAtEveryStage` flags)
---------
Co-authored-by: Justin Bogner <mail at justinbogner.com>
Commit: 47144a0dc1f987981da14c18af9dbf962a6eb9c7
https://github.com/llvm/llvm-project/commit/47144a0dc1f987981da14c18af9dbf962a6eb9c7
Author: Vladislav Dzhidzhoev <vdzhidzhoev at accesssoftek.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
[CloneFunction][DebugInfo] Ensure DILocalVariables of inlined functions are not cloned (NFC) (#138590)
This change was separated from
https://github.com/llvm/llvm-project/pull/119001.
When cloning functions, use IdentityMDPredicate to ensure that if
DISubprogram is not cloned, then its DILocalVariables are not cloned
either.
This is currently expected to be an NFC, as DILocalVariables only
reference their subprograms (via DILocalScopes) and types, and inlined
DISubprograms and DITypes are not cloned. Thus, DILocalVariables are
mapped to self in ValueMapper (in mapTopLevelUniquedNode).
However, it will be needed for the original PR
https://github.com/llvm/llvm-project/pull/119001, where a
DILocalVariable may refer to a local type of a DISubprogram that is
being cloned. In that case, ValueMapper will clone DILocalVariable even
if it belongs to an inlined DISubprogram that is not cloned, which
should be avoided.
I'm making this change into a separate PR to make the original PR a bit
smaller, and because this has more to do with variables than with types.
Commit: baf2cfa299ea62f3bdb717c8f464f824257527ff
https://github.com/llvm/llvm-project/commit/baf2cfa299ea62f3bdb717c8f464f824257527ff
Author: Fangyi Zhou <me at fangyi.io>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
R clang/test/Analysis/ftime-trace-no-init.cpp
Log Message:
-----------
Revert "[clang][analyzer] Fix a nullptr dereference when `-ftime-trace` is used" (#139936)
Reverts llvm/llvm-project#139820
Reverting due to buildbot failures in asan
Commit: 28d732a24ef06bab3a2cd6c17975281155f63cd6
https://github.com/llvm/llvm-project/commit/28d732a24ef06bab3a2cd6c17975281155f63cd6
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/tools/debugserver/source/CMakeLists.txt
Log Message:
-----------
[lldb][cmake] Set `CMAKE_OSX_SYSROOT` when building debugserver with CMake 4 (#138020)
CMake 4 no longer sets the `CMAKE_OSX_SYSROOT` variable by default. If
you've updated to CMake 4 on macOS (e.g. with brew) and try building
LLDB with CMake/ninja, this will yield an error when building
debugserver that clang is unable to run since it tries to compile files
that don't exist.
These files are supposed to be generated by the `mig` process. `mig`
needs the `CMAKE_OSX_SYSROOT` variable in order to work and without it,
it silently fails to generate the files that later on need to be
compiled.
This commit sets this SDK path for mig and will fatal error out of config
when building debugserver without having set CMAKE_OSX_SYSROOT.
Commit: db099f14d9c80110beb4c1999cfdec7a08ae462d
https://github.com/llvm/llvm-project/commit/db099f14d9c80110beb4c1999cfdec7a08ae462d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lld/docs/ELF/warn_backrefs.rst
M lld/docs/windows_support.rst
Log Message:
-----------
[lld] Fix typos in documentation (#139854)
Commit: cf552a1d82650f9ea4a03e0467d0ca64dbc3e5c4
https://github.com/llvm/llvm-project/commit/cf552a1d82650f9ea4a03e0467d0ca64dbc3e5c4
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
Log Message:
-----------
[LIR] Simplify processLoopStridedStore [nfc]
Just move the assertions and exits down under the existing if clauses.
This improves readability.
Commit: 6049db08fa5005c9535b22da0e07993395129f29
https://github.com/llvm/llvm-project/commit/6049db08fa5005c9535b22da0e07993395129f29
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/ThinLTO/X86/cache-emit-asm.ll
Log Message:
-----------
[LTO] Use llvm-lto2 instead of lld in the test (#139928)
This is a follow-up to #138203. The added test used lld but lld is not
always available, which breaks builds. Make the test use llvm-lto2. Also
make the test a bit more similar to other tests in the same directory.
Commit: a05cf2927aab2494740853e6f4bd98591382e11c
https://github.com/llvm/llvm-project/commit/a05cf2927aab2494740853e6f4bd98591382e11c
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP][NFC]Use WeakTrackVH instead of Instruction in EntryToLastInstruction
Use WEakTrackVH to prevent instability in the vectorizer.
Fixes #139729
Commit: 539265b9044f8cda513e5e65d11f2630a32176cf
https://github.com/llvm/llvm-project/commit/539265b9044f8cda513e5e65d11f2630a32176cf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
Log Message:
-----------
[lldb] Simplify a string comparison (NFC) (#139932)
Commit: d47cd5008bae7c4159dac1f92d266ddeeb70f55d
https://github.com/llvm/llvm-project/commit/d47cd5008bae7c4159dac1f92d266ddeeb70f55d
Author: Bruno Cardoso Lopes <bruno.cardoso at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/blockaddress.mlir
Log Message:
-----------
[MLIR][LLVM] Fix blockaddress mapping to LLVM blocks (#139814)
After each function is translated, both value and block maps are erased,
which makes the current mapping of blockaddresses to llvm blocks broken
- the patching happens only after *all* functions are translated.
Simplify the overall mapping, update comments, variable names and fix
the bug.
---------
Co-authored-by: Christian Ulmann <christianulmann at gmail.com>
Commit: b434bc4e90c2b83156871e7b4e12f04447930b9c
https://github.com/llvm/llvm-project/commit/b434bc4e90c2b83156871e7b4e12f04447930b9c
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR][NFC] Remove redundant pointer casts (#139898)
This mirrors incubator changes from https://github.com/llvm/clangir/pull/1609
Commit: 8c435886aaee7619314edac9b142ef6fb2dd935f
https://github.com/llvm/llvm-project/commit/8c435886aaee7619314edac9b142ef6fb2dd935f
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
R libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/common.h
A libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
Log Message:
-----------
[libc++] Refactor and add benchmark coverage for [alg.sort] (#128236)
This patch adds missing benchmark coverage for partial_sort,
partial_sort_copy, is_sorted and is_sorted_until.
It also refactors the existing benchmarks for sort and stable_sort to
follow the consistent style of the new algorithm benchmarks. However,
these benchmarks were notoriously slow to run since they tested multiple
data patterns on multiple data types. To try to alleviate this, I
reduced the benchmarks to only run on integral types and on a single
non-integral type, which should faithfully show how the algorithm
behaves for anything non-integral. However, this is technically a
reduction in coverage.
Commit: 61c1f6d7e84f1213bd727437a7ec5b7fc5eaf121
https://github.com/llvm/llvm-project/commit/61c1f6d7e84f1213bd727437a7ec5b7fc5eaf121
Author: Martin Storsjö <martin at martin.st>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[cmake] Warn if LLVM_PROFDATA_FILE was specified but wasn't found (#139882)
Ideally we should perhaps even error out here; if the user requested
building with profiling info, but that profile wasn't found, it seems
like the build configuration is subtly broken, and I would expect the
user to want to know about it. But that may be a too disruptive change,
as users may very well rely on being able to build things in such a
setup anyway thanks to Hyrum's Law.
To make things clearer, at least print a warning in this case.
Commit: 6ed05ed773f9ab1aa31c86d55254884ce48f0915
https://github.com/llvm/llvm-project/commit/6ed05ed773f9ab1aa31c86d55254884ce48f0915
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
Log Message:
-----------
[mlir][vector] linearize vector.insert_strided_slice (flatten to vector.shuffle) (#138725)
Extends the set of vector operations that we can linearize to include
vector.insert_strided_slice. The new pattern reuses the ideas from
vector.extract_strided_slice linearization.
Commit: e1b3af6dc4362c5281abf255c4078992ce64ad33
https://github.com/llvm/llvm-project/commit/e1b3af6dc4362c5281abf255c4078992ce64ad33
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/test/CodeGen/RISCV/double-mem.ll
Log Message:
-----------
[RISCV] Add isel patterns to use Zilsd for f64 load/store for Zdinx on RV32. (#139935)
Commit: 76d866f7935b746e5e50e7d760344c14502bd8e7
https://github.com/llvm/llvm-project/commit/76d866f7935b746e5e50e7d760344c14502bd8e7
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGen/dllexport.c
M clang/test/CodeGen/dllimport.c
M clang/test/CodeGen/dso-local-executable.c
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-members.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
Log Message:
-----------
[Cygwin] Global symbols should be external by default (#139797)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.
Divided from https://github.com/llvm/llvm-project/pull/138773
Commit: a3d52ea99e1438d6cd39de2eb27e43ac27700bf7
https://github.com/llvm/llvm-project/commit/a3d52ea99e1438d6cd39de2eb27e43ac27700bf7
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/CodeGenCXX/dllexport-missing-key.cpp
M clang/test/CodeGenCXX/dllimport-missing-key.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/rtti-mingw64.cpp
M clang/test/CodeGenCXX/virt-dtor-key.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
Log Message:
-----------
[Cygwin] RTTI and VTable should be dllexport-ed (#139798)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.
Divided from https://github.com/llvm/llvm-project/pull/138773
Commit: cb53ece2cab0096539e6a5c9d53da4e5db5cc270
https://github.com/llvm/llvm-project/commit/cb53ece2cab0096539e6a5c9d53da4e5db5cc270
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/test/CodeGenCXX/dllexport-members.cpp
M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
Log Message:
-----------
[Cygwin] Template instantiations should be exported by default (#139799)
Behaves as same as both of Clang and GCC targetting MinGW. Required for
compatibility for Cygwin-GCC.
Divided from https://github.com/llvm/llvm-project/pull/138773
Commit: b6c7d7c879032e8e04686f257a3494d3672051cc
https://github.com/llvm/llvm-project/commit/b6c7d7c879032e8e04686f257a3494d3672051cc
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
Log Message:
-----------
[RISCV] Tweak zdinx-large-spill.mir so it tests what it was intended to. NFC
Commit: 03697cf8fce89e8841c67543aa0e4ecebe91387e
https://github.com/llvm/llvm-project/commit/03697cf8fce89e8841c67543aa0e4ecebe91387e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
Log Message:
-----------
[mlir] Use llvm::find_if (NFC) (#139912)
Commit: 5ee67ee6bc45979eb81b087c6a700573e2ab61db
https://github.com/llvm/llvm-project/commit/5ee67ee6bc45979eb81b087c6a700573e2ab61db
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[LLVM][TableGen] Code cleanup in FastISelEmitter.cpp (#139644)
- Use StringRef instead of std::string for `InstructionMemo::Name`.
- Use range for loops, zip_equal and structured bindings in loops.
- Use llvm::any_of instead of manual loops.
- Use ListSeparator.
- Remove {} around single-line if-else chains.
- Use ArrayRef<> instead of const vector reference for function args.
- Change `getLegalCName` to accept a `StringRef` to avoid
StringRef->std::string casting in several places.
- Use StringRef instead of std::string for `OpcodeName` (and in
associated maps).
Tested by verifying no changes in .inc files with and without this
change.
Commit: 3138f6cc8c3378731aad966bf63cb5d54fb9e2ea
https://github.com/llvm/llvm-project/commit/3138f6cc8c3378731aad966bf63cb5d54fb9e2ea
Author: Peng Chen <pchen7e2 at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A mlir/test/mlir-tblgen/cpp-class-comments.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/CMakeLists.txt
A mlir/tools/mlir-tblgen/CppGenUtilities.cpp
A mlir/tools/mlir-tblgen/CppGenUtilities.h
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
Log Message:
-----------
[MLIR] Generate cpp comments for TableGen summary and description (#139606)
This commit takes the `summary` and `description` of TableGen files and
generate a cpp comments on top of the declarations of generated cpp
classes.
The main motivation is to improve the developer experience. When people
work on compilers from an IDE, they will be able to hover over the
symbols (e.g. `"ADialect::BOp"`) in their cpp code and see the summary
and descriptions without having to referring to the `.td` files.
Commit: e24d8662e8121a22c4629071692bd114c3ff8b42
https://github.com/llvm/llvm-project/commit/e24d8662e8121a22c4629071692bd114c3ff8b42
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M bolt/test/X86/callcont-fallthru.s
Log Message:
-----------
[BOLT][test] Disable PLT check in callcont-fallthru (#139953)
Some testing configurations don't support `nm --synthetic` option (where
nm is a symlink to llvm-nm), which prevents us from resolving `puts at plt`
symbol address in profile generation inside the test.
Disable the check until llvm-nm support is landed (#138232).
Test Plan: bin/llvm-lit -a tools/bolt/test/X86/callcont-fallthru.s
Commit: 0563186a76ddf51b8a7b6eaf0357c224f2625df8
https://github.com/llvm/llvm-project/commit/0563186a76ddf51b8a7b6eaf0357c224f2625df8
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
Log Message:
-----------
[llvm] properly guard dump methods in Support lib classes (#139938)
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.
## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.
NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.
## Background
This PR is a redo of #139804 with some changes to fix clang and unit
test build breaks.
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.
According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
LLVM_DUMP_METHOD void dump() const;
#endif
```
## Validation
* Local release build succeeds.
* CI
Commit: 0ab67ec191673a148d84f3819f5c97aaa5b84364
https://github.com/llvm/llvm-project/commit/0ab67ec191673a148d84f3819f5c97aaa5b84364
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
A llvm/include/llvm/Transforms/Vectorize/EVLIndVarSimplify.h
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/EVLIndVarSimplify.cpp
A llvm/test/Transforms/LoopVectorize/RISCV/evl-iv-simplify.ll
Log Message:
-----------
[LV][EVL] Introduce the EVLIndVarSimplify Pass for EVL-vectorized loops (#131005)
When we enable EVL-based loop vectorization w/ predicated tail-folding,
each vectorized loop has effectively two induction variables: one
calculates the step using (VF x vscale) and the other one increases the
IV by values returned from experiment.get.vector.length. The former,
also known as canonical IV, is more favorable for analyses as it's
"countable" in the sense of SCEV; the latter (EVL-based IV), however, is
more favorable to codegen, at least for those that support scalable
vectors like AArch64 SVE and RISC-V.
The idea is that we use canonical IV all the way until the end of all
vectorizers, where we replace it with EVL-based IV using EVLIVSimplify
introduced here. Such that we can have the best from both worlds.
This Pass is enabled by default in RISC-V. However, since we haven't
really vectorize loops with predicate tail-folding by default, this Pass
is no-op at this moment.
Commit: 864f0ff4efc220609764a3075c289b395dc9b907
https://github.com/llvm/llvm-project/commit/864f0ff4efc220609764a3075c289b395dc9b907
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-wasm.c
M llvm/docs/LangRef.rst
M llvm/include/llvm/IR/Intrinsics.td
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/test/Assembler/autoupgrade-thread-pointer.ll
M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-array.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-compat.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
M llvm/test/Transforms/SafeStack/AArch64/abi.ll
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
Log Message:
-----------
[clang][IR] Overload @llvm.thread.pointer to support non-AS0 targets (#132489)
Thread-local globals live, by default, in the default globals address
space, which may not be 0, so we need to overload @llvm.thread.pointer
to support other address spaces, and use the default globals address
space in Clang.
Commit: d46458c11b4ea7906e1d02d598af2033df98f80e
https://github.com/llvm/llvm-project/commit/d46458c11b4ea7906e1d02d598af2033df98f80e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
Log Message:
-----------
[llvm-exegesis] Disable test
This patch disables the skip unsupported instructions test on AArch64. On
machines that have hardware support for pointer authentication the test will
try and disable certain features, but currently fails depending upon the
configuration.
Commit: e8b2c3176a9adf3c3a6b9cb78e2fb140dbdbf71a
https://github.com/llvm/llvm-project/commit/e8b2c3176a9adf3c3a6b9cb78e2fb140dbdbf71a
Author: Sergei Barannikov <barannikov88 at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/lib/Target/M68k/CMakeLists.txt
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.h
M llvm/lib/Target/M68k/M68kInstrInfo.td
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.cpp
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.h
M llvm/lib/Target/M68k/M68kSubtarget.cpp
M llvm/lib/Target/M68k/M68kSubtarget.h
Log Message:
-----------
[M68k] TableGen-erate SDNode descriptions (#139449)
This consolidates node definitions into one place and enables automatic
node verification.
Part of #119709.
Commit: a608b4914209f4238fe83a6b5fa8fd7219f11115
https://github.com/llvm/llvm-project/commit/a608b4914209f4238fe83a6b5fa8fd7219f11115
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/CodeGen/Passes.h
Log Message:
-----------
[llvm] clang-format llvm/CodeGen/Passes.h (#139951)
Reformat a few header files under llvm/include/llvm/CodeGen/Passes.h
with clang-format in preparation for a codemod.
This is just a formatting change; no functionality is impacted.
Commit: 960afcc90e8fb75b725ed331f4bc60eb2398d6e5
https://github.com/llvm/llvm-project/commit/960afcc90e8fb75b725ed331f4bc60eb2398d6e5
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
[clang][modules] Timestamp-less validation API (#138983)
Timestamps are an implementation detail of the cross-process module
cache implementation. This PR hides it from the `ModuleCache` API, which
simplifies the in-process implementation.
Commit: 0dd2c9f7a3f42138da0b8ed4fea80470ea7a510f
https://github.com/llvm/llvm-project/commit/0dd2c9f7a3f42138da0b8ed4fea80470ea7a510f
Author: Thurston Dang <thurston at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
Log Message:
-----------
Fix-forward build error from #132489
Replace deprecated use of getDeclaration that was added in #132489
llvm/lib/IR/AutoUpgrade.cpp:1480:26: error: 'getDeclaration' is deprecated: Use getOrInsertDeclaration instead [-Werror,-Wdeprecated-declarations]
1480 | NewFn = Intrinsic::getDeclaration(
| ^~~~~~~~~~~~~~
| getOrInsertDeclaration
Commit: 21f1a616d60934953de3f304aafcad968e770b0a
https://github.com/llvm/llvm-project/commit/21f1a616d60934953de3f304aafcad968e770b0a
Author: James Newling <james.newling at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
Log Message:
-----------
[mlir][vector] Additional transpose folding (#138347)
Fold transpose with unit-dimensions. Seen in the wild:
```
%0 = vector.transpose %arg, [0, 2, 1, 3] : vector<6x1x1x4xi8> to vector<6x1x1x4xi8>
```
This transpose can be folded because (1) it preserves the shape and (2)
the shuffled dims are unit extent.
Also addresses comment about static vs anonymous namespace:
https://github.com/llvm/llvm-project/pull/135841#discussion_r2071869067
---------
Signed-off-by: James Newling <james.newling at gmail.com>
Commit: 847561e48f4e00f69ceaa3b25ca6ad2138fbbb83
https://github.com/llvm/llvm-project/commit/847561e48f4e00f69ceaa3b25ca6ad2138fbbb83
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
Log Message:
-----------
[NVPTX] Further refactor intrinsic definitions to remove redundancy (NFC) (#139924)
Note: the diff indicates this change has no impact on the intrinsic code
generated by table-gen.
Commit: 1043810769a5efcbf5d1f468dc48ddcc289c5b32
https://github.com/llvm/llvm-project/commit/1043810769a5efcbf5d1f468dc48ddcc289c5b32
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
R offload/test/offloading/gpupgo/pgo1.c
R offload/test/offloading/gpupgo/pgo2.c
A offload/test/offloading/gpupgo/pgo_atomic_teams.c
A offload/test/offloading/gpupgo/pgo_atomic_threads.c
A offload/test/offloading/gpupgo/pgo_device_and_host.c
A offload/test/offloading/gpupgo/pgo_device_only.c
Log Message:
-----------
[PGO][Offload] Update PGO GPU tests (#132262)
Commit: 1778d3b8245b9a7787bbd0b00f60f879ed4689c9
https://github.com/llvm/llvm-project/commit/1778d3b8245b9a7787bbd0b00f60f879ed4689c9
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir] [vector] Add linearization pattern for vector.create_mask (#138214)
This PR is a breakdown [3 / 4] of the PR #136193
The PR adds linearization patterns for vector.create_mask
Commit: d0a6b2f4c093f085f861f0f91767091e561bcec0
https://github.com/llvm/llvm-project/commit/d0a6b2f4c093f085f861f0f91767091e561bcec0
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
Log Message:
-----------
[gn] port 3bdfa6f3e8eb
Commit: 3a9992d248b510428d31a6ba644a673fe5c9683e
https://github.com/llvm/llvm-project/commit/3a9992d248b510428d31a6ba644a673fe5c9683e
Author: Nico Weber <thakis at chromium.org>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
Log Message:
-----------
[gn] port ec406e86745af
Commit: 87e6f1d7eba26e724c2824353edb48b3d9269957
https://github.com/llvm/llvm-project/commit/87e6f1d7eba26e724c2824353edb48b3d9269957
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 0ab67ec19167
Commit: 699a2f188d77a273312a68ae8bae60606559c860
https://github.com/llvm/llvm-project/commit/699a2f188d77a273312a68ae8bae60606559c860
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
Log Message:
-----------
[gn build] Port 14836597f5d8
Commit: 8b53ada2422a350397cbe4058f8cd8c21a5137a5
https://github.com/llvm/llvm-project/commit/8b53ada2422a350397cbe4058f8cd8c21a5137a5
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
Log Message:
-----------
[gn build] Port 5b9246517f8f
Commit: 41fcd7e78be0dac2c8d984afce341b5223703a8a
https://github.com/llvm/llvm-project/commit/41fcd7e78be0dac2c8d984afce341b5223703a8a
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M llvm/include/llvm/ADT/BitmaskEnum.h
M llvm/unittests/ADT/BitmaskEnumTest.cpp
Log Message:
-----------
[ADT] Add operator! to BitmaskEnum (#139958)
Add a logical (boolean) "not" operator.
Commit: 18b885f66babff3a10451bc811ffc077d61ed8ee
https://github.com/llvm/llvm-project/commit/18b885f66babff3a10451bc811ffc077d61ed8ee
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang/include/clang/Serialization/ModuleCache.h
M clang/include/clang/Serialization/ModuleFile.h
M clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h
M clang/include/clang/Tooling/DependencyScanning/InProcessModuleCache.h
M clang/lib/Frontend/ASTUnit.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/Serialization/ModuleCache.cpp
M clang/lib/Serialization/ModuleManager.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
M clang/lib/Tooling/DependencyScanning/InProcessModuleCache.cpp
Log Message:
-----------
Revert "[clang][modules] Timestamp-less validation API" (#139987)
Reverts llvm/llvm-project#138983
Commit: 34be80aa6edda60e240e4ea46f28b1b54ababf72
https://github.com/llvm/llvm-project/commit/34be80aa6edda60e240e4ea46f28b1b54ababf72
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M mlir/lib/ExecutionEngine/JitRunner.cpp
R mlir/test/mlir-runner/verify-entry-point-result.mlir
A mlir/test/mlir-runner/verify-entry-point.mlir
Log Message:
-----------
[mlir-runner] Check entry function does not expect arguments (#136825)
This PR fixes a crash if entry function has inputs. Fixes #136143.
Commit: 520773b47eba0df02730b929df073e1a38474bae
https://github.com/llvm/llvm-project/commit/520773b47eba0df02730b929df073e1a38474bae
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-05-14 (Wed, 14 May 2025)
Changed paths:
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
Log Message:
-----------
[HLSL] Add resource constructor with implicit binding for global resources (#138976)
Adds constructor for resources with implicit binding and applies it to
all resources without binding at the global scope.
Adds Clang builtin function
`__builtin_hlsl_resource_handlefromimplicitbinding` that gets translated
to `llvm.dx|spv.resource.handlefromimplicitbinding` intrinsic calls.
Specific bindings are assigned in DXILResourceImplicitBinding pass.
Design proposals:
https://github.com/llvm/wg-hlsl/blob/main/proposals/0024-implicit-resource-binding.md
https://github.com/llvm/wg-hlsl/blob/main/proposals/0025-resource-constructors.md
One change from the proposals is that the `orderId` parameter is added
onto the constructor. Originally it was supposed to be generated in
codegen when the `llvm.dx|spv.resource.handlefromimplicitbinding` call
is emitted, but that is not possible because the call is inside a
constructor, and the constructor body is generated once per resource
type and not resource instance. So the only way to inject instance-based
data like `orderId` into the
`llvm.dx|spv.resource.handlefromimplicitbinding` call is that it must
come in via the constructor argument.
Closes #136784
Commit: 2a8960e48b178fb2533e71bbe164e9f383046114
https://github.com/llvm/llvm-project/commit/2a8960e48b178fb2533e71bbe164e9f383046114
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xandesvdot-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesVDot (Andes Vector Dot Product) extension. (#139849)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
This patch only supports assembler.
Intrinsics support will be added in a later patch.
Commit: ee786975195c9cab264c88db8c43980b78780167
https://github.com/llvm/llvm-project/commit/ee786975195c9cab264c88db8c43980b78780167
Author: Jim Lin <jim at andestech.com>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsRISCV.td
A llvm/include/llvm/IR/IntrinsicsRISCVXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll
Log Message:
-----------
[RISCV] Support LLVM IR intrinsics for XAndesVPackFPH (#139860)
This patch adds LLVM IR intrinsic support for XAndesVPackFPH.
The document for the intrinsics can be found at:
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/intrinsic_funcs.adoc#andes-vector-packed-fp16-extensionxandesvpackfph
and with policy variants
https://github.com/andestech/andes-vector-intrinsic-doc/blob/ast-v5_4_0-release-v5/auto-generated/andes-v5/policy_funcs/intrinsic_funcs.adoc#andes-vector-packed-fp16-extensionxandesvpackfph
The clang part will be added in a later patch.
Co-authored-by: Tony Chuan-Yue Yuan <yuan593 at andestech.com>
Commit: 86d53f7a90efa3f11812b156b6affa692cfb5399
https://github.com/llvm/llvm-project/commit/86d53f7a90efa3f11812b156b6affa692cfb5399
Author: Iris Shi <0.0 at owo.li>
Date: 2025-05-15 (Thu, 15 May 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/Heatmap.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/Heatmap.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/lib/Utils/CommandLineOpts.cpp
M bolt/test/X86/bolt-address-translation-yaml.test
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/heatmap-preagg.test
M bolt/test/X86/pre-aggregated-perf.test
M bolt/test/perf2bolt/perf_test.test
M bolt/tools/heatmap/heatmap.cpp
M clang-tools-extra/include-cleaner/lib/WalkAST.cpp
M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
M clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
M clang/docs/CMakeLists.txt
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/docs/analyzer/user-docs.rst
M clang/docs/analyzer/user-docs/CommandLineUsage.rst
A clang/docs/analyzer/user-docs/Options.rst.in
A clang/docs/tools/generate_analyzer_options_docs.py
M clang/include/clang/AST/DeclCXX.h
M clang/include/clang/AST/DeclOpenACC.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprOpenMP.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/DynamicAllocator.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/OpenACCClause.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/StmtOpenACC.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/TargetInfo.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/Headers/__clang_hip_cmath.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Lex/MacroArgs.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/ParseTentative.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.cpp
M clang/lib/Sema/HLSLBuiltinTypeDeclBuilder.h
M clang/lib/Sema/HLSLExternalSemaSource.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Serialization/ASTWriter.cpp
M clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
M clang/lib/Tooling/Inclusions/Stdlib/CSpecialSymbolMap.inc
M clang/lib/Tooling/Inclusions/Stdlib/StdSpecialSymbolMap.inc
M clang/test/AST/HLSL/ByteAddressBuffers-AST.hlsl
M clang/test/AST/HLSL/StructuredBuffers-AST.hlsl
M clang/test/AST/HLSL/TypedBuffers-AST.hlsl
M clang/test/Analysis/builtin_bitcast.cpp
M clang/test/Analysis/exercise-ps.c
A clang/test/Analysis/generate_analyzer_options_docs.test
M clang/test/CIR/CodeGen/basic.c
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/Transforms/vector-extract-fold.cir
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-call.c
M clang/test/CodeGen/RISCV/attr-riscv-rvv-vector-bits-less-8-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-bitcast-less-8.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-cast.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-codegen.c
M clang/test/CodeGen/RISCV/attr-rvv-vector-bits-globals.c
A clang/test/CodeGen/attr-counted-by-for-pointers.c
M clang/test/CodeGen/attr-counted-by.c
M clang/test/CodeGen/builtins-arm64.c
M clang/test/CodeGen/builtins-nvptx.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/dllexport.c
M clang/test/CodeGen/dllimport.c
M clang/test/CodeGen/dso-local-executable.c
A clang/test/CodeGen/unused_nested_enump.cpp
M clang/test/CodeGenCXX/dllexport-members.cpp
M clang/test/CodeGenCXX/dllexport-missing-key.cpp
M clang/test/CodeGenCXX/dllexport.cpp
M clang/test/CodeGenCXX/dllimport-members.cpp
M clang/test/CodeGenCXX/dllimport-missing-key.cpp
M clang/test/CodeGenCXX/dllimport-rtti.cpp
M clang/test/CodeGenCXX/dllimport.cpp
M clang/test/CodeGenCXX/dso-local-executable.cpp
M clang/test/CodeGenCXX/mingw-template-dllexport.cpp
M clang/test/CodeGenCXX/rtti-mingw64.cpp
M clang/test/CodeGenCXX/virt-dtor-key.cpp
M clang/test/CodeGenCXX/vtable-key-function-ios.cpp
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/static-local-ctor.hlsl
M clang/test/Driver/clang-sycl-linker-test.cpp
M clang/test/Driver/ppc-mrop-protection-support-check.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Headers/opencl-c-header.cl
A clang/test/Modules/sdk-settings-json-dep.m
M clang/test/OpenMP/metadirective_messages.cpp
A clang/test/OpenMP/openmp_workshare.c
M clang/test/OpenMP/stripe_messages.cpp
M clang/test/Parser/cxx-invalid-function-decl.cpp
M clang/test/Sema/bitfield-layout.c
M clang/test/Sema/bitfield-layout_1.c
M clang/test/Sema/builtins-wasm.c
M clang/test/Sema/mms-bitfields.c
M clang/test/Sema/warn-tentative-defn-compat.c
M clang/test/SemaCXX/bitfield.cpp
A clang/test/SemaCXX/consteval-assert.cpp
M clang/test/SemaCXX/cxx2a-three-way-comparison.cpp
M clang/test/SemaCXX/dllexport.cpp
M clang/test/SemaCXX/dllimport.cpp
A clang/test/SemaCXX/libstdcxx_format_kind_hack.cpp
R clang/test/SemaCXX/libstdcxx_gets_hack.cpp
R clang/test/SemaCXX/libstdcxx_pointer_return_false_hack.cpp
A clang/test/SemaCXX/ms_struct-bitfield-padding.cpp
M clang/test/SemaObjCXX/cxxoperator-selector.mm
A clang/test/SemaOpenACC/gh139894.cpp
M clang/test/SemaTemplate/GH55509.cpp
M clang/test/lit.cfg.py
M clang/tools/clang-scan-deps/ClangScanDeps.cpp
M clang/tools/clang-sycl-linker/ClangSYCLLinker.cpp
M clang/tools/clang-sycl-linker/SYCLLinkOpts.td
M clang/unittests/AST/ASTImporterTest.cpp
M compiler-rt/cmake/Modules/CompilerRTUtils.cmake
M compiler-rt/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh
M flang/docs/Extensions.md
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/CUFAddConstructor.cpp
M flang/lib/Optimizer/Transforms/CUFComputeSharedMemoryOffsetsAndSize.cpp
M flang/lib/Optimizer/Transforms/CUFGPUToLLVMConversion.cpp
M flang/lib/Optimizer/Transforms/CUFOpConversion.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-deallocate.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/definable.cpp
M flang/lib/Semantics/definable.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/test/Fir/invalid.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/Fir/vector-always.fir
M flang/test/Integration/unroll.f90
M flang/test/Integration/unroll_and_jam.f90
M flang/test/Integration/vector-always.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
A flang/test/Lower/OpenMP/Todo/taskloop-inreduction.f90
A flang/test/Lower/OpenMP/Todo/taskloop-reduction.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-allocatable1.f90
M flang/test/Semantics/OpenACC/acc-kernels-loop.f90
M flang/test/Semantics/OpenACC/acc-parallel-loop-validity.f90
M flang/test/Semantics/OpenACC/acc-serial-loop.f90
A flang/test/Semantics/OpenMP/cancellation-construct-type.f90
A flang/test/Semantics/OpenMP/flush04.f90
A flang/test/Semantics/OpenMP/reduction-undefined.f90
M flang/test/Semantics/assign11.f90
A flang/test/Semantics/boz-rhs.f90
A flang/test/Semantics/bug139129.f90
A flang/test/Semantics/c7108.f90
M flang/test/Semantics/call28.f90
A flang/test/Semantics/call43.f90
M flang/test/Semantics/deallocate07.f90
M flang/test/Semantics/declarations05.f90
M flang/test/Semantics/generic09.f90
M flang/test/Semantics/resolve11.f90
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
A flang/test/Transforms/dlti-dependency.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M libc/config/linux/riscv/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/dev/source_tree_layout.rst
M libc/fuzzing/__support/CMakeLists.txt
M libc/fuzzing/__support/hashtable_fuzz.cpp
A libc/hdr/types/ACTION.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/ENTRY.h
M libc/include/llvm-libc-types/ENTRY.h
M libc/include/sys/syscall.h.def
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/GPU/utils.h
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/src/poll/linux/poll.cpp
M libc/src/search/CMakeLists.txt
M libc/src/search/hsearch.h
M libc/src/search/hsearch_r.h
M libc/src/sys/time/linux/utimes.cpp
A libclc/clc/include/clc/geometric/binary_decl.inc
A libclc/clc/include/clc/geometric/binary_def.inc
A libclc/clc/include/clc/geometric/clc_cross.h
A libclc/clc/include/clc/geometric/clc_distance.h
M libclc/clc/include/clc/geometric/clc_dot.h
R libclc/clc/include/clc/geometric/clc_dot.inc
A libclc/clc/include/clc/geometric/clc_fast_distance.h
A libclc/clc/include/clc/geometric/clc_fast_length.h
A libclc/clc/include/clc/geometric/clc_length.h
R libclc/clc/include/clc/geometric/floatn.inc
A libclc/clc/include/clc/geometric/unary_decl.inc
A libclc/clc/include/clc/geometric/unary_def.inc
A libclc/clc/include/clc/math/clc_ilogb.h
A libclc/clc/include/clc/math/clc_logb.h
M libclc/clc/include/clc/math/math.h
A libclc/clc/include/clc/math/unary_decl_with_int_return.inc
A libclc/clc/include/clc/math/unary_def_with_int_return.inc
M libclc/clc/lib/generic/SOURCES
A libclc/clc/lib/generic/geometric/clc_cross.cl
A libclc/clc/lib/generic/geometric/clc_cross.inc
A libclc/clc/lib/generic/geometric/clc_distance.cl
A libclc/clc/lib/generic/geometric/clc_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_distance.cl
A libclc/clc/lib/generic/geometric/clc_fast_distance.inc
A libclc/clc/lib/generic/geometric/clc_fast_length.cl
A libclc/clc/lib/generic/geometric/clc_length.cl
A libclc/clc/lib/generic/geometric/clc_length.inc
A libclc/clc/lib/generic/math/clc_ilogb.cl
A libclc/clc/lib/generic/math/clc_ilogb.inc
A libclc/clc/lib/generic/math/clc_logb.cl
A libclc/clc/lib/generic/math/clc_logb.inc
M libclc/generic/include/clc/geometric/distance.h
R libclc/generic/include/clc/geometric/distance.inc
M libclc/generic/include/clc/geometric/dot.h
R libclc/generic/include/clc/geometric/dot.inc
M libclc/generic/include/clc/geometric/fast_distance.h
R libclc/generic/include/clc/geometric/fast_distance.inc
M libclc/generic/include/clc/geometric/fast_length.h
R libclc/generic/include/clc/geometric/fast_length.inc
M libclc/generic/include/clc/geometric/fast_normalize.h
R libclc/generic/include/clc/geometric/fast_normalize.inc
M libclc/generic/include/clc/geometric/length.h
R libclc/generic/include/clc/geometric/length.inc
M libclc/generic/include/clc/geometric/normalize.h
R libclc/generic/include/clc/geometric/normalize.inc
M libclc/generic/include/clc/math/ilogb.h
R libclc/generic/include/clc/math/ilogb.inc
M libclc/generic/lib/geometric/cross.cl
M libclc/generic/lib/geometric/distance.cl
R libclc/generic/lib/geometric/distance.inc
M libclc/generic/lib/geometric/fast_distance.cl
R libclc/generic/lib/geometric/fast_distance.inc
M libclc/generic/lib/geometric/fast_length.cl
M libclc/generic/lib/geometric/fast_normalize.cl
M libclc/generic/lib/geometric/fast_normalize.inc
M libclc/generic/lib/geometric/length.cl
M libclc/generic/lib/math/ilogb.cl
M libclc/generic/lib/math/logb.cl
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__cxx03/__algorithm/adjacent_find.h
M libcxx/include/__cxx03/__algorithm/all_of.h
M libcxx/include/__cxx03/__algorithm/any_of.h
M libcxx/include/__cxx03/__algorithm/binary_search.h
M libcxx/include/__cxx03/__algorithm/comp.h
M libcxx/include/__cxx03/__algorithm/comp_ref_type.h
M libcxx/include/__cxx03/__algorithm/copy.h
M libcxx/include/__cxx03/__algorithm/copy_backward.h
M libcxx/include/__cxx03/__algorithm/copy_if.h
M libcxx/include/__cxx03/__algorithm/copy_move_common.h
M libcxx/include/__cxx03/__algorithm/copy_n.h
M libcxx/include/__cxx03/__algorithm/count.h
M libcxx/include/__cxx03/__algorithm/count_if.h
M libcxx/include/__cxx03/__algorithm/equal.h
M libcxx/include/__cxx03/__algorithm/equal_range.h
M libcxx/include/__cxx03/__algorithm/fill.h
M libcxx/include/__cxx03/__algorithm/fill_n.h
M libcxx/include/__cxx03/__algorithm/find.h
M libcxx/include/__cxx03/__algorithm/find_end.h
M libcxx/include/__cxx03/__algorithm/find_first_of.h
M libcxx/include/__cxx03/__algorithm/find_if.h
M libcxx/include/__cxx03/__algorithm/find_if_not.h
M libcxx/include/__cxx03/__algorithm/find_segment_if.h
M libcxx/include/__cxx03/__algorithm/for_each.h
M libcxx/include/__cxx03/__algorithm/for_each_segment.h
M libcxx/include/__cxx03/__algorithm/generate.h
M libcxx/include/__cxx03/__algorithm/generate_n.h
M libcxx/include/__cxx03/__algorithm/half_positive.h
M libcxx/include/__cxx03/__algorithm/includes.h
M libcxx/include/__cxx03/__algorithm/is_heap.h
M libcxx/include/__cxx03/__algorithm/is_heap_until.h
M libcxx/include/__cxx03/__algorithm/is_partitioned.h
M libcxx/include/__cxx03/__algorithm/is_permutation.h
M libcxx/include/__cxx03/__algorithm/is_sorted.h
M libcxx/include/__cxx03/__algorithm/is_sorted_until.h
M libcxx/include/__cxx03/__algorithm/iter_swap.h
M libcxx/include/__cxx03/__algorithm/iterator_operations.h
M libcxx/include/__cxx03/__algorithm/lexicographical_compare.h
M libcxx/include/__cxx03/__algorithm/lower_bound.h
M libcxx/include/__cxx03/__algorithm/make_heap.h
M libcxx/include/__cxx03/__algorithm/make_projected.h
M libcxx/include/__cxx03/__algorithm/max.h
M libcxx/include/__cxx03/__algorithm/max_element.h
M libcxx/include/__cxx03/__algorithm/merge.h
M libcxx/include/__cxx03/__algorithm/min.h
M libcxx/include/__cxx03/__algorithm/min_element.h
M libcxx/include/__cxx03/__algorithm/minmax.h
M libcxx/include/__cxx03/__algorithm/minmax_element.h
M libcxx/include/__cxx03/__algorithm/mismatch.h
M libcxx/include/__cxx03/__algorithm/move.h
M libcxx/include/__cxx03/__algorithm/move_backward.h
M libcxx/include/__cxx03/__algorithm/next_permutation.h
M libcxx/include/__cxx03/__algorithm/none_of.h
M libcxx/include/__cxx03/__algorithm/nth_element.h
M libcxx/include/__cxx03/__algorithm/partial_sort.h
M libcxx/include/__cxx03/__algorithm/partial_sort_copy.h
M libcxx/include/__cxx03/__algorithm/partition.h
M libcxx/include/__cxx03/__algorithm/partition_copy.h
M libcxx/include/__cxx03/__algorithm/partition_point.h
M libcxx/include/__cxx03/__algorithm/pop_heap.h
M libcxx/include/__cxx03/__algorithm/prev_permutation.h
M libcxx/include/__cxx03/__algorithm/push_heap.h
M libcxx/include/__cxx03/__algorithm/remove.h
M libcxx/include/__cxx03/__algorithm/remove_copy.h
M libcxx/include/__cxx03/__algorithm/remove_copy_if.h
M libcxx/include/__cxx03/__algorithm/remove_if.h
M libcxx/include/__cxx03/__algorithm/replace.h
M libcxx/include/__cxx03/__algorithm/replace_copy.h
M libcxx/include/__cxx03/__algorithm/replace_copy_if.h
M libcxx/include/__cxx03/__algorithm/replace_if.h
M libcxx/include/__cxx03/__algorithm/reverse.h
M libcxx/include/__cxx03/__algorithm/reverse_copy.h
M libcxx/include/__cxx03/__algorithm/rotate.h
M libcxx/include/__cxx03/__algorithm/rotate_copy.h
M libcxx/include/__cxx03/__algorithm/search.h
M libcxx/include/__cxx03/__algorithm/search_n.h
M libcxx/include/__cxx03/__algorithm/set_difference.h
M libcxx/include/__cxx03/__algorithm/set_intersection.h
M libcxx/include/__cxx03/__algorithm/set_symmetric_difference.h
M libcxx/include/__cxx03/__algorithm/set_union.h
M libcxx/include/__cxx03/__algorithm/shuffle.h
M libcxx/include/__cxx03/__algorithm/sift_down.h
M libcxx/include/__cxx03/__algorithm/sort.h
M libcxx/include/__cxx03/__algorithm/sort_heap.h
M libcxx/include/__cxx03/__algorithm/swap_ranges.h
M libcxx/include/__cxx03/__algorithm/transform.h
M libcxx/include/__cxx03/__algorithm/unique.h
M libcxx/include/__cxx03/__algorithm/unique_copy.h
M libcxx/include/__cxx03/__algorithm/unwrap_iter.h
M libcxx/include/__cxx03/__algorithm/unwrap_range.h
M libcxx/include/__cxx03/__algorithm/upper_bound.h
M libcxx/include/__cxx03/__atomic/atomic.h
M libcxx/include/__cxx03/__atomic/atomic_base.h
M libcxx/include/__cxx03/__atomic/atomic_flag.h
M libcxx/include/__cxx03/__atomic/cxx_atomic_impl.h
M libcxx/include/__cxx03/__atomic/to_gcc_order.h
M libcxx/include/__cxx03/__bit/blsr.h
M libcxx/include/__cxx03/__bit/countl.h
M libcxx/include/__cxx03/__bit/countr.h
M libcxx/include/__cxx03/__bit/invert_if.h
M libcxx/include/__cxx03/__bit/popcount.h
M libcxx/include/__cxx03/__bit/rotate.h
M libcxx/include/__cxx03/__bit_reference
M libcxx/include/__cxx03/__chrono/duration.h
M libcxx/include/__cxx03/__chrono/steady_clock.h
M libcxx/include/__cxx03/__chrono/system_clock.h
M libcxx/include/__cxx03/__chrono/time_point.h
M libcxx/include/__cxx03/__condition_variable/condition_variable.h
M libcxx/include/__cxx03/__config
M libcxx/include/__cxx03/__debug_utils/randomize_range.h
M libcxx/include/__cxx03/__debug_utils/sanitizers.h
M libcxx/include/__cxx03/__debug_utils/strict_weak_ordering_check.h
M libcxx/include/__cxx03/__functional/binary_function.h
M libcxx/include/__cxx03/__functional/binary_negate.h
M libcxx/include/__cxx03/__functional/binder1st.h
M libcxx/include/__cxx03/__functional/binder2nd.h
M libcxx/include/__cxx03/__functional/identity.h
M libcxx/include/__cxx03/__functional/mem_fn.h
M libcxx/include/__cxx03/__functional/mem_fun_ref.h
M libcxx/include/__cxx03/__functional/operations.h
M libcxx/include/__cxx03/__functional/pointer_to_binary_function.h
M libcxx/include/__cxx03/__functional/pointer_to_unary_function.h
M libcxx/include/__cxx03/__functional/reference_wrapper.h
M libcxx/include/__cxx03/__functional/unary_function.h
M libcxx/include/__cxx03/__functional/unary_negate.h
M libcxx/include/__cxx03/__functional/weak_result_type.h
M libcxx/include/__cxx03/__fwd/array.h
M libcxx/include/__cxx03/__fwd/pair.h
M libcxx/include/__cxx03/__hash_table
M libcxx/include/__cxx03/__iterator/access.h
M libcxx/include/__cxx03/__iterator/advance.h
M libcxx/include/__cxx03/__iterator/back_insert_iterator.h
M libcxx/include/__cxx03/__iterator/bounded_iter.h
M libcxx/include/__cxx03/__iterator/distance.h
M libcxx/include/__cxx03/__iterator/front_insert_iterator.h
M libcxx/include/__cxx03/__iterator/insert_iterator.h
M libcxx/include/__cxx03/__iterator/istream_iterator.h
M libcxx/include/__cxx03/__iterator/istreambuf_iterator.h
M libcxx/include/__cxx03/__iterator/iterator.h
M libcxx/include/__cxx03/__iterator/move_iterator.h
M libcxx/include/__cxx03/__iterator/next.h
M libcxx/include/__cxx03/__iterator/prev.h
M libcxx/include/__cxx03/__iterator/reverse_iterator.h
M libcxx/include/__cxx03/__iterator/wrap_iter.h
M libcxx/include/__cxx03/__locale
M libcxx/include/__cxx03/__math/traits.h
M libcxx/include/__cxx03/__memory/addressof.h
M libcxx/include/__cxx03/__memory/allocate_at_least.h
M libcxx/include/__cxx03/__memory/allocator.h
M libcxx/include/__cxx03/__memory/allocator_traits.h
M libcxx/include/__cxx03/__memory/assume_aligned.h
M libcxx/include/__cxx03/__memory/auto_ptr.h
M libcxx/include/__cxx03/__memory/builtin_new_allocator.h
M libcxx/include/__cxx03/__memory/compressed_pair.h
M libcxx/include/__cxx03/__memory/construct_at.h
M libcxx/include/__cxx03/__memory/pointer_traits.h
M libcxx/include/__cxx03/__memory/raw_storage_iterator.h
M libcxx/include/__cxx03/__memory/shared_ptr.h
M libcxx/include/__cxx03/__memory/swap_allocator.h
M libcxx/include/__cxx03/__memory/temp_value.h
M libcxx/include/__cxx03/__memory/temporary_buffer.h
M libcxx/include/__cxx03/__memory/uninitialized_algorithms.h
M libcxx/include/__cxx03/__memory/unique_ptr.h
M libcxx/include/__cxx03/__memory/voidify.h
M libcxx/include/__cxx03/__mutex/mutex.h
M libcxx/include/__cxx03/__mutex/once_flag.h
M libcxx/include/__cxx03/__numeric/accumulate.h
M libcxx/include/__cxx03/__numeric/adjacent_difference.h
M libcxx/include/__cxx03/__numeric/inner_product.h
M libcxx/include/__cxx03/__numeric/iota.h
M libcxx/include/__cxx03/__numeric/partial_sum.h
M libcxx/include/__cxx03/__random/clamp_to_integral.h
M libcxx/include/__cxx03/__random/discard_block_engine.h
M libcxx/include/__cxx03/__random/independent_bits_engine.h
M libcxx/include/__cxx03/__random/is_seed_sequence.h
M libcxx/include/__cxx03/__random/linear_congruential_engine.h
M libcxx/include/__cxx03/__random/mersenne_twister_engine.h
M libcxx/include/__cxx03/__random/random_device.h
M libcxx/include/__cxx03/__random/shuffle_order_engine.h
M libcxx/include/__cxx03/__random/subtract_with_carry_engine.h
M libcxx/include/__cxx03/__random/uniform_int_distribution.h
M libcxx/include/__cxx03/__split_buffer
M libcxx/include/__cxx03/__string/char_traits.h
M libcxx/include/__cxx03/__string/constexpr_c_functions.h
M libcxx/include/__cxx03/__system_error/error_category.h
M libcxx/include/__cxx03/__thread/poll_with_backoff.h
M libcxx/include/__cxx03/__thread/this_thread.h
M libcxx/include/__cxx03/__tree
M libcxx/include/__cxx03/__type_traits/aligned_storage.h
M libcxx/include/__cxx03/__type_traits/aligned_union.h
M libcxx/include/__cxx03/__type_traits/integral_constant.h
M libcxx/include/__cxx03/__type_traits/invoke.h
M libcxx/include/__cxx03/__type_traits/is_constant_evaluated.h
M libcxx/include/__cxx03/__type_traits/is_literal_type.h
M libcxx/include/__cxx03/__type_traits/is_swappable.h
M libcxx/include/__cxx03/__type_traits/result_of.h
M libcxx/include/__cxx03/__utility/convert_to_integral.h
M libcxx/include/__cxx03/__utility/exception_guard.h
M libcxx/include/__cxx03/__utility/forward.h
M libcxx/include/__cxx03/__utility/is_pointer_in_range.h
M libcxx/include/__cxx03/__utility/is_valid_range.h
M libcxx/include/__cxx03/__utility/move.h
M libcxx/include/__cxx03/__utility/no_destroy.h
M libcxx/include/__cxx03/__utility/pair.h
M libcxx/include/__cxx03/__utility/rel_ops.h
M libcxx/include/__cxx03/__utility/swap.h
M libcxx/include/__cxx03/array
M libcxx/include/__cxx03/bitset
M libcxx/include/__cxx03/cmath
M libcxx/include/__cxx03/codecvt
M libcxx/include/__cxx03/complex
M libcxx/include/__cxx03/cwchar
M libcxx/include/__cxx03/deque
M libcxx/include/__cxx03/forward_list
M libcxx/include/__cxx03/limits
M libcxx/include/__cxx03/list
M libcxx/include/__cxx03/locale
M libcxx/include/__cxx03/map
M libcxx/include/__cxx03/new
M libcxx/include/__cxx03/queue
M libcxx/include/__cxx03/ratio
M libcxx/include/__cxx03/regex
M libcxx/include/__cxx03/set
M libcxx/include/__cxx03/stack
M libcxx/include/__cxx03/string
M libcxx/include/__cxx03/string_view
M libcxx/include/__cxx03/typeinfo
M libcxx/include/__cxx03/unordered_map
M libcxx/include/__cxx03/unordered_set
M libcxx/include/__cxx03/vector
M libcxx/include/__type_traits/add_lvalue_reference.h
M libcxx/include/__type_traits/add_pointer.h
M libcxx/include/__type_traits/add_rvalue_reference.h
M libcxx/include/__type_traits/decay.h
M libcxx/include/__type_traits/remove_all_extents.h
M libcxx/include/__type_traits/remove_extent.h
M libcxx/include/__vector/vector_bool.h
M libcxx/src/locale.cpp
R libcxx/test/benchmarks/algorithms/pstl.stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/ranges_stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/common.h
A libcxx/test/benchmarks/algorithms/sorting/is_sorted.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/is_sorted_until.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/partial_sort_copy.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/sort.bench.cpp
A libcxx/test/benchmarks/algorithms/sorting/stable_sort.bench.cpp
R libcxx/test/benchmarks/algorithms/stable_sort.bench.cpp
M libcxx/test/libcxx/gdb/gdb_pretty_printer_test.sh.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/ranges.swap_ranges.pass.cpp
M libcxx/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
M libcxx/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
M libunwind/src/UnwindRegistersRestore.S
M libunwind/src/UnwindRegistersSave.S
M lld/ELF/ICF.cpp
M lld/ELF/SymbolTable.cpp
M lld/ELF/SymbolTable.h
M lld/MachO/SymbolTable.cpp
M lld/docs/ELF/warn_backrefs.rst
M lld/docs/windows_support.rst
R lld/test/ELF/aarch64-got-merging-icf.s
M lld/test/ELF/icf-preemptible.s
M lldb/docs/resources/build.rst
M lldb/docs/resources/contributing.rst
M lldb/docs/resources/debugging.rst
M lldb/docs/resources/qemu-testing.rst
M lldb/docs/use/variable.rst
A lldb/packages/Python/lldbsuite/test/make/attach.h
M lldb/packages/Python/lldbsuite/test/make/test_common.h
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/source/Host/windows/ProcessLauncherWindows.cpp
M lldb/source/Interpreter/Options.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.h
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABIMacOSX_arm64.h
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.cpp
M lldb/source/Plugins/ABI/AArch64/ABISysV_arm64.h
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
M lldb/source/Symbol/FuncUnwinders.cpp
M lldb/test/API/commands/process/attach-resume/main.cpp
M lldb/test/API/commands/process/attach/main.cpp
M lldb/test/API/commands/process/detach-resumes/main.cpp
M lldb/test/API/commands/register/register/register_command/main.cpp
M lldb/test/API/driver/batch_mode/main.c
M lldb/test/API/functionalities/deleted-executable/main.cpp
M lldb/test/API/functionalities/load_after_attach/main.cpp
M lldb/test/API/functionalities/process_group/main.c
M lldb/test/API/functionalities/thread/create_after_attach/main.cpp
M lldb/test/API/functionalities/unwind/frameless-faulted/Makefile
M lldb/test/API/iohandler/completion/main.c
A lldb/test/API/macosx/branch-islands/Makefile
A lldb/test/API/macosx/branch-islands/TestBranchIslands.py
A lldb/test/API/macosx/branch-islands/foo.c
A lldb/test/API/macosx/branch-islands/main.c
A lldb/test/API/macosx/branch-islands/padding1.s
A lldb/test/API/macosx/branch-islands/padding2.s
A lldb/test/API/macosx/branch-islands/padding3.s
A lldb/test/API/macosx/branch-islands/padding4.s
M lldb/test/API/python_api/hello_world/main.c
M lldb/test/API/tools/lldb-dap/attach/main.c
M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
M lldb/test/API/tools/lldb-dap/disconnect/main.cpp
M lldb/test/API/tools/lldb-dap/io/TestDAP_io.py
M lldb/test/API/tools/lldb-server/attach-wait/shim.cpp
M lldb/test/API/tools/lldb-server/main.cpp
M lldb/tools/debugserver/source/CMakeLists.txt
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/Watchpoint.cpp
M lldb/tools/lldb-dap/Watchpoint.h
M lldb/tools/lldb-server/lldb-platform.cpp
M lldb/unittests/DAP/CMakeLists.txt
M lldb/unittests/DAP/ProtocolTypesTest.cpp
A lldb/unittests/DAP/TransportTest.cpp
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/GlobalISel/KnownBits.rst
M llvm/docs/LangRef.rst
M llvm/docs/MLGO.rst
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/TestSuiteGuide.md
M llvm/include/llvm-c/Orc.h
M llvm/include/llvm/ADT/APFixedPoint.h
M llvm/include/llvm/ADT/APFloat.h
M llvm/include/llvm/ADT/APInt.h
M llvm/include/llvm/ADT/BitmaskEnum.h
M llvm/include/llvm/ADT/DynamicAPInt.h
M llvm/include/llvm/ADT/SlowDynamicAPInt.h
M llvm/include/llvm/ADT/TrieRawHashMap.h
M llvm/include/llvm/ADT/Twine.h
M llvm/include/llvm/Analysis/LoopInfo.h
M llvm/include/llvm/Analysis/ObjCARCUtil.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
M llvm/include/llvm/CodeGen/MachineRegisterInfo.h
M llvm/include/llvm/CodeGen/Passes.h
M llvm/include/llvm/DebugInfo/DIContext.h
A llvm/include/llvm/DebugInfo/GSYM/GsymDIContext.h
M llvm/include/llvm/DebugInfo/Symbolize/Symbolize.h
M llvm/include/llvm/Frontend/OpenACC/ACC.td
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/include/llvm/IR/DerivedTypes.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/include/llvm/IR/Intrinsics.td
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/IntrinsicsRISCV.td
A llvm/include/llvm/IR/IntrinsicsRISCVXAndes.td
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Passes/MachinePassRegistry.def
M llvm/include/llvm/Support/BranchProbability.h
M llvm/include/llvm/Support/DebugCounter.h
M llvm/include/llvm/Support/KnownBits.h
M llvm/include/llvm/Support/SMTAPI.h
M llvm/include/llvm/Support/ScaledNumber.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/TargetMacroFusion.td
A llvm/include/llvm/Transforms/Vectorize/EVLIndVarSimplify.h
M llvm/lib/Bitcode/Reader/MetadataLoader.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
M llvm/lib/CodeGen/GCMetadata.cpp
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp
M llvm/lib/CodeGen/GlobalISel/Legalizer.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/MachinePipeliner.cpp
M llvm/lib/CodeGen/MachineRegisterInfo.cpp
M llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/lib/CodeGen/ShadowStackGCLowering.cpp
M llvm/lib/DebugInfo/GSYM/CMakeLists.txt
A llvm/lib/DebugInfo/GSYM/GsymDIContext.cpp
M llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
M llvm/lib/DebugInfo/Symbolize/CMakeLists.txt
M llvm/lib/DebugInfo/Symbolize/Symbolize.cpp
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTOBackend.cpp
M llvm/lib/Passes/CMakeLists.txt
M llvm/lib/Passes/PassBuilder.cpp
M llvm/lib/Passes/PassBuilderPipelines.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Support/APFixedPoint.cpp
M llvm/lib/Support/DebugCounter.cpp
M llvm/lib/Support/DynamicAPInt.cpp
M llvm/lib/Support/KnownBits.cpp
M llvm/lib/Support/ScaledNumber.cpp
M llvm/lib/Support/SlowDynamicAPInt.cpp
M llvm/lib/Support/Z3Solver.cpp
M llvm/lib/TableGen/Record.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/GISel/AArch64CallLowering.cpp
M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PostLegalizerCombiner.cpp
M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUCombine.td
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPostLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankCombiner.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.h
M llvm/lib/Target/DirectX/DirectXTargetMachine.cpp
M llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
M llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp
M llvm/lib/Target/Hexagon/HexagonPatterns.td
M llvm/lib/Target/Hexagon/HexagonPatternsHVX.td
M llvm/lib/Target/M68k/CMakeLists.txt
M llvm/lib/Target/M68k/M68kISelDAGToDAG.cpp
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kISelLowering.h
M llvm/lib/Target/M68k/M68kInstrInfo.td
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.cpp
A llvm/lib/Target/M68k/M68kSelectionDAGInfo.h
M llvm/lib/Target/M68k/M68kSubtarget.cpp
M llvm/lib/Target/M68k/M68kSubtarget.h
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/Mips/MipsInstrInfo.cpp
M llvm/lib/Target/Mips/MipsInstrInfo.h
M llvm/lib/Target/Mips/MipsPostLegalizerCombiner.cpp
M llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTX.h
M llvm/lib/Target/NVPTX/NVPTXForwardParams.cpp
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.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXReplaceImageHandles.cpp
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/GISel/RISCVO0PreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPostLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/GISel/RISCVPreLegalizerCombiner.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.td
M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZilsd.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVVLOptimizer.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
M llvm/lib/Target/SPIRV/SPIRVPreLegalizerCombiner.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/X86/X86FixupVectorConstants.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86MCInstLower.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
M llvm/lib/Transforms/ObjCARC/ObjCARC.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARC.h
M llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp
M llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp
M llvm/lib/Transforms/ObjCARC/ProvenanceAnalysis.cpp
M llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
M llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
M llvm/lib/Transforms/Vectorize/CMakeLists.txt
A llvm/lib/Transforms/Vectorize/EVLIndVarSimplify.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanVerifier.cpp
M llvm/runtimes/CMakeLists.txt
M llvm/test/Analysis/DependenceAnalysis/SimpleSIVNoValidityCheckFixedSize.ll
A llvm/test/Assembler/amdgcn-unreachable.ll
M llvm/test/Assembler/autoupgrade-thread-pointer.ll
A llvm/test/CodeGen/AArch64/GlobalISel/knownbits-const.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitreverse.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs-in-fcmp.mir
M llvm/test/CodeGen/AArch64/GlobalISel/postselectopt-dead-cc-defs.mir
M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll
M llvm/test/CodeGen/AArch64/bf16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/bitreverse.ll
M llvm/test/CodeGen/AArch64/call-rv-marker.ll
M llvm/test/CodeGen/AArch64/fcmp.ll
M llvm/test/CodeGen/AArch64/fp16-v8-instructions.ll
M llvm/test/CodeGen/AArch64/reserveXreg.ll
M llvm/test/CodeGen/AArch64/stack-tagging-prologue.ll
M llvm/test/CodeGen/AArch64/sve2-bsl.ll
M llvm/test/CodeGen/AArch64/vecreduce-and-legalization.ll
M llvm/test/CodeGen/AArch64/vselect-constants.ll
A llvm/test/CodeGen/AMDGPU/GlobalISel/combine-shift-amount-zext.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.128bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.160bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.16bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.192bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.224bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.256bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.288bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.320bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.32bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.352bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.384bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.448bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.48bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.576bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.640bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.64bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.704bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.768bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.832bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.896bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.960bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.96bit.ll
M llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.ptr.ll
A llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-attr.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats-debug.mir
M llvm/test/CodeGen/AMDGPU/machine-scheduler-sink-trivial-remats.mir
M llvm/test/CodeGen/AMDGPU/mfma-loop.ll
A llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-fail.ll
M llvm/test/CodeGen/AMDGPU/sdwa-peephole-cndmask-wave32.mir
M llvm/test/CodeGen/DirectX/ShaderFlags/low-precision.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/res-may-not-alias-sm6.7.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-0.ll
M llvm/test/CodeGen/DirectX/ShaderFlags/use-native-low-precision-1.ll
M llvm/test/CodeGen/DirectX/llc-pipeline.ll
M llvm/test/CodeGen/Hexagon/fminmax-v67.ll
M llvm/test/CodeGen/Hexagon/fminmax.ll
M llvm/test/CodeGen/MIR/NVPTX/floating-point-immediate-operands.mir
A llvm/test/CodeGen/Mips/qnan.ll
A llvm/test/CodeGen/Mips/unreachable.ll
M llvm/test/CodeGen/NVPTX/convert-sm100a.ll
M llvm/test/CodeGen/NVPTX/dynamic-stackalloc-regression.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
A llvm/test/CodeGen/NVPTX/ldg-invariant-256.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing-invariant.ll
A llvm/test/CodeGen/NVPTX/load-store-256-addressing.ll
A llvm/test/CodeGen/NVPTX/load-store-vectors-256.ll
A llvm/test/CodeGen/NVPTX/shift-opt.ll
M llvm/test/CodeGen/PowerPC/optimize-vector.ll
M llvm/test/CodeGen/PowerPC/pr47891.ll
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/double-mem.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/CodeGen/RISCV/note-gnu-property-zicfiss.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.mir
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadb.ll
A llvm/test/CodeGen/RISCV/rvv/xandesvpackfph-vfpmadt.ll
M llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
A llvm/test/CodeGen/RISCV/zilsd.ll
A llvm/test/CodeGen/SPIRV/global-var-name-align.ll
A llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
M llvm/test/CodeGen/X86/avx-cvt-3.ll
M llvm/test/CodeGen/X86/avx512-i1test.ll
M llvm/test/CodeGen/X86/insertelement-ones.ll
M llvm/test/CodeGen/X86/isel-brcond-fcmp.ll
M llvm/test/CodeGen/X86/isel-brcond-icmp.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v16.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic-ranks.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-basic.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy-multi-key.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-buoy.mir
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-calls.ll
A llvm/test/DebugInfo/KeyInstructions/X86/dwarf-ranks-blocks.ll
M llvm/test/ExecutionEngine/JITLink/x86-64/ELF_perf.s
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-array.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-compat.ll
M llvm/test/Instrumentation/HWAddressSanitizer/alloca-with-calls.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope-setjmp.ll
M llvm/test/Instrumentation/HWAddressSanitizer/use-after-scope.ll
A llvm/test/MC/RISCV/xandesvdot-valid.s
M llvm/test/MC/RISCV/xqcilia-valid.s
M llvm/test/Object/archive-update.test
M llvm/test/TableGen/MacroFusion.td
A llvm/test/TableGen/SubRegsAndAliases.td
A llvm/test/ThinLTO/X86/cache-emit-asm.ll
M llvm/test/Transforms/AggressiveInstCombine/or-shift-chain.ll
M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/eq.ll
M llvm/test/Transforms/ConstraintElimination/gep-arithmetic-signed-predicates.ll
M llvm/test/Transforms/ConstraintElimination/geps-precondition-overflow-check.ll
M llvm/test/Transforms/ConstraintElimination/loops-bottom-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/loops-header-tested-pointer-cmps.ll
M llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
M llvm/test/Transforms/ConstraintElimination/or.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readfirstlane.ll
A llvm/test/Transforms/InstCombine/AMDGPU/llvm.amdgcn.readlane.ll
M llvm/test/Transforms/InstCombine/cast.ll
A llvm/test/Transforms/InterleavedAccess/RISCV/addrspace.ll
A llvm/test/Transforms/LoadStoreVectorizer/NVPTX/load-store-256-bit.ll
M llvm/test/Transforms/LoopInterchange/inner-only-reductions.ll
A llvm/test/Transforms/LoopInterchange/legality-check.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
A llvm/test/Transforms/LoopVectorize/RISCV/evl-iv-simplify.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/if-conversion-nest.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-counting-down.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
A llvm/test/Transforms/ObjCARC/contract-attached-call-retain-to-claim.ll
A llvm/test/Transforms/ObjCARC/pr138961-regression.ll
A llvm/test/Transforms/SLPVectorizer/X86/phi-operand-gathered-loads.ll
M llvm/test/Transforms/SafeStack/AArch64/abi.ll
M llvm/test/Transforms/SafeStack/AArch64/abi_ssp.ll
M llvm/test/Transforms/SafeStack/AArch64/unreachable.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-begin.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-check.ll
M llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-end.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-32.ll
A llvm/test/Transforms/WholeProgramDevirt/virtual-const-prop-small-alignment-64.ll
M llvm/test/lit.cfg.py
M llvm/test/tools/llvm-exegesis/AArch64/skip_unsupported_instructions.s
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe
A llvm/test/tools/llvm-symbolizer/Inputs/addr-gsymonly.exe.gsym
A llvm/test/tools/llvm-symbolizer/sym-gsymonly.test
M llvm/tools/llvm-symbolizer/Opts.td
M llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp
M llvm/unittests/ADT/BitmaskEnumTest.cpp
M llvm/unittests/CodeGen/CMakeLists.txt
A llvm/unittests/CodeGen/GCMetadata.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp
M llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
M llvm/unittests/Transforms/Vectorize/CMakeLists.txt
A llvm/unittests/Transforms/Vectorize/VPlanPatternMatchTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
M llvm/utils/TableGen/MacroFusionPredicatorEmitter.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/X86RecognizableInstr.cpp
M llvm/utils/TableGen/X86RecognizableInstr.h
M llvm/utils/gn/secondary/clang-tools-extra/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/unittests/clang-doc/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/GSYM/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Passes/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/Vectorize/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/CodeGen/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Transforms/Vectorize/BUILD.gn
M mlir/docs/Bufferization.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/transform/Ch0.md
M mlir/include/mlir/Conversion/Passes.td
M mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.h
M mlir/include/mlir/Dialect/Arith/Transforms/Passes.td
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/Bufferization.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/Bufferize.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.h
M mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/Func/Transforms/Passes.h
M mlir/include/mlir/Dialect/Func/Transforms/Passes.td
M mlir/include/mlir/Dialect/GPU/TransformOps/GPUTransformOps.td
M mlir/include/mlir/Dialect/GPU/Transforms/Passes.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/LegalizeForExport.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/OptimizeForNVVM.h
M mlir/include/mlir/Dialect/LLVMIR/Transforms/Passes.td
M mlir/include/mlir/Dialect/LLVMIR/Transforms/RequestCWrappers.h
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
R mlir/include/mlir/Dialect/Polynomial/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
R mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialAttributes.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialDialect.td
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialOps.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.h
R mlir/include/mlir/Dialect/Polynomial/IR/PolynomialTypes.td
M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.h
M mlir/include/mlir/Dialect/Tensor/Transforms/Passes.td
M mlir/include/mlir/IR/OpImplementation.h
M mlir/include/mlir/IR/Properties.td
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
A mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/AsmParser/AsmParserImpl.h
M mlir/lib/AsmParser/Lexer.cpp
M mlir/lib/AsmParser/TokenKinds.def
M mlir/lib/Conversion/ArmSMEToSCF/ArmSMEToSCF.cpp
M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
M mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/RaiseMemrefDialect.cpp
M mlir/lib/Dialect/Arith/Transforms/UnsignedWhenEquivalent.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/Func/Transforms/DuplicateFunctionElimination.cpp
M mlir/lib/Dialect/GPU/CMakeLists.txt
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
A mlir/lib/Dialect/GPU/Transforms/PromoteShuffleToAMDGPU.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMTypeSyntax.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/LegalizeForExport.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/OptimizeForNVVM.cpp
M mlir/lib/Dialect/LLVMIR/Transforms/RequestCWrappers.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
R mlir/lib/Dialect/Polynomial/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
R mlir/lib/Dialect/Polynomial/IR/Polynomial.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialCanonicalization.td
R mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
R mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
M mlir/lib/Dialect/Quant/Utils/UniformSupport.cpp
M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/FoldTensorSubsetOps.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaProfileCompliance.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUSubgroupDistribute.cpp
M mlir/lib/ExecutionEngine/JitRunner.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchFinder.cpp
M mlir/lib/Query/Matcher/Parser.cpp
M mlir/lib/Query/Matcher/Parser.h
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
M mlir/lib/TableGen/Interfaces.cpp
M mlir/lib/TableGen/Pattern.cpp
M mlir/lib/TableGen/Predicate.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/lib/Transforms/CompositePass.cpp
M mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
M mlir/test/Dialect/Affine/affine-expand-index-ops.mlir
M mlir/test/Dialect/Affine/invalid.mlir
M mlir/test/Dialect/Affine/loop-fusion-4.mlir
M mlir/test/Dialect/Affine/ops.mlir
M mlir/test/Dialect/Arith/bufferize.mlir
M mlir/test/Dialect/ArmSME/invalid.mlir
M mlir/test/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation/dealloc-other.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-allow-return-allocs.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-encodings.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-partial.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize-force-copy-before-write.mlir
M mlir/test/Dialect/Bufferization/Transforms/one-shot-module-bufferize.mlir
M mlir/test/Dialect/Bufferization/Transforms/tensorlike-bufferlike.mlir
M mlir/test/Dialect/Bufferization/Transforms/transform-ops.mlir
M mlir/test/Dialect/Bufferization/canonicalize.mlir
M mlir/test/Dialect/Bufferization/ops.mlir
M mlir/test/Dialect/ControlFlow/one-shot-bufferize.mlir
A mlir/test/Dialect/GPU/promote-shuffle-amdgpu.mlir
M mlir/test/Dialect/LLVMIR/roundtrip.mlir
M mlir/test/Dialect/Linalg/bufferize.mlir
M mlir/test/Dialect/Linalg/hoisting.mlir
M mlir/test/Dialect/Linalg/transform-op-bufferize-to-allocation.mlir
M mlir/test/Dialect/Linalg/vectorization.mlir
M mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
M mlir/test/Dialect/MemRef/normalize-memrefs.mlir
R mlir/test/Dialect/Polynomial/attributes.mlir
R mlir/test/Dialect/Polynomial/canonicalization.mlir
R mlir/test/Dialect/Polynomial/ops.mlir
R mlir/test/Dialect/Polynomial/ops_errors.mlir
R mlir/test/Dialect/Polynomial/types.mlir
M mlir/test/Dialect/SCF/bufferize.mlir
M mlir/test/Dialect/SCF/one-shot-bufferize-encodings.mlir
M mlir/test/Dialect/Shape/bufferize.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_matvec_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_sampled_matmul_lib.mlir
M mlir/test/Dialect/SparseTensor/GPU/gpu_sddmm_lib.mlir
M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
M mlir/test/Dialect/SparseTensor/dense.mlir
M mlir/test/Dialect/SparseTensor/fuse_sparse_pad_with_consumer.mlir
M mlir/test/Dialect/SparseTensor/sorted_coo.mlir
M mlir/test/Dialect/SparseTensor/sparse_1d.mlir
M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
M mlir/test/Dialect/SparseTensor/sparse_3d.mlir
M mlir/test/Dialect/SparseTensor/sparse_affine.mlir
M mlir/test/Dialect/SparseTensor/sparse_batch.mlir
M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_fusion.mlir
M mlir/test/Dialect/SparseTensor/sparse_int_ops.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels.mlir
M mlir/test/Dialect/SparseTensor/sparse_kernels_to_iterator.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower_col.mlir
M mlir/test/Dialect/SparseTensor/sparse_lower_inplace.mlir
M mlir/test/Dialect/SparseTensor/sparse_nd.mlir
M mlir/test/Dialect/SparseTensor/sparse_outbuf.mlir
M mlir/test/Dialect/SparseTensor/sparse_pack.mlir
M mlir/test/Dialect/SparseTensor/sparse_parallel_reduce.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm.mlir
M mlir/test/Dialect/SparseTensor/sparse_perm_lower.mlir
M mlir/test/Dialect/SparseTensor/sparse_scalars.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm.mlir
M mlir/test/Dialect/SparseTensor/sparse_sddmm_org.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_index.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm.mlir
M mlir/test/Dialect/SparseTensor/spy_sddmm_bsr.mlir
M mlir/test/Dialect/SparseTensor/unused-tensor.mlir
M mlir/test/Dialect/SparseTensor/vectorize_reduction.mlir
M mlir/test/Dialect/Tensor/bufferize.mlir
M mlir/test/Dialect/Vector/bufferize.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/canonicalize/vector-transpose.mlir
M mlir/test/Dialect/Vector/linearize.mlir
M mlir/test/Dialect/Vector/vector-transpose-lowering.mlir
M mlir/test/IR/parser.mlir
R mlir/test/IR/parser_dialect_loading.mlir
M mlir/test/Integration/Dialect/Tosa/CPU/test-maxpool-dynamic.mlir
M mlir/test/Integration/Dialect/Vector/CPU/AMX/mulf-full.mlir
M mlir/test/Integration/Dialect/Vector/CPU/AMX/muli-full.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/load-vertical.mlir
A mlir/test/Target/LLVMIR/Import/struct.ll
M mlir/test/Target/LLVMIR/blockaddress.mlir
M mlir/test/Transforms/composite-pass.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgFusionTransforms.cpp
M mlir/test/lib/Dialect/Test/CMakeLists.txt
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestAttributes.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Pass/TestVulkanRunnerPipeline.cpp
A mlir/test/mlir-query/complex-test.mlir
R mlir/test/mlir-runner/verify-entry-point-result.mlir
A mlir/test/mlir-runner/verify-entry-point.mlir
A mlir/test/mlir-tblgen/cpp-class-comments.td
A mlir/test/mlir-tblgen/method-body-with-only-spaces.td
M mlir/tools/mlir-query/mlir-query.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/CMakeLists.txt
A mlir/tools/mlir-tblgen/CppGenUtilities.cpp
A mlir/tools/mlir-tblgen/CppGenUtilities.h
M mlir/tools/mlir-tblgen/DialectGen.cpp
M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
M mlir/tools/mlir-tblgen/OpInterfacesGen.cpp
M mlir/unittests/Dialect/CMakeLists.txt
R mlir/unittests/Dialect/Polynomial/CMakeLists.txt
R mlir/unittests/Dialect/Polynomial/PolynomialMathTest.cpp
M mlir/utils/tree-sitter-mlir/dialect/bufferization.js
M mlir/utils/tree-sitter-mlir/queries/highlights.scm
M offload/plugins-nextgen/common/include/PluginInterface.h
R offload/test/offloading/gpupgo/pgo1.c
R offload/test/offloading/gpupgo/pgo2.c
A offload/test/offloading/gpupgo/pgo_atomic_teams.c
A offload/test/offloading/gpupgo/pgo_atomic_threads.c
A offload/test/offloading/gpupgo/pgo_device_and_host.c
A offload/test/offloading/gpupgo/pgo_device_only.c
M openmp/runtime/src/ompt-internal.h
M openmp/runtime/src/ompt-specific.h
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Merge branch 'main' into users/el-ev/riscv-q-ext
Compare: https://github.com/llvm/llvm-project/compare/41892d8082e6...86d53f7a90ef
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