[all-commits] [llvm/llvm-project] 38f825: Reject out-of-bounds enum sentinels in DenseMap/De...
Alexey Bataev via All-commits
all-commits at lists.llvm.org
Tue Jul 29 12:35:34 PDT 2025
Branch: refs/heads/users/alexey-bataev/spr/slpinitial-fma-support
Home: https://github.com/llvm/llvm-project
Commit: 38f82534bbe9e1c9f5edd975a72e07beb7048423
https://github.com/llvm/llvm-project/commit/38f82534bbe9e1c9f5edd975a72e07beb7048423
Author: James Y Knight <jyknight at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Basic/Specifiers.h
M llvm/include/llvm/ADT/DenseMapInfo.h
Log Message:
-----------
Reject out-of-bounds enum sentinels in DenseMap/DenseSet. (#150308)
This makes the bug in PR #125556 which was fixed by
dc87a14efb381d960c8fbf988221f31216d7f5fd into a compile-time error.
...and fix a newly-discovered instance of this issue, triggered by a
`llvm::MapVector<AccessSpecifier, ...>` in
clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp.
Commit: 3003e4e8616015cd247ccbede67598ac544825da
https://github.com/llvm/llvm-project/commit/3003e4e8616015cd247ccbede67598ac544825da
Author: Dan Gohman <dev at sunfishcode.online>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/Maintainers.md
Log Message:
-----------
Fix formatting in llvm/Maintainers.md. (#147545)
Add a backslash to fix the formatting in llvm/Maintainers.md.
Commit: 1ba3859cdbf263182502b1c00546e985bdb633da
https://github.com/llvm/llvm-project/commit/1ba3859cdbf263182502b1c00546e985bdb633da
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Parser/OpenMP/block-construct.f90
A flang/test/Parser/OpenMP/construct-prefix-conflict.f90
Log Message:
-----------
[flang][OpenMP] Parse strictly- and loosely-structured blocks (#150298)
Block-associated constructs have, as their body, either a strictly- or a
loosely-structured block. In the former case the end-directive is
optional.
The existing parser required the end-directive to be present in all
cases.
Note:
The definitions of these blocks in the OpenMP spec exclude cases where
the block contains more than one construct, and the first one is
BLOCK/ENDBLOCK. For example, the following is invalid:
```
!$omp target
block ! This cannot be a strictly-structured block, but
continue ! a loosely-structured block cannot start with
endblock ! BLOCK/ENDBLOCK
continue !
!$omp end target
```
Commit: 3d5b18af1752ad4b859de6bdba4b25ef040a3dce
https://github.com/llvm/llvm-project/commit/3d5b18af1752ad4b859de6bdba4b25ef040a3dce
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/llvm/use-new-mlir-op-builder.rst
Log Message:
-----------
[clang-tidy] Fix typo in doc (#150424)
Commit: 61110e0f62ddf9bacb42975fa0a4cdef1a83746b
https://github.com/llvm/llvm-project/commit/61110e0f62ddf9bacb42975fa0a4cdef1a83746b
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
Log Message:
-----------
[TTI] Share value and type based llvm.vector.reverse cost (#150415)
We currently provide a generic cost for llvm.vector.reverse in BasicTTI
by reusing the reverse shuffle cost, but only for the value based cost.
Since the argument values aren't actually used, move this into the type
based costing method so that type based costing can also reuse it.
Commit: 0c4d56a6747b0f9677b47cba82053ac92ba67962
https://github.com/llvm/llvm-project/commit/0c4d56a6747b0f9677b47cba82053ac92ba67962
Author: parabola94 <heavybaby5000 at toki.waseda.jp>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Driver/Driver.h
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
Log Message:
-----------
[clang][Driver] Add a new member for CLANG_DEFAULT_LINKER to clang::driver::Driver (NFC) (#149784)
The default linker can be changed by a CMake variable
CLANG_DEFAULT_LINKER, but it is shared in all toolchains. This patch
intends to resolve this.
Commit: deede2b2db262a932f07a386e59c2ca0b1a798d1
https://github.com/llvm/llvm-project/commit/deede2b2db262a932f07a386e59c2ca0b1a798d1
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/malloc.c
Log Message:
-----------
[analyzer] Eliminate unique release point assertion (#150240)
MallocChecker.cpp has a complex heuristic that supresses reports where
the memory release happens during the release of a reference-counted
object (to suppress a significant amount of false positives).
Previously this logic asserted that there is at most one release point
corresponding to a symbol, but it turns out that there is a rare corner
case where the symbol can be released, forgotten and then released
again. This commit removes that assertion to avoid the crash. (As this
issue just affects a bug suppression heuristic, I didn't want to dig
deeper and modify the way the state of the symbol is changed.)
Fixes #149754
Commit: 74505806b6446d1868c1e07cbaebfaa29291beb5
https://github.com/llvm/llvm-project/commit/74505806b6446d1868c1e07cbaebfaa29291beb5
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI][Github] Bump runner version in CI containers
v2.327.0 is the latest version. Bump the version in the containers to
keep them up to date.
Commit: 628cfe0e0a491a61ab8e85c371eb73e67d693712
https://github.com/llvm/llvm-project/commit/628cfe0e0a491a61ab8e85c371eb73e67d693712
Author: Julian Brown <julian.brown at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
Log Message:
-----------
[OpenMP] Fix initialization order for CopyOverlappedEntryGaps (#150431)
NFC.
Commit: 34986003d14704c5e4926859249995d9628f89d8
https://github.com/llvm/llvm-project/commit/34986003d14704c5e4926859249995d9628f89d8
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
Log Message:
-----------
[AArch64] Predicate should be NE for CBNZW (#150287)
Unable to reproduce yet, but this definitely seems wrong. Better safe
than sorry.
No effect on codegen as far as I know (because I have not been able to
repro).
Commit: f45e6a2834b4e7a9128b93702821a4ae944ed57b
https://github.com/llvm/llvm-project/commit/f45e6a2834b4e7a9128b93702821a4ae944ed57b
Author: Nathan Gauër <brioche at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
A llvm/test/CodeGen/SPIRV/pointers/resource-vector-load-store.ll
Log Message:
-----------
[SPIR-V] Fix emit intrinsic for resource type (#150224)
This is a quick fix to make progress to the backend until we get a
proper type scavenging system.
The previous code was only checking the type if the resource was used
once. Slightly changed the code to look to all usages, and get the first
type.
This will certainly break in other cases, but it allows us to move
forward for now until we rewrite the type scavenging to handle untyped
GEP/ptradd correctly.
Related to #145002
Commit: c2c881fcc85e0c2d7a050b0199d4dadf8f556b9e
https://github.com/llvm/llvm-project/commit/c2c881fcc85e0c2d7a050b0199d4dadf8f556b9e
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/test/Dialect/Tosa/canonicalize.mlir
Log Message:
-----------
[mlir][tosa] Fix integer-to-boolean cast folder (#150370)
According to the TOSA spec, casting to boolean should produce true if
the input is non-zero, and false otherwise — i.e., `out = (in != 0) ?
true : false`. Previous behavior incorrectly relied on truncation, which
could yield incorrect results for non-zero values whose least
significant bit is zero. Fixes #150302.
Commit: d82d502ae5cec8bb43092869fd4fa9b9e74a3e61
https://github.com/llvm/llvm-project/commit/d82d502ae5cec8bb43092869fd4fa9b9e74a3e61
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
Log Message:
-----------
[bazel] Port #149148 (#150435)
Commit: 8f8b436c2b914a8abcee12b8a3bf45aec9fa627e
https://github.com/llvm/llvm-project/commit/8f8b436c2b914a8abcee12b8a3bf45aec9fa627e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
Log Message:
-----------
[flang][OpenMP] Silence warning in openmp-parsers.cpp
flang/lib/Parser/openmp-parsers.cpp:1655:43: warning
: logical not is only applied to the left hand side of comparison [-Wlogical-not
-parentheses]
1655 | TYPE_PARSER(!StandaloneDirectiveLookahead >=
| ^~
Commit: 3ebe5d661f7829b2ffe1b422ec7d00d3213c9730
https://github.com/llvm/llvm-project/commit/3ebe5d661f7829b2ffe1b422ec7d00d3213c9730
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
Log Message:
-----------
[mlir][linalg] Drop unit dims on IndexingMapOpInterface (#150280)
Generalizes `dropUnitDims` to operate on any op implementing the
`IndexingMapOpInterface`. Operation specific creation is handled by
passing a builder that will construct the new operation based on the
dropped dimensions.
---------
Signed-off-by: Ian Wood <ianwood at u.northwestern.edu>
Co-authored-by: Kunwar Grover <groverkss at gmail.com>
Commit: 3bd34ec924dbba1bde3856fdc31748200ccfd53f
https://github.com/llvm/llvm-project/commit/3bd34ec924dbba1bde3856fdc31748200ccfd53f
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCAtomic.cpp
M clang/test/SemaOpenACC/atomic-construct.cpp
Log Message:
-----------
[OpenACC] Fix checking of sub-expressions in cache
Running an external test suite (UDel) showed that our expression
comparison for the 'cache' rule checking was overly strict in the
presence of irrelevant parens/casts/etc. This patch ensures we skip
them when checking.
This also changes the diagnostic to say 'sub-expression' instead of
variable, which is more correct.
Commit: 862b9ea805511774a00348bc4477b09aa78ca711
https://github.com/llvm/llvm-project/commit/862b9ea805511774a00348bc4477b09aa78ca711
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-accesslist-offsetbins-out-of-sync.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
Log Message:
-----------
[AMDGPU] Remove AAInstanceInfo from the AMDGPUAttributor (#150232)
Related to compile-time issue SWDEV-543240 and functional issue
SWDEV-544256
Commit: 3e9d369c5c8ebc8c1568a288672236195b2e3685
https://github.com/llvm/llvm-project/commit/3e9d369c5c8ebc8c1568a288672236195b2e3685
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
A clang/test/CIR/CodeGen/array-ctor.cpp
A clang/test/CIR/IR/array-ctor.cir
Log Message:
-----------
[CIR] Add support for array constructors (#149142)
This patch upstreams support for creating arrays of classes that require
calling a constructor.
* Adds the ArrayCtor operation
* New lowering pass for lowering ArrayCtor to a loop
---------
Co-authored-by: Andy Kaylor <akaylor at nvidia.com>
Co-authored-by: Henrich Lauko <xlauko at mail.muni.cz>
Commit: f79efa986d61700d3fcfd22390bc1aa17d0d454c
https://github.com/llvm/llvm-project/commit/f79efa986d61700d3fcfd22390bc1aa17d0d454c
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M lld/test/ELF/aarch64-build-attributes-malformed.s
Log Message:
-----------
[lld][test] Fix unintentional write to a non-writeable dir (#150436)
The test added in #147970 fails trying to write `a.out` when run in a
non-writeable directory. I believe the intent was to write to /dev/null
as the output, but `-o` was omitted, so it's actually linking *in*
/dev/null and writing to `a.out`.
Commit: 97c953406d68357dddb8b624cd32c8e435a9fcfb
https://github.com/llvm/llvm-project/commit/97c953406d68357dddb8b624cd32c8e435a9fcfb
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Add AfterNot to SpaceBeforeParensOptions (#150367)
Closes #149971
Commit: 29b9bdf81eba6d0445b0fb84ed42e289cd0940eb
https://github.com/llvm/llvm-project/commit/29b9bdf81eba6d0445b0fb84ed42e289cd0940eb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M lldb/tools/lldb-rpc-gen/RPCCommon.cpp
M lldb/tools/lldb-rpc-gen/RPCCommon.h
Log Message:
-----------
[lldb] Remove HasCallbackParameter (#150366)
Commit: a4d4859dc70c046ad928805ddeaf8fa101793394
https://github.com/llvm/llvm-project/commit/a4d4859dc70c046ad928805ddeaf8fa101793394
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in `DerivePointerAlignment: true` (#150387)
Fixes #150327
Commit: 473bc0d188bfb53b16b8ce1f74629d3763d637e0
https://github.com/llvm/llvm-project/commit/473bc0d188bfb53b16b8ce1f74629d3763d637e0
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3p.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p.txt
Log Message:
-----------
[AMDGPU] Support V_FMA_MIX*_BF16 instructions on gfx1250 (#150381)
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: f44346dc1f6252716cfc62bb0687e3932a93089f
https://github.com/llvm/llvm-project/commit/f44346dc1f6252716cfc62bb0687e3932a93089f
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
A flang/test/Lower/OpenMP/atomic-control-options.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[flang][flang-driver][mlir][OpenMP] atomic control support (#143441)
Atomic Control Options are used to specify architectural characteristics
to help lowering of atomic operations. The options used are:
`-f[no-]atomic-remote-memory`, `-f[no-]atomic-fine-grained-memory`,
`-f[no-]atomic-ignore-denormal-mode`.
Legacy option `-m[no-]unsafe-fp-atomics` is aliased to
`-f[no-]ignore-denormal-mode`.
More details can be found in
https://github.com/llvm/llvm-project/pull/102569. This PR implements the
frontend support for these options with OpenMP atomic in flang.
Backend changes are available in the draft PR:
https://github.com/llvm/llvm-project/pull/143769 which will be raised
after this merged.
Commit: 36a19c5bfe2f808365b8ccdacd4c6f2bb25fc3ef
https://github.com/llvm/llvm-project/commit/36a19c5bfe2f808365b8ccdacd4c6f2bb25fc3ef
Author: gulfemsavrun <gulfem at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/cmake/caches/Fuchsia.cmake
Log Message:
-----------
[Fuchsia] Add BOOTSTRAP_BOOTSTRAP flags for PGO (#150448)
Commit: c9a8e15494c84730a2a8c0713281b3c8aa5b67c4
https://github.com/llvm/llvm-project/commit/c9a8e15494c84730a2a8c0713281b3c8aa5b67c4
Author: xur-llvm <59886942+xur-llvm at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ProfileSummaryInfo.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/test/ThinLTO/X86/memprof-icp.ll
M llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll
A llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll
Log Message:
-----------
[ICP] Add a few tunings to indirect-call-promotion (#149892)
[ICP] Add a few tunings to indirect-call-promtion
Indirect-call promotion (ICP) has been adjusted with the following
tunings:
(1) Candidate functions can be now ICP'd even if only a declaration is
present.
(2) All non-cold candidate functions are now considered by ICP.
Previously, only hot targets were considered.
(3) If one target cannot be ICP'd, proceed with the remaining targets
instead of exiting the callsite.
This update hides all tunings under internal options and disables them
by default. They'll be enabled in a later update. There'll also be
another update to address the "not found" issue with indirect targets.
Commit: 42a081ec516bd4990059aec00d8065fd2bc9f15b
https://github.com/llvm/llvm-project/commit/42a081ec516bd4990059aec00d8065fd2bc9f15b
Author: Daniel Garvey <34486624+dan-garvey at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
Log Message:
-----------
[mlir] Fix missing import (#150330)
building this file would fail when
MLIR_ENABLE_EXPENSIVE_PATTERN_API_CHECKS = 1
Signed-off-by: dan <danimal197 at gmail.com>
Commit: 0f2c31dc92ac54df16c6c0b70028b1bfc37b2b69
https://github.com/llvm/llvm-project/commit/0f2c31dc92ac54df16c6c0b70028b1bfc37b2b69
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libcxx/include/tuple
Log Message:
-----------
[libc++][NFC] Remove __all_default_constructible (#150406)
`__all_default_constructible` is never used, so we can remove it.
Commit: a4796b14fcf3bf2749dcb90b5c870140f1a82f78
https://github.com/llvm/llvm-project/commit/a4796b14fcf3bf2749dcb90b5c870140f1a82f78
Author: eleviant <56861949+eleviant at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
A llvm/test/CodeGen/ARM/bad-constraint.ll
A llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll
Log Message:
-----------
[ARM] Emit error message when incompatible reg is specified (#147559)
At the moment the following piece of code causes undefined behavior:
```
int a;
void b() {
register float d2 asm("d2") = a;
asm("" ::"r"(d2));
}
```
This happens because variable and register types are incompatible.
Commit: 33c94450f02ca9c7fea1366b14186dcf1a1b8cd7
https://github.com/llvm/llvm-project/commit/33c94450f02ca9c7fea1366b14186dcf1a1b8cd7
Author: Abhay Kanhere <abhay at kanhere.net>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/test/CodeGen/ARM/stack-protector-eh-sjlj.ll
Log Message:
-----------
[CodeGen][ARM] Bug fix InsertStackProtectors with EH_SJ_LJ (#147411)
when exception handling with setjmp/longjmp (exception-mode=eh_sjlj is
enabled,
eh_sjlj_callsite intrinsic is inserted in same basic block as the
throwing/exception instruction. This fix ensures stack protector
insertion code does not split the block and move these apart into
different basic blocks.
Commit: a4dd51d72f18df5ebc447e3c9070bc392fddb9b5
https://github.com/llvm/llvm-project/commit/a4dd51d72f18df5ebc447e3c9070bc392fddb9b5
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/test/Conversion/ArithToAMDGPU/scaling-extf.mlir
M mlir/test/Conversion/ArithToAMDGPU/scaling-truncf.mlir
Log Message:
-----------
[mlir][ArithToAMDGPU] Use native packing support (#150342)
The current arith-to-amdgpu patterns for scaling_extf and scaling_truncf
don't take full advantage of the native packing ability of the
intrinsics being targetted. Scaling extension takes the location of the
two elements to be extended as a constant argument (byte for fp4, half
for fp8), and scaling truncation takes a 32-bit input register and a
byte or half to write the truncated values to.
Not using these features would cause excess unneeded register pressure.
This PR resolves the inefficiency.
It also adds a test for the expected usecase of extending or
truncateting a block of 32 values to/from fp4 with a uniform scale to
ensure that this usage has a minimal amount of vector shuffling.
Commit: 78faf99c4f1d5eb991325e4e7a02fe56ce070d17
https://github.com/llvm/llvm-project/commit/78faf99c4f1d5eb991325e4e7a02fe56ce070d17
Author: Callum Fare <callum at codeplay.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
Log Message:
-----------
[Offload] Fix olWaitEvents tests after change to events API (#150465)
Fix the olWaitEvents tests after #150217 broke them
Commit: d750c6de8a75cbe2bc16c136764195471be8f0b7
https://github.com/llvm/llvm-project/commit/d750c6de8a75cbe2bc16c136764195471be8f0b7
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__config
A libcxx/include/__log_hardening_failure
M libcxx/include/module.modulemap.in
M libcxx/src/CMakeLists.txt
A libcxx/src/experimental/log_hardening_failure.cpp
A libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][hardening] Add an experimental function to log hardening errors (#149452)
Unlike `verbose_abort`, this function merely logs the error but does not
terminate execution. It is intended to make it possible to implement the
`observe` semantic for Hardening.
Commit: 2228b4b46c3e45b5aab801a636041ed13ae47375
https://github.com/llvm/llvm-project/commit/2228b4b46c3e45b5aab801a636041ed13ae47375
Author: Harald van Dijk <harald.vandijk at codeplay.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/test/CodeGenCXX/delete.cpp
Log Message:
-----------
clang: Handle deleting pointers to incomplete array types (#150359)
CodeGenFunction::EmitCXXDeleteExpr contains logic to go from a pointer
to an array to a pointer to the first element of the array using a
getelementptr LLVM IR instruction. This was done for pointers that were
not variable length arrays, as pointers to variable length arrays never
existed in LLVM IR, but rather than checking for arrays that were not
variable length arrays, it checked for arrays that had a constant bound.
This caused incomplete arrays to be inadvertently omitted.
This getelementptr was necessary back when LLVM IR used typed pointers,
but they have been gone for a while, a gep with a constant zero offset
does nothing now, so we can simplify the code by removing that.
Commit: d96579b303e62fd883e20f671e25ba3586e686a4
https://github.com/llvm/llvm-project/commit/d96579b303e62fd883e20f671e25ba3586e686a4
Author: yronglin <yronglin777 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/Lex/DependencyDirectivesScanner.h
Log Message:
-----------
[NFC][clang-scan-deps] Refine the implementation of dependency_directives_scan::Token::isOneOf (#150433)
Use fold expression to refine the implementation of
`dependency_directives_scan::Token::isOneOf`.
Signed-off-by: yronglin <yronglin777 at gmail.com>
Commit: a70f7dafc10f2928c490e66986b7b044cead91fe
https://github.com/llvm/llvm-project/commit/a70f7dafc10f2928c490e66986b7b044cead91fe
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] gfx1250 flat and global prefetch MC support (#150455)
Commit: 967626b842551ecd997c0d10eb68c3015b63a3d7
https://github.com/llvm/llvm-project/commit/967626b842551ecd997c0d10eb68c3015b63a3d7
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/MaskedloadToLoad.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp
M mlir/lib/Dialect/AMX/IR/AMXDialect.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/DecomposeAffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/Transforms/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (14/n) (#149920)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 04892228b1125723666c0df874797c51e4620e50
https://github.com/llvm/llvm-project/commit/04892228b1125723666c0df874797c51e4620e50
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/CommandLine.h
M llvm/lib/Support/CommandLine.cpp
Log Message:
-----------
[llvm] get cl::opt instantiations working with MSVC DLL build (#147810)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm::cl::opt` explicit
template instantiations for export with `LLVM_TEMPLATE_ABI` and
`LLVM_EXPORT_TEMPLATE`. This annotation currently has no meaningful
impact on the LLVM build; however, it is a prerequisite to support an
LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
Annotating the `llvm::cl::opt` template instances for DLL export was not
straight-forward like other explicit template instances that have
already been annotated. Annotating them as documented
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst#templates)
results in link errors when building a Windows DLL using MSVC.
## Overview
There are two specific issues that appear when exporting the
`llvm::cl::opt` templates and compiling a Windows DLL with MSVC:
1. We cannot export `opt<std::string>`. This is because MSVC exports all
ancestor classes when exporting an instantiated template class. Since
one of `opt`'s ancestor classes is its type argument (via
`opt_storage`), it is an ancestor of `std::string`. Therefore, if we
export `opt<std::string>` from the LLVM DLL, MSVC forces
`std::basic_string` to also be exported. This leads to duplicate symbol
errors and generally seems like a bad idea. Compiling with `clang-cl`
does not exhibit this behavior.
2. The `opt` template instances other than `opt<bool>` get optimized out
because they are not referenced in the TU (`opt<bool>` actually is). It
is unclear exactly why MSVC optimizes these template instances away, but
`clang-cl` does not. Adding explicit references to the instantiated
`opt` template classes' vtables via implicit virtual destructor forces
MSVC to export them.
## Validation
Windows with MSVC
Windows with Clang
Commit: 526b672a2ceda2ae3c33b5c549f5ffd3da32e032
https://github.com/llvm/llvm-project/commit/526b672a2ceda2ae3c33b5c549f5ffd3da32e032
Author: David Green <david.green at arm.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
Log Message:
-----------
[AArch64] Add sve bf16 fpext and fptrunc costs. NFC
Commit: a608b0c7caa96a263d703f246b265152c1f2c17d
https://github.com/llvm/llvm-project/commit/a608b0c7caa96a263d703f246b265152c1f2c17d
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
Log Message:
-----------
[MLIR] Improve tutorial to make it clear that `walk()` is visiting the root op (NFC)
Commit: 69c7015a55504275429d6701e93f31241be5742a
https://github.com/llvm/llvm-project/commit/69c7015a55504275429d6701e93f31241be5742a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/ProfileData/InstrProfReader.cpp
Log Message:
-----------
[ProfileData] Remove an unnecessary cast (NFC) (#150472)
getBufferEnd() already returns const char *.
Commit: 1a0f482de8bb095a518a78c421776474de9141e4
https://github.com/llvm/llvm-project/commit/1a0f482de8bb095a518a78c421776474de9141e4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/RootOrdering.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToMLProgram/TosaToMLProgram.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/IR/Location.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/Value.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/TableGen/Successor.cpp
M mlir/lib/TableGen/Type.cpp
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVM/NVVM/Target.cpp
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/PDLL/AST/NodePrinter.cpp
M mlir/lib/Tools/PDLL/ODS/Operation.cpp
M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-lsp-server/MlirLspServerMain.cpp
M mlir/lib/Tools/mlir-lsp-server/Protocol.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/lib/Transforms/CSE.cpp
M mlir/lib/Transforms/OpStats.cpp
Log Message:
-----------
[mlir] Remove unused includes (NFC) (#150476)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: 4f2686e5a131094d985677591482508586f1f5c9
https://github.com/llvm/llvm-project/commit/4f2686e5a131094d985677591482508586f1f5c9
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mblen.cpp
A libc/src/wchar/mblen.h
A libc/src/wchar/mbrlen.cpp
A libc/src/wchar/mbrlen.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mblen_test.cpp
A libc/test/src/wchar/mbrlen_test.cpp
Log Message:
-----------
[libc] Implemented mblen functions (#150141)
Implemented mblen and mbrlen as well as tests
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: f26c0d00df97c3b3ffce1047e92acfcbc680845b
https://github.com/llvm/llvm-project/commit/f26c0d00df97c3b3ffce1047e92acfcbc680845b
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/string/allocating_string_utils.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsdup.cpp
A libc/src/wchar/wcsdup.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsdup_test.cpp
Log Message:
-----------
[libc] Implemented wcsdup libc function (#150453)
Implemented wcsdup by templating internal strdup function
Commit: 47b5917348332ca5d51eb893abe53e42cabb8b1d
https://github.com/llvm/llvm-project/commit/47b5917348332ca5d51eb893abe53e42cabb8b1d
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
A clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/CodeGen/EHScopeStack.h
A clang/test/CIR/CodeGen/cleanup.cpp
Log Message:
-----------
[CIR] Add support for normal cleanups (#149948)
This change adds basic handling for normal cleanups. This is a very
minimal implemention. In particular, it uses a naive substitute for the
rich cleanup and EH stack handling that is present in classic codegen
and the CIR incubator. This is intended as a temporary implementation to
allow incremental progress. It is not expected to scale well enough to
be used in a production environment. It will be replaced with the full
EHScopeStack handling when such an implementation is needed.
Commit: d5d94ba8bc6e00d5cf99f8b68672ca1c5011443b
https://github.com/llvm/llvm-project/commit/d5d94ba8bc6e00d5cf99f8b68672ca1c5011443b
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M bolt/lib/Rewrite/RewriteInstance.cpp
Log Message:
-----------
[BOLT] More refactoring of PHDR handling. NFC (#148932)
Replace ad-hoc adjustment of the program header count with info from the
new segment list.
Commit: becde6d62e469f2ef11bafd7b0d2ca0c4d72818a
https://github.com/llvm/llvm-project/commit/becde6d62e469f2ef11bafd7b0d2ca0c4d72818a
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/jmp_buf.h
A libc/hdr/types/sigjmp_buf.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__jmp_buf.h
M libc/include/llvm-libc-types/jmp_buf.h
A libc/include/llvm-libc-types/sigjmp_buf.h
M libc/src/setjmp/aarch64/CMakeLists.txt
M libc/src/setjmp/arm/CMakeLists.txt
M libc/src/setjmp/darwin/CMakeLists.txt
M libc/src/setjmp/darwin/sigsetjmp_epilogue.cpp
M libc/src/setjmp/linux/CMakeLists.txt
M libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/sigsetjmp.h
M libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
Log Message:
-----------
[libc] Fix issue with sigjmp_buf.h not being found (#150439)
When trying to use <setjmp.h>, it will try to include
llvm-libc-types/sigjmp_buf.h due to the way that headergen works. This
commit creates a dummy file, as the real implementation is found in
llvm-libc-types/jmp_buf.h.
Commit: 8952225d88a5ce58a65c8b8695c610f4499d7181
https://github.com/llvm/llvm-project/commit/8952225d88a5ce58a65c8b8695c610f4499d7181
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
Log Message:
-----------
[RISC-V] Update SpacemiT-X60 Vector Integer latencies (#149207)
This PR adds hardware-measured latencies for all instructions defined in
Section 11 of the RVV specification: "Vector Integer Arithmetic
Instructions" to the SpacemiT-X60 scheduling model.
The code in this PR was extracted from PR #144564, so it's smaller to
review. I made a few adjustments here and there, and the code is almost
identical; the only change was to add ReleaseAtCycles to all
instructions modified in this patch, except for the vmul, vdiv, and vrem
ones.
Commit: c9cea24fe68e24750b2d479144f839e1c2ec9d2b
https://github.com/llvm/llvm-project/commit/c9cea24fe68e24750b2d479144f839e1c2ec9d2b
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/X86/user-node-no-state.ll
Log Message:
-----------
[SLP] Check if the user node has state before trying getting main instruction/opcode
Need to check if the parent node has state to prevent compiler crashes.
Fixes #150479
Commit: 2cb6be22867560f76a7f9cfec35d912a37af8e23
https://github.com/llvm/llvm-project/commit/2cb6be22867560f76a7f9cfec35d912a37af8e23
Author: Lily Brown <lbrown at modular.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
Log Message:
-----------
[mlir-lsp] Fix window.workDoneProgress capability (#149905)
PR #143449 had an incorrect parser implementation for
window.workDoneProgress that actually parsed
textDocument.window.workDoneProgress.
Commit: 9deb7f6062ce7a58c2f43c6c0fec869f9f0c7fc2
https://github.com/llvm/llvm-project/commit/9deb7f6062ce7a58c2f43c6c0fec869f9f0c7fc2
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/TargetParser/TargetParser.cpp
A llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.flat.prefetch.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.prefetch.ll
Log Message:
-----------
[AMDGPU] gfx1250 vmem prefetch target intrinsics and builtins (#150466)
Commit: b82cf20bf4ec68411ca6070e3e81f9df552f3e21
https://github.com/llvm/llvm-project/commit/b82cf20bf4ec68411ca6070e3e81f9df552f3e21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Use getMergeValues to simplify code. NFC (#150337)
Commit: 34b6587249e591aa2f3211f00a4ecad5088e5d3f
https://github.com/llvm/llvm-project/commit/34b6587249e591aa2f3211f00a4ecad5088e5d3f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] MC support for load monitor instructions on gfx1250 (#150496)
Commit: 7dc27267eb7ef53638c2fc46ba70dfad182ec45c
https://github.com/llvm/llvm-project/commit/7dc27267eb7ef53638c2fc46ba70dfad182ec45c
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
A clang/test/CIR/CodeGen/dtor-alias.cpp
Log Message:
-----------
[CIR] Unblock destructor alias handling (#150497)
This change removes a stale errorNYI message to allow destructor alias
handling. The error message was an artifact of the order in which
various parts of the implementation were upstreamed. Now that all the
parts are in place, all this needed was to remove the diagnostic and add
a test.
Commit: c12dfd51952a18afcd094713e9541816b82a5037
https://github.com/llvm/llvm-project/commit/c12dfd51952a18afcd094713e9541816b82a5037
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
A .ci/metrics/metrics_test.py
M .github/workflows/check-ci.yml
Log Message:
-----------
[CI] Add unittesting for metrics collection script
This patch adds some initial unittests for the metrics collection
script. This initial patch focuses on getting the files setup and adding
unittests for uploading metrics. A subsequent patch will add tests for
the workflow collection which is significantly more complicated.
Reviewers: Keenuts, gburgessiv, dschuff, cmtice, lnihlen
Reviewed By: cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/150360
Commit: 60bf97983df3efeb17f6db19b811b68fa74df9aa
https://github.com/llvm/llvm-project/commit/60bf97983df3efeb17f6db19b811b68fa74df9aa
Author: Mike Crowe <mac at mcrowe.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
Log Message:
-----------
[clang-tidy] modernize-use-std-print,format: Fix checks with Abseil functions (#142312)
These checks previously failed with absl::StrFormat and absl::PrintF
etc. with:
Unable to use 'std::format' instead of 'StrFormat' because first
argument is not a narrow string literal [modernize-use-std-format]
because FormatStringConverter was rejecting the format string if it had
already converted into a different type. Fix the tests so that they
check this case properly by accepting string_view rather than const char
* and fix the check so that these tests pass. Update the existing tests
that checked for the error message that can no longer happen.
Fixes: https://github.com/llvm/llvm-project/issues/129484
Commit: ecd793cbb1888507850b806699e97fc978d15dd7
https://github.com/llvm/llvm-project/commit/ecd793cbb1888507850b806699e97fc978d15dd7
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_alias.s
Log Message:
-----------
[AMDGPU] Add v_fma_mix_f32_f16 as an alias of v_fma_mix_f32 on gfx1250 (#150502)
Co-authored-by: Jay Foad <Jay.Foad at amd.com>
Commit: 4396c87bfee23ccbb6a106866d28350f5cc08ded
https://github.com/llvm/llvm-project/commit/4396c87bfee23ccbb6a106866d28350f5cc08ded
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M lldb/docs/resources/build.rst
Log Message:
-----------
[lldb][docs] Update instructions to build standalone (#137383)
The instructions to build LLDB standalone contain a CMake configure step
to build LLVM standalone. This configure step needs to also have the
CMake build type in order to work.
Commit: 0a17483c481d82eace3b36aee9cacb619eb027af
https://github.com/llvm/llvm-project/commit/0a17483c481d82eace3b36aee9cacb619eb027af
Author: cqwrteur <uwgghhbcad at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
[sanitizer] Remove usage of termios ioctl constants on Linux glibc since 2.41 (#149140)
glibc 2.42 made all usage of termios ioctl constants strictly internal
Therefore, we remove all usage for those removed constants.
This should only apply for Linux.
Fix #149103
Reference:
https://github.com/bminor/glibc/commit/3d3572f59059e2b19b8541ea648a6172136ec42e
@fweimer-rh @tstellar
Commit: 46e1d3d2a4394b805428111043d73aab309f44f0
https://github.com/llvm/llvm-project/commit/46e1d3d2a4394b805428111043d73aab309f44f0
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
Log Message:
-----------
[clang-tidy] Add parallel execution by default in 'run-clang-tidy' and 'clang-tidy-diff' (#149739)
Change the default value of `-j` from `1` to `0` in `clang-tidy-diff.py`
script to autodetect number of CPU cores to run on.
Script `run-clang-tidy.py` already had this behavior by default.
Both scripts now also print the number of threads being used to
provide better visibility into their execution behavior.
Fixes https://github.com/llvm/llvm-project/issues/148624.
Commit: 763f425b0853527d470a03ece99627d8e641e427
https://github.com/llvm/llvm-project/commit/763f425b0853527d470a03ece99627d8e641e427
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/ExpandFp.cpp
Log Message:
-----------
[ExpandFP] Replace getIntN(Ty) with getInt32/64(Ty). NFC (#150501)
Commit: 74ce508517f48440df3d9528a887155175a448a9
https://github.com/llvm/llvm-project/commit/74ce508517f48440df3d9528a887155175a448a9
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Add missing clang/unittests targets (#150491)
Mostly just adding tests that are in clang/unittests/CMakeLists.txt, but
there a couple other cleanups here:
* Add `directory_watcher` targets in clang so we can add tests for it
* Add some library targets (e.g. `dataflow_testing_support`) for
downstream use (e.g. unit tests outside of LLVM that use these headers
in tests)
* Remove `rename_tests_tooling_hdrs` which has been unused since
`rename_tests` itself was deleted
The InterpreterTest target added here passes on our internal CI, but
fails when I run it w/ bazel for some reason:
```
[ RUN ] InterpreterTest.InstantiateTemplate
JIT session error: Symbols not found: [ __clang_Interpreter_SetValueWithAlloc, _ZnwmPv26__clang_Interpreter_NewTag ]
Failure value returned from cantFail wrapped call
Failed to materialize symbols: { (main, { __orc_init_func.incr_module_133, $.incr_module_133.__inits.0 }) }
```
I'd like to figure out what's going on, but for now I just excluded it
w/ a test filter
Commit: 7884c077ffda1efbff7443d4b3a8e6c163b44509
https://github.com/llvm/llvm-project/commit/7884c077ffda1efbff7443d4b3a8e6c163b44509
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/wcsnrtombs.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wcsnrtombs.cpp
A libc/src/wchar/wcsnrtombs.h
A libc/src/wchar/wcsrtombs.cpp
A libc/src/wchar/wcsrtombs.h
A libc/src/wchar/wcstombs.cpp
A libc/src/wchar/wcstombs.h
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/wcsnrtombs_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wcsnrtombs_test.cpp
A libc/test/src/wchar/wcsrtombs_test.cpp
A libc/test/src/wchar/wcstombs_test.cpp
Log Message:
-----------
[libc] Implement wcs to mbs family of functions (#149421)
Implemented internal wcs to mbs internal function + tests
Impelemented wcs to mbs public functions
Commit: 96e5eed92af267b151c29a95f2c208f2bc0a32b3
https://github.com/llvm/llvm-project/commit/96e5eed92af267b151c29a95f2c208f2bc0a32b3
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
Log Message:
-----------
[AMDGPU] Select VMEM prefetch for llvm.prefetch on gfx1250 (#150493)
We have a choice to use a scalar or vector prefetch for an uniform
pointer. Since we do not have scalar stores our scalar cache is
practically readonly. The rw argument of the prefetch intrinsic is
used to force vector operation even for an uniform case. On GFX12
scalar prefetch will be used anyway, it is still useful but it will
only bring data to L2.
Commit: 1031f14e921ad54ca17333f59cb19a981f864d95
https://github.com/llvm/llvm-project/commit/1031f14e921ad54ca17333f59cb19a981f864d95
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex-cast.cpp
Log Message:
-----------
[CIR] Implement CK_LValueToRValueBitCast for ComplexType (#150296)
This change adds support for CK_LValueToRValueBitCast for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 2f5312563fd5cb2e355ec49109f3e63875337c7c
https://github.com/llvm/llvm-project/commit/2f5312563fd5cb2e355ec49109f3e63875337c7c
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (15/n) (#149921)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: e178e82c63a44e3fbce62f4696b0ab402e7b7f6e
https://github.com/llvm/llvm-project/commit/e178e82c63a44e3fbce62f4696b0ab402e7b7f6e
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/issue-145408-gep-struct-fix.ll
Log Message:
-----------
[DirectX] Do not flatten GEP chains for unsupported types (#150484)
Fixes #150463 by not processing GEPs for unsupported types such as
structs in the DXILFlattenArrays pass.
Commit: bba846773c7dfce0f95b8846672d8dd5fa8912be
https://github.com/llvm/llvm-project/commit/bba846773c7dfce0f95b8846672d8dd5fa8912be
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/AST/ExprConstant.cpp
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
Log Message:
-----------
[clang] Fix const eval of constexpr-unknown relational comparisons. (#150088)
Like in other places, ignore the reference type of the base. (It might
make sense to refactor this at some point.)
Fixes #150015.
Commit: de1f54afb32ad209f9559d89fffd8d9d92cb36b3
https://github.com/llvm/llvm-project/commit/de1f54afb32ad209f9559d89fffd8d9d92cb36b3
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][Tosa] Allow scalar tensors to be unranked in the TOSA dialect (#150399)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/149779
Commit: 75aa7065dcf653de7870758cd502a7c714f4bcd7
https://github.com/llvm/llvm-project/commit/75aa7065dcf653de7870758cd502a7c714f4bcd7
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
M mlir/lib/Dialect/Linalg/Transforms/EraseUnusedOperandsAndResults.cpp
M mlir/lib/Dialect/Linalg/Transforms/FusePadOpWithLinalgProducer.cpp
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
M mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/SwapExtractSliceWithFillPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (17/n) (#149924)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: a636b7bfdd1d8304b78e8b42ec900a21736d4afb
https://github.com/llvm/llvm-project/commit/a636b7bfdd1d8304b78e8b42ec900a21736d4afb
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/AllocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandRealloc.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/lib/Dialect/MemRef/Transforms/ReifyResultShapes.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (18/n) (#149925)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: d9952a7a5f806a419bcbc8aa82cfda179837e189
https://github.com/llvm/llvm-project/commit/d9952a7a5f806a419bcbc8aa82cfda179837e189
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
Log Message:
-----------
[InstCombine] Propagate neg `nsw` when folding `abs(-x)` to `abs(x)` (#150460)
We can propagate the nsw in the neg to abs, as `-x` is only poison if x
== INT_MIN.
Commit: ed9a1027a482d18b3cf063e8bcc6e31a4c7dc024
https://github.com/llvm/llvm-project/commit/ed9a1027a482d18b3cf063e8bcc6e31a4c7dc024
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
Log Message:
-----------
[HLSL] Avoid putting the byval attribute on out and inout parameters (#150495)
Fixes #148063 by preventing the ByVal attribute from being placed on out
and inout function parameters which causes them to be eliminated by the
Dead Store Elimination (DSE) pass.
Commit: efe1aa8904ea3ad8b19ab2aa5660e27a08c7d694
https://github.com/llvm/llvm-project/commit/efe1aa8904ea3ad8b19ab2aa5660e27a08c7d694
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
R flang/test/Lower/OpenMP/atomic-control-options.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
Revert "[flang][flang-driver][mlir][OpenMP] atomic control support" (#150504)
Reverts llvm/llvm-project#143441
Reverting due to CI failure
https://lab.llvm.org/buildbot/#/builders/53/builds/18055.
Commit: 1ff6d9daec66fb151b9691386c9dad0209648465
https://github.com/llvm/llvm-project/commit/1ff6d9daec66fb151b9691386c9dad0209648465
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
Log Message:
-----------
[mlir][linalg] Take artificial padding into account for pack/unpack folding. (#150272)
The revision only folds the tensor.pad/extract_slice op into
linalg.pack/unpack ops only when it is safe to fold. It is not valid to
have artificial padding.
The documentation improvement and verifier update will be done in a
separate PR (i.e., https://github.com/llvm/llvm-project/pull/149624).
The revision is a step towards it.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: ea7d81355be840aea49d4e72b8c1411b55a6f206
https://github.com/llvm/llvm-project/commit/ea7d81355be840aea49d4e72b8c1411b55a6f206
Author: lntue <lntue at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/wchar/wcstol_test.cpp
M libc/test/src/wchar/wcstoll_test.cpp
M libc/test/src/wchar/wcstoul_test.cpp
M libc/test/src/wchar/wcstoull_test.cpp
Log Message:
-----------
[libc] Fix some warnings in tests. (#150500)
Commit: 29e8599aa9609c1e1bc019d384a96be9333101d8
https://github.com/llvm/llvm-project/commit/29e8599aa9609c1e1bc019d384a96be9333101d8
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/test/MC/ELF/AArch64/cfi.s
M llvm/test/MC/ELF/cfi.s
Log Message:
-----------
Reapply "Support SFrame command-line and .cfi_section syntax (#150316) (#150509)
This reverts commit ad36e4284d66c3609ef8675ef02ff1844bc1951d, fixing a
single uninitialized bit (which cannot be detected with Address
Sanitizer).
This PR adds support for the llvm-mc command-line flag "--gsframe" and
adds ".sframe" to the legal values passed ".cfi_section". It plumbs the
option through the cfi handling code a fair amount. Code to support
actual section generation follows in a future PR.
These options match the gnu-assembler's support syntax for sframes, on
both the command line and in assembly files.
First in a series of changes that will allow llvm-mc to produce sframe
.cfi sections. For more information about sframes, see
https://sourceware.org/binutils/docs-2.44/sframe-spec.html
and the llvm-RFC here:
https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900
Commit: 5e01797cd035cd1b86beb0ad3fb24277531dff66
https://github.com/llvm/llvm-project/commit/5e01797cd035cd1b86beb0ad3fb24277531dff66
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/src/__support/macros/CMakeLists.txt
M libc/src/__support/macros/null_check.h
M libc/src/__support/macros/sanitizer.h
M libc/test/src/math/smoke/CMakeLists.txt
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/stdfix/IdivTest.h
M libc/test/src/string/memchr_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/mempcpy_test.cpp
M libc/test/src/string/memrchr_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/stpncpy_test.cpp
M libc/test/src/string/strcat_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strcpy_test.cpp
M libc/test/src/string/strsep_test.cpp
M libc/test/src/string/strspn_test.cpp
M libc/test/src/wchar/wcpncpy_test.cpp
M libc/test/src/wchar/wcscmp_test.cpp
M libc/test/src/wchar/wcsncmp_test.cpp
M libc/test/src/wchar/wcspbrk_test.cpp
M libc/test/src/wchar/wcsrchr_test.cpp
M libc/test/src/wchar/wmemcmp_test.cpp
M libc/test/src/wchar/wmemmove_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Don't rely on LIBC_HAS_SANITIZER when enabling null checks. (#150341)
LIBC_HAS_SANITIZER (which is defined if ASan, MSan, or UBSan is enabled)
is currently used to implicitly disable null checks, normally enabled
via LIBC_ADD_NULL_CHECKS config value. Remove this condition, and rely
purely on the config value instead:
* LIBC_HAS_SANITIZER will be true even for UBSan modes which doesn't
rely on null checks at all (e.g. -fsanitize=alignment)
* null checks today (implemented via __builtin_trap) should function
normally today even when sanitizer is enabled - trap is still a trap
* tests have been migrated to WITH_SIGNAL(-1) which doesn't prescript a
particular signal / exit-code, and thus should pass even if sanitizers
override the default ones.
Commit: 581ba1cbf70bc5f89a095807c16f668a9b00ded9
https://github.com/llvm/llvm-project/commit/581ba1cbf70bc5f89a095807c16f668a9b00ded9
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
Log Message:
-----------
[DirectX] Fix crash in passes when building with LLVM_ENABLE_EXPENSIVE_CHECKS (#150483)
fixes #148681
fixes #148680
For the scalarizer pass we just need to indicate that scalarization took
place, I used the logic for knowing when to eraseFromParent to indicate
this.
For the DXILLegalizePass the new `legalizeScalarLoadStoreOnArrays` did
not use `ToRemove` which means our uses of !ToRemove.empty(); was no
longer correct. This meant each legalization now needed a means of
indicated if a change was maded.
For DXILResourceAccess.cpp the `Changed` bool was never set to true.
So removed it and replaced it with `!Resources.empty();` since we only
call `replaceAccess` if we have items in Resources.
Commit: be58069515e38d25a8e6ae5f1ef3b7b2e5eddbd1
https://github.com/llvm/llvm-project/commit/be58069515e38d25a8e6ae5f1ef3b7b2e5eddbd1
Author: Meredith Julian <35236176+mjulian31 at users.noreply.github.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/tanhf.ll
Log Message:
-----------
[LLVM][NVPTX] Upstream tanh intrinsic for libdevice (#149596)
Currently __nv_fast_tanhf() in libdevice maps to an nvvm intrinsic that
has not been upstreamed, which is causing issues when using the NVPTX
backend from upstream. Instead of upstreaming the intrinsic, we can
instead use the existing Intrinsic::tanh with the afn flag. This change
adds NVPTX backend support for ISD::TANH, adds auto-upgrade for the old
tanh_approx intrinsic to @llvm.tanh.f32 with afn flag so that libdevice
works properly upstream, and adds a basic codegen test and a case to the
auto-upgrade test.
Commit: 5f1c89af241fc4846d612a237edfb5948071e879
https://github.com/llvm/llvm-project/commit/5f1c89af241fc4846d612a237edfb5948071e879
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [HWASan] remove unused bool return value (#150516)
Commit: fd8f69d3eb9be3a987b4044fa93dd9ed0aafe094
https://github.com/llvm/llvm-project/commit/fd8f69d3eb9be3a987b4044fa93dd9ed0aafe094
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/test/Dialect/Bufferization/canonicalize.mlir
Log Message:
-----------
[mlir][Bufferization] Fix to_buffer(tensor.cast) folder (#150511)
Previously this folder would ignore the layout and memory space on the
to_buffer op and set it as default. This changes the pattern to retain
both fields from the existing memref type but incorporate the static
shape information from the tensor cast.
The `read_only` attribute was also dropped by the pattern and is
retained now as well.
Commit: bcfd29418f8851b93309746f987c22644bac6307
https://github.com/llvm/llvm-project/commit/bcfd29418f8851b93309746f987c22644bac6307
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M .github/workflows/premerge.yaml
Log Message:
-----------
[CI][Github] Set SCCACHE_IDLE_TIMEOUT to 0 (#150508)
This patch sets the sccache idle timeout to zero which ensures that it
will run indefinitely. Without this, sccache will sometimes stop when
several long test suites get run consequitively. This resets the
statistics which we save at the end. Ensuring the process stays running
means we have accurate statistics when we collect them at the end.
Commit: bd170b78bb7f64f889c744b3f56eb043ddbfa312
https://github.com/llvm/llvm-project/commit/bd170b78bb7f64f889c744b3f56eb043ddbfa312
Author: Martin Storsjö <martin at martin.st>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
R llvm/test/Transforms/SLPVectorizer/X86/user-node-no-state.ll
Log Message:
-----------
Revert "[SLP] Check if the user node has state before trying getting main instruction/opcode"
This reverts commit c9cea24fe68e24750b2d479144f839e1c2ec9d2b.
This is being reverted as it is intermixed with another commit
(898bba311f180ed54de33dc09e7071c279a4942a) that needs to be reverted.
Commit: 936ee35dccbac55622b14279cf9f8c35d4e27b90
https://github.com/llvm/llvm-project/commit/936ee35dccbac55622b14279cf9f8c35d4e27b90
Author: Martin Storsjö <martin at martin.st>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
M llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
Log Message:
-----------
Revert "[SLP]Initial support for copyable elements (non-schedulable only)"
This reverts commit 898bba311f180ed54de33dc09e7071c279a4942a.
This change caused hangs and crashes, see
https://github.com/llvm/llvm-project/pull/140279#issuecomment-3115051063.
Commit: 254ef5f51d1ef46d4bc9e1304ccf58686fa97f12
https://github.com/llvm/llvm-project/commit/254ef5f51d1ef46d4bc9e1304ccf58686fa97f12
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/include/llvm/ADT/ArrayRef.h
Log Message:
-----------
[ADT] Remove MutableArrayRef(std::nullopt_t) (NFC) (#150471)
MutableArrayRef(std::nullopt_t) has been deprecated since:
commit 9d6cbc3c20923759d9ffdf19b4f0d498f8cf5584
Author: Kazu Hirata <kazu at google.com>
Date: Fri Jun 27 11:31:11 2025 -0700
I've never seen a use outside the LLVM project AFAICT, so this patch
just removes it ahead of ArrayRef(std::nullopt_t) to prevent
backsliding.
Commit: a268ed8557999d9bf06090e53a59642ad6ee2fbe
https://github.com/llvm/llvm-project/commit/a268ed8557999d9bf06090e53a59642ad6ee2fbe
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
Log Message:
-----------
[SPIRV] Remove an unnecessary cast (NFC) (#150473)
getObjFileLowering() already returns TargetLoweringObjectFile *.
Commit: 8b8b0f197fc66a3495722eca15cd807f5aa1769a
https://github.com/llvm/llvm-project/commit/8b8b0f197fc66a3495722eca15cd807f5aa1769a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
Log Message:
-----------
[Scalar] Remove an unnecessary cast (NFC) (#150474)
getOperand() already returns Value *.
Commit: 227d1b23a86a03ddd1abea5e78ffc5e74a827234
https://github.com/llvm/llvm-project/commit/227d1b23a86a03ddd1abea5e78ffc5e74a827234
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/docs/YamlIO.rst
Log Message:
-----------
[llvm] Proofread YamlIO.rst (#150475)
This patch only adds double backticks around code-related terms to
facilitate the review process.
Commit: 77524bcf263d80b2e87a5c9c19f7e5f9fa1cd257
https://github.com/llvm/llvm-project/commit/77524bcf263d80b2e87a5c9c19f7e5f9fa1cd257
Author: Finn Plummer <mail at inbelic.dev>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
Log Message:
-----------
[NFC][HLSL] Let `RootSignatureParser` own the references (#150310)
- this is a clean up from a review comment that we should let the parser
own the constructed `RootSignatureElement`s
Original comment here:
https://github.com/llvm/llvm-project/pull/147115#discussion_r2192999527.
Commit: 3f74334c38120bbdefac012d478dfce8e4eb0906
https://github.com/llvm/llvm-project/commit/3f74334c38120bbdefac012d478dfce8e4eb0906
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Lower/Support/ReductionProcessor.h
M flang/include/flang/Optimizer/Builder/Complex.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/NumericTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
Log Message:
-----------
[mlir][NFC] update `flang` create APIs (13/n) (#149913)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: dcfc853c51aecf6538182378c016f8e1604e7e97
https://github.com/llvm/llvm-project/commit/dcfc853c51aecf6538182378c016f8e1604e7e97
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
Log Message:
-----------
[mlir][NFC] update `flang/lib` create APIs (12/n) (#149914)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: af98a245f8604ed5db9ef08bed96f0f545e8b46b
https://github.com/llvm/llvm-project/commit/af98a245f8604ed5db9ef08bed96f0f545e8b46b
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mbsnrtowcs.cpp
A libc/src/wchar/mbsnrtowcs.h
A libc/src/wchar/mbsrtowcs.cpp
A libc/src/wchar/mbsrtowcs.h
A libc/src/wchar/mbstowcs.cpp
A libc/src/wchar/mbstowcs.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mbsnrtowcs_test.cpp
A libc/test/src/wchar/mbsrtowcs_test.cpp
A libc/test/src/wchar/mbstowcs_test.cpp
Log Message:
-----------
[libc] wchar string conversion functions mb to wc (#149423)
Implemented an internal multi-byte to wide character string conversion
function, public functions, and tests
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: d7a38a94cd89e831fb17c5d45d11d0539e1e898d
https://github.com/llvm/llvm-project/commit/d7a38a94cd89e831fb17c5d45d11d0539e1e898d
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
Log Message:
-----------
[AMDGPU] Support builtin/intrinsics for load monitors on gfx1250 (#150540)
Commit: 42b101d844b3dd1a504a7ee3bacd52703719c8c2
https://github.com/llvm/llvm-project/commit/42b101d844b3dd1a504a7ee3bacd52703719c8c2
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
R libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/wchar/CMakeLists.txt
R libc/src/wchar/mbsnrtowcs.cpp
R libc/src/wchar/mbsnrtowcs.h
R libc/src/wchar/mbsrtowcs.cpp
R libc/src/wchar/mbsrtowcs.h
R libc/src/wchar/mbstowcs.cpp
R libc/src/wchar/mbstowcs.h
M libc/test/src/wchar/CMakeLists.txt
R libc/test/src/wchar/mbsnrtowcs_test.cpp
R libc/test/src/wchar/mbsrtowcs_test.cpp
R libc/test/src/wchar/mbstowcs_test.cpp
Log Message:
-----------
Revert "[libc] wchar string conversion functions mb to wc" (#150549)
Reverts llvm/llvm-project#149423
Failing nullptr crash when using sanitizer
Commit: b7f889a29cca10e5227813578ab5b85dc1c81fda
https://github.com/llvm/llvm-project/commit/b7f889a29cca10e5227813578ab5b85dc1c81fda
Author: Quinn Dawkins <quinn.dawkins at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
Log Message:
-----------
[mlir][AMDGPU] Add canonicalizer for folding casts into gather_to_lds (#150503)
Commit: df5b483ccd9f42563df1480f212ff37a1dcdf74f
https://github.com/llvm/llvm-project/commit/df5b483ccd9f42563df1480f212ff37a1dcdf74f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
A llvm/test/CodeGen/MSP430/llvm.exp10.ll
Log Message:
-----------
MSP430: Add test for llvm.exp10 intrinsic (#148605)
Commit: 4ae26783724a8cb29b448920f5b4066ebbbf3a95
https://github.com/llvm/llvm-project/commit/4ae26783724a8cb29b448920f5b4066ebbbf3a95
Author: Deric C. <cheung.deric at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
A llvm/test/CodeGen/DirectX/ShaderFlags/rawbuffer-doubles.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/rawbuffer-int64.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/rawbuffer-low-precision.ll
Log Message:
-----------
[DirectX] Add support for vector type checking in DXIL Shader Flag Analysis (#150532)
Fixes #150482 by replacing all `Instruction.getType()` in
DXILShaderFlags.cpp with `Instruction.getType()->getScalarType()` to
account for vectors types as suggested by @bogner
Commit: d3937e2d12648caa49fd80f9520a391fde2f7ba5
https://github.com/llvm/llvm-project/commit/d3937e2d12648caa49fd80f9520a391fde2f7ba5
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/xqciac.ll
Log Message:
-----------
[RISCV] Pass sign-extended value to isInt check in expandMul (#150211)
In the `isInt` check that was added in #147661 we were passing the
zero-extended `uint64_t` value instead of the sign-extended one.
Commit: 071156515e02fc23cae717fbe40149be87c88de4
https://github.com/llvm/llvm-project/commit/071156515e02fc23cae717fbe40149be87c88de4
Author: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
Log Message:
-----------
[AMDGPU] Fix flat D16 patterns handling of cpol. NFCI. (#150551)
GlobalSAddr and ScratchSVAddr produce 4 operands, not 3 as before.
The last one is CPol which is curently ignored by D16 patterns. I
was unable to catch it on any wrongdoing with these patterns, but
in general it is dangerous to ignore it.
Commit: 9f724d04275df1f6bfd1e4346a9c69748d04ee7f
https://github.com/llvm/llvm-project/commit/9f724d04275df1f6bfd1e4346a9c69748d04ee7f
Author: ronigoldman22 <156088210+ronigoldman22 at users.noreply.github.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
Fix Bug in RemoveDeadValues Pass (#148437)
This patch fixes a bug in the RemoveDeadValues pass where unused
function arguments were not removed from the function signature in an
edge case where the function returns void.
A corresponding test was added to the MLIR LIT test suite to cover this
case.
Commit: ae367028073f263c1b17faec70889fde36435c6d
https://github.com/llvm/llvm-project/commit/ae367028073f263c1b17faec70889fde36435c6d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
Log Message:
-----------
[RISCV] Guard against out of bound shifts in expandMul. (#150464)
Spotted while reviewing #150211. If we're multiplying by -3 in i32
MulAmt contains 4,294,967,293 since we zero extend to uint64_t. Adding 3
to this gives 0x100000000 which is a power of 2 and the log2 of that is
32, but we can't shift left by 32 in an i32.
Detect this case and skip the transform. We could use 0, but we don't
handle the case for i64 so this seemed more consistent.
Normally we don't hit this case because decomposeMulByConstant handles
it, but that's disabled by Xqciac. And after #150211 the code in
expandMul is now unreachable for this case.
Commit: cd1acf2ae36c5cc480d2d77de54d66508813cec9
https://github.com/llvm/llvm-project/commit/cd1acf2ae36c5cc480d2d77de54d66508813cec9
Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
M mlir/lib/Transforms/CMakeLists.txt
M mlir/lib/Transforms/Canonicalizer.cpp
Log Message:
-----------
[mlir][Transforms] Remove UB dialect dependency from Canonicalizer pass (#150555)
The Canonicalizer pass has a dependency to UB dialect which shouldn't have.
It also no longer needs to directly depend on the UB dialect since the Vector dialect
(which uses UB dialect for poison index operations introduced by 35df525) already
declares this dependency(878d3594).
Commit: 0d35e1771e7f657426034cfc3b469f0823b20b7f
https://github.com/llvm/llvm-project/commit/0d35e1771e7f657426034cfc3b469f0823b20b7f
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [HWASan] remove unnecessary bool return in instrumentLandingPads
Commit: 51994891e3a28a999e30a915d9ac5c2102073576
https://github.com/llvm/llvm-project/commit/51994891e3a28a999e30a915d9ac5c2102073576
Author: tcottin <timcottin at gmx.de>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/Hover.h
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/support/Markup.h
A clang-tools-extra/clangd/test/signature-help-unescaped.test
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
Log Message:
-----------
[clangd] Improve Markup Rendering (#140498)
This is a preparation for fixing clangd/clangd#529.
It changes the Markup rendering to markdown and plaintext.
- Properly separate paragraphs using an empty line between
- Dont escape markdown syntax for markdown output except for HTML
- Dont do any formatting for markdown because the client is handling the
actual markdown rendering
Commit: 9cd2413601f809fdb6c011743eb37b1321d5ab17
https://github.com/llvm/llvm-project/commit/9cd2413601f809fdb6c011743eb37b1321d5ab17
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
Log Message:
-----------
[MLIR][EmitC][NFC] Use `llvm::function_ref<>` instead of `std::optional<llvm::function_ref<>>` (#146478)
There is no need to distinguish between null `optional` and null
`function_ref` in this case.
Commit: 236b315a98900468cc749a618e2204c0d499876a
https://github.com/llvm/llvm-project/commit/236b315a98900468cc749a618e2204c0d499876a
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Remove extra operands from Zcb compression patterns. NFC (#150541)
Tied operands in the destination are not supposed to be listed. This
didn't cause a functional issue because none of the code noticed that
extra operand was even there.
Simplify verifyDagOpCount to catch this case.
Commit: 548ca9e97673a168023a616d311d901ca04b29a3
https://github.com/llvm/llvm-project/commit/548ca9e97673a168023a616d311d901ca04b29a3
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
Log Message:
-----------
AMDGPU: Fix asserting on non-register mfma src2 (#150552)
Also validate the subregister, although for the moment this
is redundant since we currently only process full copies.
Commit: f361dd7400ecaa25acbd216861880c347bf9b538
https://github.com/llvm/llvm-project/commit/f361dd7400ecaa25acbd216861880c347bf9b538
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
Log Message:
-----------
[clang-doc] separate comments into categories (#149590)
Comment categories will allow better comment organization in HTML.
Before, comments would just be serialized in whatever order they were
written, so groups like params or notes wouldn't be in the same
sections.
Commit: 38f63642fbf44f641293e70c02f66fc7b50b39e1
https://github.com/llvm/llvm-project/commit/38f63642fbf44f641293e70c02f66fc7b50b39e1
Author: Haowei <haowei at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang/cmake/caches/Fuchsia-stage2.cmake
Log Message:
-----------
[Fuchsia] Add fputs workaround in baremetal targets (#150565)
When building LLVM baremetal targets with LLVM libcxx and LLVM libc,
certain FILE related C functions do not exist and this causes build
failures. This patch updates the workaround for this to mitigate a build
failure after d750c6de8a75cbe2bc16c136764195471be8f0b7 got landed.
Commit: feb77c0fea75126a0488fcf55c51751d15883587
https://github.com/llvm/llvm-project/commit/feb77c0fea75126a0488fcf55c51751d15883587
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
Log Message:
-----------
[VPlan] Handle VPWidenSelectRecipe in tryToFoldLiveIns (#150357)
This helps simplify VPBlendRecipes that are expanded to selects in
another patch.
Commit: 14e6390e84acaa9b6209922b8035df0931978f8f
https://github.com/llvm/llvm-project/commit/14e6390e84acaa9b6209922b8035df0931978f8f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AVR/llvm.sincos.ll
Log Message:
-----------
AVR: Add llvm.sincos intrinsic test (#148601)
Mostly to test libcall behavior; f64 case is broken
Commit: 8e9ca057eb4dd728e829d3d9051f3cd577c4d441
https://github.com/llvm/llvm-project/commit/8e9ca057eb4dd728e829d3d9051f3cd577c4d441
Author: Terapines MLIR <osc-mlir at terapines.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
A flang/test/Fir/FirToSCF/if.fir
Log Message:
-----------
[flang][fir] Add conversion of `fir.if` to `scf.if`. (#149959)
This commmit is a supplement for
https://github.com/llvm/llvm-project/pull/140374.
RFC:https://discourse.llvm.org/t/rfc-add-fir-affine-optimization-fir-pass-pipeline/86190/6
Commit: 78a4634ef0454fe54570545f8b75083d274f54a2
https://github.com/llvm/llvm-project/commit/78a4634ef0454fe54570545f8b75083d274f54a2
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] enable comments in class templates (#149848)
The Mustache basic project has comments in its headers but the comments were not
serialized. Now we serialize \brief and paragraph comments for classes
and add that output to the basic project test.
Commit: b16ef206264fb6cc549d5251e79f5c627b6f685a
https://github.com/llvm/llvm-project/commit/b16ef206264fb6cc549d5251e79f5c627b6f685a
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
Log Message:
-----------
[gn] port d750c6de8a75
Commit: f047b735e9d2765b3e01f618c16349f3b836f079
https://github.com/llvm/llvm-project/commit/f047b735e9d2765b3e01f618c16349f3b836f079
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractToNeonPatterns.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][NFC] Use `getDefiningOp<OpTy>()` instead of `dyn_cast<OpTy>(getDefiningOp())` (#150428)
This PR uses `val.getDefiningOp<OpTy>()` to replace `dyn_cast<OpTy>(val.getDefiningOp())` , `dyn_cast_or_null<OpTy>(val.getDefiningOp())` and `dyn_cast_if_present<OpTy>(val.getDefiningOp())`.
Commit: 6d8d6f6e036c374fb81d687b9f85905d75547345
https://github.com/llvm/llvm-project/commit/6d8d6f6e036c374fb81d687b9f85905d75547345
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn] stub out 68c8c8ceeba (LLDB_BUILD_LLDBRPC)
Commit: 75aa629269c2cea94352f4029a84668bf157dc86
https://github.com/llvm/llvm-project/commit/75aa629269c2cea94352f4029a84668bf157dc86
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
Log Message:
-----------
[mlir][vector] Add a check to ensure input vector rank equals target shape rank (#149239)
The crash is caused because, during IR transformation, the
vector-unrolling pass (using ExtractStridedSliceOp) attempts to slice an
input vector of higher rank using a target vector of lower rank, which
is not supported. Fixes #148368.
Commit: fc91af64b99a3d292dccd6bee3cb6b519d927710
https://github.com/llvm/llvm-project/commit/fc91af64b99a3d292dccd6bee3cb6b519d927710
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Remove empty pattern argument from RISCVVPseudo instantiations. NFC (#150554)
Commit: 2ca8cf922ff8f9498ae0f9def9dab9bf145c6653
https://github.com/llvm/llvm-project/commit/2ca8cf922ff8f9498ae0f9def9dab9bf145c6653
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
Log Message:
-----------
[clang-doc] remove nesting of text comments inside paragraphs (#150451)
Text comments were unnecessarily nested inside Paragraph comments as a
Children array. If they're at the top level, we can also avoid more
nesting in templates.
Commit: 076d3050f1f85679f505405eefd0c2cd1ad6f92b
https://github.com/llvm/llvm-project/commit/076d3050f1f85679f505405eefd0c2cd1ad6f92b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Merge verifyDagOpCount into addDagOperandMapping in CompressInstEmitter. (#150548)
This reduces the number of times we need to iterate over the operands.
Commit: d0b5d34ec70b5cd00fd54e2acc0227e0be3d24a0
https://github.com/llvm/llvm-project/commit/d0b5d34ec70b5cd00fd54e2acc0227e0be3d24a0
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gn
Log Message:
-----------
[gn build] Port 3feb6f971577
Commit: 3d9cf92c281bd34e7d53cf75fbfb966fdb071b74
https://github.com/llvm/llvm-project/commit/3d9cf92c281bd34e7d53cf75fbfb966fdb071b74
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port bfd73a516160
Commit: b0dea47ae613b5d4167058ebef6b91b92dea8488
https://github.com/llvm/llvm-project/commit/b0dea47ae613b5d4167058ebef6b91b92dea8488
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/MC/MCGOFFStreamer.cpp
Log Message:
-----------
GOFF: Only register sections within MCObjectStreamer::changeSection
registerSection should only be called by
MCObjectStreamer::changeSection. This will be utilized by a pending
change to move initial fragment allocation from MCContext::createSection
to MCStreamer::changeSection, resolving some issues (Fragments should
only be created when using MCSteramer, not during
`MCContext::getELFSection` calls)
Pull Request: https://github.com/llvm/llvm-project/pull/150183
Commit: 4e3266fb6e40dedf99e25693e02f358de998ae69
https://github.com/llvm/llvm-project/commit/4e3266fb6e40dedf99e25693e02f358de998ae69
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
Log Message:
-----------
[RISCV] Implement load/store support for XAndesBFHCvt (#150350)
We use `lh` to load 2 bytes from memory into a gpr, then mask this gpr
with -65536 to emulate nan-boxing behavior, and then the value in gpr is
moved to fpr using `fmv.w.x`.
To move the value back from fpr to gpr, we use `fmv.x.w` and finally,
`sh` is used to store the lower 2 bytes back to memory.
If zfh is enabled at the same time, we can just use flh/fsw to
load/store bf16 directly.
Commit: 7c37722f198286379abacd220162f221c49d184e
https://github.com/llvm/llvm-project/commit/7c37722f198286379abacd220162f221c49d184e
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
Log Message:
-----------
[IA] Recognize repeated masks which come from shuffle vectors (#150285)
This extends the fixed vector lowering to support the case where the
mask is formed via shufflevector idiom.
---------
Co-authored-by: Luke Lau <luke_lau at icloud.com>
Commit: 4bee7e09dfabf326ead941067a9ce9975f768918
https://github.com/llvm/llvm-project/commit/4bee7e09dfabf326ead941067a9ce9975f768918
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
Log Message:
-----------
[RISCV][IA] Rework VL for strided LD/ST optimization [nfc] (#150525)
I'd originally written this creating a new VL, but realized it was
probably cleaner to be explicit about the truncation which is happening.
As these VLs are all constants (since these two codepaths see fixed
vectors) this should result in identical constants being created.
Commit: 4b1ca9c072cc36af77afecbc95be3c3c3e764404
https://github.com/llvm/llvm-project/commit/4b1ca9c072cc36af77afecbc95be3c3c3e764404
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-no-prop.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll
Log Message:
-----------
[RISCV] Remove -riscv-enable-vl-optimizer flag (#149349)
The RISCVVLOptimizer has been enabled by default for a while now and I'm
not aware of any outstanding issues that might need it to be disabled.
This removes the -riscv-enable-vl-optimizer flag to reduce the number of
configurations we have to support.
Commit: bd91e8a5bd115be1350d4ad3a7100303511b1d15
https://github.com/llvm/llvm-project/commit/bd91e8a5bd115be1350d4ad3a7100303511b1d15
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Strengthen check for what operands can be an immediate in CompressInstEmitter. (#150568)
Registers can be represented by RegisterOperand, not just RegisterClass.
Instead of trying to block certain classes, only allow Operand.
Commit: d368d117e7ee9720acd3eac6fb41c0885575a114
https://github.com/llvm/llvm-project/commit/d368d117e7ee9720acd3eac6fb41c0885575a114
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
A llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
[llvm][support] Add LDBG macro. (#143704)
Add macro that mirror a common usage of logging to output .This makes it easy to have
streaming log like behavior while still using the base debug logging.
I also wanted to avoid inventing a full logging library here while enabling others to change the sink without too much pain, so put it in its own header (this also avoids making Debug depend on raw_ostream beyond forward reference). The should allow a consistent dev experience without fixing the sink too much.
---------
Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Commit: b8cc46295d2ffb6d8f4fcddc1f8bc791c2e1b5d4
https://github.com/llvm/llvm-project/commit/b8cc46295d2ffb6d8f4fcddc1f8bc791c2e1b5d4
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
Log Message:
-----------
[gn build] Port d368d117e7ee
Commit: 8b54dbeefed0b2d2c3657f899b46a61fb816b890
https://github.com/llvm/llvm-project/commit/8b54dbeefed0b2d2c3657f899b46a61fb816b890
Author: David Green <david.green at arm.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
Log Message:
-----------
[AArch64] Ensure the type of LDNP/STNP is always v2i64 (#150378)
I think this is OK, that we always use v2i64 for the type of a LDNP/STNP
nodes. Bitcasting the type should be fine for little endian. This helps
with #150125.
Commit: 65461246ff48669f7337f57da1aba2989d6d3dfc
https://github.com/llvm/llvm-project/commit/65461246ff48669f7337f57da1aba2989d6d3dfc
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
Log Message:
-----------
[lldb] Fix uninitialized memory access. (#150544)
lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump64b.py
fails under msan with uninitialized memory access errors. The problem is
that a few structs are written to the dump without having been fully
initialized. This change makes them default-initialized so dumping the
fields that aren't explicitly written to won't trigger UB.
Commit: 84dc97e51eb4cd85de27805476d2f438ed9e6224
https://github.com/llvm/llvm-project/commit/84dc97e51eb4cd85de27805476d2f438ed9e6224
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M compiler-rt/test/msan/msan_check_mem_is_initialized.cpp
Log Message:
-----------
[MSan] Fix check overflow in a test case (#150429)
Supplement to PR #144073
Previously, _msan_check_mem_is_initialized.cpp_ initialized a 32-byte
stack array, but checked the shadow for the offset range [12, 42),
exceeding the stack array size.
MSan does not guarantee that the shadow corresponding to the overflow
part is 0, so it is undefined to require the overflow part to be
unpoisoned.
Commit: 1955a01d63eceaf806faa29c2ed7c61e135889eb
https://github.com/llvm/llvm-project/commit/1955a01d63eceaf806faa29c2ed7c61e135889eb
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/test/CodeGen/XCore/section-name.ll
M llvm/test/MC/ELF/section-sym2.s
R llvm/test/MC/ELF/undefined-debug.s
Log Message:
-----------
MC: Allocate initial fragment and define section symbol in changeSection
13a79bbfe583e1d8cc85d241b580907260065eb8 (2017) introduced fragment
creation in MCContext for createELFSectionImpl, which was inappropriate.
Fragments should only be created when using MCSteramer, not during
`MCContext::get*Section` calls.
`initMachOMCObjectFileInfo` defines multiple sections, some of which may
not be used by the code generator. This caused symbol names matching
these sections to be incorrectly marked as undefined (see
https://reviews.llvm.org/D55173).
The fragment code was later replicated in other file formats, such as
WebAssembly (see https://reviews.llvm.org/D46561), XCOFF, and GOFF.
This patch fixes the problem by moving initial fragment allocation from
MCContext::createSection to MCStreamer::changeSection.
While MCContext still creates a section symbol, the symbol is not
attached to the initial fragment.
In addition, move `emitLabel`/`setFragment` from `switchSection*` and
overridden changeSection to `MCObjectStreamer::changeSection` for
consistency.
* test/CodeGen/XCore/section-name.ll now passes. XCore doesn't support
MCObjectStreamer. I don't think the MCAsmStreamer output behavior
change matters.
Pull Request: https://github.com/llvm/llvm-project/pull/150574
Commit: ffc5385f8eaf4721a89e28bf8d7cf9c46b65d23e
https://github.com/llvm/llvm-project/commit/ffc5385f8eaf4721a89e28bf8d7cf9c46b65d23e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-24 (Thu, 24 Jul 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Fix typo in CompressInstEmitter.
We should use ImmVal field instead of Imm which is from the Kind enum.
This caused us to check a value of 1 instead of of the what was
parsed.
Commit: 3fe6d276dc952b3b2b487cb67a999c3981cf9563
https://github.com/llvm/llvm-project/commit/3fe6d276dc952b3b2b487cb67a999c3981cf9563
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCStreamer.h
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
Log Message:
-----------
X86AsmBackend: Simplify isRightAfterData for the auto-pad feature
Commit: 76f2afad41701ce1fee96b3bca615be1ee5c2a0c
https://github.com/llvm/llvm-project/commit/76f2afad41701ce1fee96b3bca615be1ee5c2a0c
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/docs/Dialects/Transform.md
Log Message:
-----------
[mlir] fix transform dialect doc includes (#150408)
New extensions were added to the code but not to the documentation.
Commit: e3b5daf2dbe5ab86c27352fc6c4a4f2106b326ee
https://github.com/llvm/llvm-project/commit/e3b5daf2dbe5ab86c27352fc6c4a4f2106b326ee
Author: Qi Zhao <zhaoqi01 at loongson.cn>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Pre-commit tests for build_vector with same constant elements. NFC
Commit: f34bfd58cb6a649ebc3bd282cff6bae92deccfdc
https://github.com/llvm/llvm-project/commit/f34bfd58cb6a649ebc3bd282cff6bae92deccfdc
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
Log Message:
-----------
[HWAsan] Fix incorrect lifetime sizes in tests (NFC) (#150459)
These tests used a lifetime size larger than the alloca. When fixing
that some check calls go away, so I'm putting this up for review to
confirm that this is correct.
Commit: da7ec1ef0e5a7ce09e82844b7658a9888dfd1723
https://github.com/llvm/llvm-project/commit/da7ec1ef0e5a7ce09e82844b7658a9888dfd1723
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
Log Message:
-----------
ARMELFStreamer: Simplify annotateTLSDescriptorSequence with addFixup
Commit: 226fb1c246afec41927dab023e78fc87f8625e52
https://github.com/llvm/llvm-project/commit/226fb1c246afec41927dab023e78fc87f8625e52
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
[llvm][support] Fix DebugLogTest. (#150585)
Fails on windows with error
C2466: cannot allocate an array of constant size 0
else.
Commit: c63c2f4972f63cd19352719c966659bb80cec450
https://github.com/llvm/llvm-project/commit/c63c2f4972f63cd19352719c966659bb80cec450
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lldb/docs/index.rst
Log Message:
-----------
[lldb][docs] Add WASM support issue link to website
Commit: 272da501398650789d9f4f22b63d543ca7ebbd92
https://github.com/llvm/llvm-project/commit/272da501398650789d9f4f22b63d543ca7ebbd92
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
R libcxx/test/libcxx/containers/associative/map/find.modules.compile.pass.mm
R libcxx/test/libcxx/containers/sequences/forwardlist/bool-conversion.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm
R libcxx/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
A libcxx/test/std/containers/associative/map/find.modules.compile.pass.mm
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
A libcxx/test/std/containers/sequences/vector/erase.modules.compile.pass.mm
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
Log Message:
-----------
[libc++] Move a bunch of tests from libcxx/test/libcxx to libcxx/test/std (#150199)
These tests test standard behaviour, so they shouldn't be in the
libc++-specific tests.
Commit: 66dd09a232dd360938d2bec6e5152ec0f0e4ac1a
https://github.com/llvm/llvm-project/commit/66dd09a232dd360938d2bec6e5152ec0f0e4ac1a
Author: David Green <david.green at arm.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
Log Message:
-----------
[AArch64] Change sve-fcmp.ll to test scalable vectors. NFC
Whilst testing fixed length vectors with +sve might be useful, this was just a
mistake in the generation of the test and should be using scalable vectors.
Commit: d97566a5f5eb29aec9286ed9dcb41d5ccd4ce8ce
https://github.com/llvm/llvm-project/commit/d97566a5f5eb29aec9286ed9dcb41d5ccd4ce8ce
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs-low-threshold.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
Log Message:
-----------
[AArch64] NFC: Precommit test changes to sme-pstatesm-attrs.ll
The tests need feature attributes, in order for the inliner to
make a more informed decision.
Commit: 6d004d2e5b69bb3eac33ff1fd8d6907c124abbc0
https://github.com/llvm/llvm-project/commit/6d004d2e5b69bb3eac33ff1fd8d6907c124abbc0
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[LV] Add additional SCEV expansion tests for #147824.
Add additional test coverage for
https://github.com/llvm/llvm-project/pull/147824.
Commit: 574fbdc19f77b4a4294978adfb153a850503c582
https://github.com/llvm/llvm-project/commit/574fbdc19f77b4a4294978adfb153a850503c582
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/module.modulemap
Log Message:
-----------
[BinaryFormat] Add SFrameConstants.def to the module map
Follup-up to #147294, should fix the module build.
Commit: 1640d51bf876685783b89f91668ca5b91ede22f4
https://github.com/llvm/llvm-project/commit/1640d51bf876685783b89f91668ca5b91ede22f4
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Mark getUnrollPart argument as const (NFC).
Commit: ee3a7714b7a69ac9aae4b79f4c67adc38bc6876b
https://github.com/llvm/llvm-project/commit/ee3a7714b7a69ac9aae4b79f4c67adc38bc6876b
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
Log Message:
-----------
[RISCV][TTI] Enable masked interleave access for scalable vector (#149981)
Now that support for masked loads/stores of interleave groups has
landed, we can enable the loop vectorizer to generate masked interleave
access where applicable.
This improves vectorization in several ways:
* Internal predication support: This enables interleave group
vectorization for loops with internal control flow predication, provided
all members of the group share the same predicate. Gaps in interleave
groups are still not efficiently handled by masking, so masking for gaps
remains disabled for now.
* Tail folding: This allows tail folding of loops with interleave groups
by using masking. Without this, vectorized loops with interleaves would
fall back to using separate gather/scatter accesses, which can be
significantly less efficient.
* Scalable vector support: Currently, only scalable vector types are
supported for masked interleave lowering. Fixed-length vector support
will be enabled in the future.
As interleave access is not yet supported with tail folding by EVL, that
functionality is temporarily disabled. We are going to create another
patch to support it.
Co-authored-by: Philip Reames <preames at rivosinc.com>
---------
Co-authored-by: Philip Reames <preames at rivosinc.com>
Commit: 33f4582e8d128eac6b699564ecddfef5c553288e
https://github.com/llvm/llvm-project/commit/33f4582e8d128eac6b699564ecddfef5c553288e
Author: Martin Storsjö <martin at martin.st>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/Demangle/DemangleConfig.h
Log Message:
-----------
[llvm] [Demangle] Fix a typo in the definition of DEMANGLE_ABI for dllimport
This fixes a typo from 04f5198e3ecb5592cec3297a782b8179f95434bf,
fixing building for mingw targets with dylib enabled.
Commit: 6e04e1e164636c06202cd1a68bd6a5ff7d9fa424
https://github.com/llvm/llvm-project/commit/6e04e1e164636c06202cd1a68bd6a5ff7d9fa424
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/ptrauth-isel.ll
A llvm/test/CodeGen/AArch64/ptrauth-isel.mir
Log Message:
-----------
[AArch64][PAC] Introduce AArch64::PAC pseudo instruction (#146488)
Introduce a pseudo instruction carrying address and immediate modifiers
as separate operands to be selected instead of a pair of `MOVKXi` and
`PAC[ID][AB]` . The new pseudo instruction is expanded in AsmPrinter, so
that `MOVKXi` is emitted immediately before `PAC[ID][AB]`. This way, an
attacker cannot control the immediate modifier used to sign
the value, even if address modifier can be substituted.
To simplify the instruction selection, select `AArch64::PAC` pseudo
using TableGen pattern and post-process its `$AddrDisc` operand by
custom inserter hook - this eliminates duplication of the logic for
DAGISel and GlobalISel. Furthermore, this improves cross-BB analysis in
case of DAGISel.
Commit: 129a35454ccb1d535b6cdd5cc768ab0b2897f889
https://github.com/llvm/llvm-project/commit/129a35454ccb1d535b6cdd5cc768ab0b2897f889
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
M llvm/test/CodeGen/WebAssembly/returned.ll
Log Message:
-----------
[WebAssemblyOptimizeReturned] Skip lifetime intrinsic uses
Replacing an alloca with a call result in a lifetime intrinsic
will cause a verifier error.
Fixes https://github.com/llvm/llvm-project/issues/150498.
Commit: 2b1ce25e21765a07f69c48196bd15239d98cae92
https://github.com/llvm/llvm-project/commit/2b1ce25e21765a07f69c48196bd15239d98cae92
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/test/CodeGen/AMDGPU/gfx90a-enc.ll
Log Message:
-----------
AMDGPU: Fix -amdgpu-mfma-vgpr-form flag on gfx908 (#150599)
This should be ignored since there are no VGPR forms. This
makes it possible to flip the default for the flag to true.
Commit: 7392131acfcd2cf78c95bee2b68bb2a66d20e73f
https://github.com/llvm/llvm-project/commit/7392131acfcd2cf78c95bee2b68bb2a66d20e73f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
Log Message:
-----------
[VPlan] Improve code in VPlanPredicator (NFC) (#150416)
Commit: e38f98f535f6e2ce2b42ea0413919f87b1239964
https://github.com/llvm/llvm-project/commit/e38f98f535f6e2ce2b42ea0413919f87b1239964
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU][Scheduler] Fix usage of `TII.reMaterialize` (NFC) (#150259)
Any non-zero `SubIdx` passed to the method is composed with the
rematerialized instruction's first operand's subregister to determine
the new register's subregister. In our case we want the new register to
have the same subregister as the old one, so we should pass 0.
Commit: a850912de18cf5dd5d92837bb159bf227ef830d6
https://github.com/llvm/llvm-project/commit/a850912de18cf5dd5d92837bb159bf227ef830d6
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/unclaimed-jt-entries.s
Log Message:
-----------
[BOLT] Require CFG in BAT mode (#150488)
`getFallthroughsInTrace` requires CFG for functions not covered by BAT,
even in BAT/fdata mode. BAT-covered functions go through special
handling in fdata (`BAT->getFallthroughsInTrace`) and YAML
(`DataAggregator::writeBATYAML`) modes.
Since all modes (BAT/no-BAT, YAML/fdata) now need disassembly/CFG
construction:
- drop special BAT/fdata handling that omitted disassembly/CFG in
`RewriteInstance::run`, enabling *CFG for all non-BAT functions*,
- switch `getFallthroughsInTrace` to check if a function has CFG,
- which *allows emitting profile for non-simple functions* in all modes.
Previously, traces in non-simple functions were reported as invalid/
mismatching disassembled function contents. This change reduces the
number of such invalid traces and increases the number of profiled
functions. These functions may participate in function reordering via
call graph profile.
Test Plan: updated unclaimed-jt-entries.s
Commit: 8e8f195322a6194fbe410265ac7a7623312310c8
https://github.com/llvm/llvm-project/commit/8e8f195322a6194fbe410265ac7a7623312310c8
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
Log Message:
-----------
[mlir][amd] fix LLVM::InsertValueOp::create failure to disambiguate (#150605)
fixes
https://github.com/llvm/llvm-project/pull/149879#issuecomment-3117145615
Note this happens because ADL can't disambiguate between
`mlir::DenseI64ArrayAttr` and `llvm::ArrayRef<int64_t>` **for the value
0** which I guess is equal to nullptr on some (most?) systems.
Note, this only occurs with the value 0.
Commit: 8005c6a1081c94e440b9c91e6b50cba9b72d186f
https://github.com/llvm/llvm-project/commit/8005c6a1081c94e440b9c91e6b50cba9b72d186f
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
Log Message:
-----------
[AMDGPU] Simplify SIInstrInfo::isLegalToSwap. NFC. (#149058)
Commit: 21774489f0a812254c110bebfff3aa9b6c4ad960
https://github.com/llvm/llvm-project/commit/21774489f0a812254c110bebfff3aa9b6c4ad960
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/test/python/ir/array_attributes.py
Log Message:
-----------
[mlir][python] fix PyDenseResourceElementsAttribute finalizer (#150561)
This PR melds https://github.com/llvm/llvm-project/pull/150137 and
https://github.com/llvm/llvm-project/pull/149414 *and* partially reverts
https://github.com/llvm/llvm-project/pull/124832.
The summary is the `PyDenseResourceElementsAttribute` finalizer/deleter
has/had two problems
1. wasn't threadsafe (can be called from a different thread than that
which currently holds the GIL)
2. can be called while the interpreter is "not initialized"
https://github.com/llvm/llvm-project/pull/124832 for some reason decides
to re-initialize the interpreter to avoid case 2 and runs afoul of the
fact that `Py_IsInitialized` can be false during the finalization of the
interpreter itself (e.g., at the end of a script).
I don't know why this decision was made (I missed the PR) but I believe
we should never be calling
[Py_Initialize](https://docs.python.org/3/c-api/init.html#c.Py_Initialize):
> In an application \*\*\*\***embedding Python**\*\*\*\*, this should be
called before using any other Python/C API functions
**but we aren't embedding Python**!
So therefore we will only be in case 2 when the interpreter is being
finalized and in that case we should just leak the buffer.
Note,
[lldb](https://github.com/llvm/llvm-project/blob/548ca9e97673a168023a616d311d901ca04b29a3/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp#L81-L93)
does a similar sort of thing for its finalizers.
Co-authored-by: Anton Korobeynikov <anton at korobeynikov.info>
Co-authored-by: Max Manainen <maximmanainen at gmail.com>
Co-authored-by: Anton Korobeynikov <anton at korobeynikov.info>
Co-authored-by: Max Manainen <maximmanainen at gmail.com>
Commit: c77a2a24033588c7ab0dfdff3692a2fcbb512ff7
https://github.com/llvm/llvm-project/commit/c77a2a24033588c7ab0dfdff3692a2fcbb512ff7
Author: Lucas Ramirez <11032120+lucas-rami at users.noreply.github.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
[AMDGPU][Scheduler] Use `AMDGPU::NoSubRegister` instead of 0 (NFC) (#150610)
Commit: 0c91e977c0509d39aca2baa0742a959b3e8a6ffe
https://github.com/llvm/llvm-project/commit/0c91e977c0509d39aca2baa0742a959b3e8a6ffe
Author: Igor Kirillov <igor.kirillov at arm.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
Log Message:
-----------
[VectorCombine] Refine cost model and decision logic in foldSelectShuffle (#146694)
After PR #136329, shuffle indices may differ, which can cause the
existing cost-based logic to miss optimisation opportunities for
binop/shuffle sequences.
This patch improves the cost model in foldSelectShuffle to more
accurately assess costs, recognising when certain duplicate shuffles do
not require actual instructions.
Additionally, in break-even cases, this change introduces a check for
whether the pattern ultimately feeds into a vector reduction, allowing
the transform to proceed when it is likely to be profitable overall.
Commit: f1122a64c66d75890f6011f36b36d99785d0468c
https://github.com/llvm/llvm-project/commit/f1122a64c66d75890f6011f36b36d99785d0468c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/X86/load-broadcast.ll
Log Message:
-----------
[CostModel][X86] load-broadcast.ll - regenerate checks for all cost kinds
Commit: 75346e33d9e9b4dd0d89f2101a59f7be42500db1
https://github.com/llvm/llvm-project/commit/75346e33d9e9b4dd0d89f2101a59f7be42500db1
Author: Gleb Popov <6yearold at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Analysis/TargetLibraryInfo.cpp
Log Message:
-----------
TargetLibraryInfo: Bring FreeBSD function list up to date (#144846)
Commit: 81bbe98abf4b23d2e568d7e643a9b25738dd8819
https://github.com/llvm/llvm-project/commit/81bbe98abf4b23d2e568d7e643a9b25738dd8819
Author: Jonathan Cohen <joncoh at apple.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
R llvm/test/CodeGen/AArch64/aarch64-combine-gather-lanes.mir
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/AArch64/fsh.ll
M llvm/test/CodeGen/AArch64/llvm.frexp.ll
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/nontemporal.ll
Log Message:
-----------
Revert "[AArch64][Machine-Combiner] Split gather patterns into neon regs to multiple vectors (#142941)" (#150505)
Reverting due to reported miscompiles, will reland once it is fixed.
Commit: b75530ff034a131da8ca1f05a00f3655c13839ff
https://github.com/llvm/llvm-project/commit/b75530ff034a131da8ca1f05a00f3655c13839ff
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
Log Message:
-----------
[LoopInterchange] Consider forward/backward dependency in vectorize heuristic (#133672)
The vectorization heuristic of LoopInterchange attempts to move a
vectorizable loop to the innermost position. Before this patch, a loop
was deemed vectorizable if there are no loop-carried dependencies
induced by the loop.
This patch extends the vectorization heuristic by introducing the
concept of forward and backward dependencies, inspired by
LoopAccessAnalysis. Specifically, an additional element is appended to
each direction vector to indicate whether it represents a forward
dependency (`<`) or not (`*`). Among these, only the forward
dependencies (i.e., those whose last element is `<`) affect the
vectorization heuristic. Accordingly, the check is conservative, and
dependencies are considered forward only when this can be proven.
Currently, we only support perfectly nested loops whose body consists of
a single basic block. For other cases, dependencies are pessimistically
treated as non-forward.
Commit: 6b92a3bc21cdcdeb161a06524a9860551831c67e
https://github.com/llvm/llvm-project/commit/6b92a3bc21cdcdeb161a06524a9860551831c67e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang/lib/Parser/openmp-parsers.cpp
Log Message:
-----------
[flang][OpenMP] Detect BLOCK construct through lookahead (#150617)
Avoid parsing the entire ExecutionPartConstruct in either the strictly-
or the loosely-structured block parser only to discard it when it's not
BLOCK (or is BLOCK) respectively. Doing so was not incorrct, but in
pathological cases (like Fujitsu 0981_0034) the recursive parsing can
take a very long time.
Instead, detect the presence of BLOCK first (via a simple lookahead),
and fail immediately if necessary.
Commit: adb2421202e4014b4986a9f1eb40833dc7ec25ad
https://github.com/llvm/llvm-project/commit/adb2421202e4014b4986a9f1eb40833dc7ec25ad
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
Log Message:
-----------
[Offload] Refactor device information queries to use new tagging (#147318)
Instead using strings to look up device information (which is brittle
and slow), use the new tags that the plugins specify when building the
nodes.
Commit: 73272d6fc67ee2c12947912ac50727bde38cb3a3
https://github.com/llvm/llvm-project/commit/73272d6fc67ee2c12947912ac50727bde38cb3a3
Author: agozillon <Andrew.Gozillon at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
A flang/test/Lower/OpenMP/optional-argument-map-3.f90
A offload/test/offloading/fortran/optional-mapped-arguments-3.f90
Log Message:
-----------
[Flang][OpenMP] Appropriately emit present/load/store in all cases in MapInfoFinalization (#150311)
Currently, we return early whenever we've already generated an
allocation for intermediate descriptor variables (required in certain
cases when we can't directly access the base address of a passes in
descriptor function argument due to HLFIR/FIR restrictions). This
unfortunately, skips over the presence check and load/store required to
set the intermediate descriptor allocations values/data. This is fine in
most cases, but if a function happens to have a series of branches with
seperate target regions capturing the same input argument, we'd emit the
present/load/store into the first branch with the first target inside of
it, the secondary (or any preceding) branches would not have the
present/load/store, this would lead to the subsequent mapped values in
that branch being empty and then leading to a memory access violation on
device.
The fix for the moment is to emit a present/load/store at the relevant
location of every target utilising the input argument, this likely will
also lead to fixing possible issues with the input argument being
manipulated inbetween target regions (primarily resizing, the data
should remain the same as we're just copying an address around, in
theory at least). There's possible optimizations/simplifications to emit
less load/stores such as by raising the load/store out of the branches
when we can, but I'm inclined to leave this sort of optimization to
lower level passes such as an LLVM pass (which very possibly already
covers it).
Commit: c1545b68bcba16c3d21fd3d0ee3bc4c92aa8d98f
https://github.com/llvm/llvm-project/commit/c1545b68bcba16c3d21fd3d0ee3bc4c92aa8d98f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
Log Message:
-----------
Reapply [BranchFolding] Kill common hoisted debug instructions (#149999)
Reapply #140091.
branch-folder hoists common instructions from TBB and FBB into their
pred. Without this patch it achieves this by splicing the instructions from TBB
and deleting the common ones in FBB. That moves the debug locations and debug
instructions from TBB into the pred without modification, which is not
ideal. Debug locations are handled in #140063.
This patch handles debug instructions - in the simplest way possible, which is
to just kill (undef) them. We kill and hoist the ones in FBB as well as TBB
because otherwise the fact there's an assignment on the code path is deleted
(which might lead to a prior location extending further than it should).
There's possibly something we could do to preserve some variable locations in
some cases, but this is the easiest not-incorrect thing to do.
Note I had to replace the constant DBG_VALUEs to use registers in the test- it
turns out setDebugValueUndef doesn't undef constant DBG_VALUEs... which feels
wrong to me, but isn't something I want to touch right now.
Commit: 9d3dd8efe07180a6b261ae617ffc1ee5e26419c9
https://github.com/llvm/llvm-project/commit/9d3dd8efe07180a6b261ae617ffc1ee5e26419c9
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/NoSanitizeList.h
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/NoSanitizeList.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/test/Driver/fsanitize-ignorelist.c
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
fix: replace report_fatal_error with Diags and exit (#147959)
report_fatal_error is not a good way to report diagnostics to the users, so this switches to using actual diagnostic reporting mechanisms instead.
Fixes #147187
Commit: cdb67e11313fe3f848599922774728d2e65f7cc9
https://github.com/llvm/llvm-project/commit/cdb67e11313fe3f848599922774728d2e65f7cc9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/for_each_n_segment.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__iterator/segmented_iterator.h
M libcxx/include/deque
M libcxx/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.join/segmented_iterator.compile.pass.cpp
Log Message:
-----------
[libc++][NFC] Make __is_segmented_iterator a variable template (#149976)
Commit: e4963834e44b2d41d1d6bce0c7c585a4c0b7bf86
https://github.com/llvm/llvm-project/commit/e4963834e44b2d41d1d6bce0c7c585a4c0b7bf86
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/test/ThinLTO/X86/memprof-basic.ll
Log Message:
-----------
[MemProf] Include caller clone information in dot graph nodes (#150492)
We already included the assigned clone of the callsite node's callee in
the dot graph after function assignment. This adds the same information
for the enclosing caller function to aid debugging.
Commit: e21ee41be450f849f5247aafa07d7f4c3941bb9d
https://github.com/llvm/llvm-project/commit/e21ee41be450f849f5247aafa07d7f4c3941bb9d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
A llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopLoadElim/invalidate-laa-after-versioning.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVersioning/invalidate-laa-after-versioning.ll
Log Message:
-----------
[SCEV] Try to re-use pointer LCSSA phis when expanding SCEVs. (#147824)
Generalize the code added in
https://github.com/llvm/llvm-project/pull/147214 to also support
re-using pointer LCSSA phis when expanding SCEVs with AddRecs.
A common source of integer AddRecs with pointer bases are runtime checks
emitted by LV based on the distance between 2 pointer AddRecs.
This improves codegen in some cases when vectorizing and prevents
regressions with https://github.com/llvm/llvm-project/pull/142309, which
turns some phis into single-entry ones, which SCEV will look through
now (and expand the whole AddRec), whereas before it would have to treat
the LCSSA phi as SCEVUnknown.
Compile-time impact neutral:
https://llvm-compile-time-tracker.com/compare.php?from=fd5fc76c91538871771be2c3be2ca3a5f2dcac31&to=ca5fc2b3d8e6efc09f1624a17fdbfbe909f14eb4&stat=instructions:u
PR: https://github.com/llvm/llvm-project/pull/147824
Commit: 965bb5d9f419532fe0ea8c5838be7a6a86a058c4
https://github.com/llvm/llvm-project/commit/965bb5d9f419532fe0ea8c5838be7a6a86a058c4
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M .github/workflows/release-asset-audit.yml
Log Message:
-----------
[Github] Use sparse checkout in release asset audit (#148646)
This patch makes the release asset audit script use a sparse checkout
given we only need two files. This should make the action quite a bit
more efficient as it is presumably currently bottlenecked by checking
out the entire monorepo.
Commit: 74502168c4408404b2205838d742b930a4e59f90
https://github.com/llvm/llvm-project/commit/74502168c4408404b2205838d742b930a4e59f90
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.i8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
Log Message:
-----------
AMDGPU: Convert some mfma tests to generated checks (#150607)
Commit: 0c6784c9514d0ddb257bf0fd797969e0ae602882
https://github.com/llvm/llvm-project/commit/0c6784c9514d0ddb257bf0fd797969e0ae602882
Author: DingdWang <wdd12358 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
Log Message:
-----------
[MemDep] Optimize SortNonLocalDepInfoCache sorting strategy for large caches with few unsorted entries (#143107)
During compilation of large files with many branches, I observed that
the function `SortNonLocalDepInfoCache` in `MemoryDependenceAnalysis`
becomes a significant performance bottleneck. This is because
`Cache.size()` can be very large (around 20,000), but only a small
number of entries (approximately 5 to 8) actually need sorting. The
original implementation performs a full sort in all cases, which is
inefficient.
This patch introduces a lightweight heuristic to quickly estimate the
number of unsorted entries and choose a more efficient sorting method
accordingly.
As a result, the GVN pass runtime on a large file is reduced from
approximately 26.3 minutes to 16.5 minutes.
Commit: dc58a08f4f385b7d1035ac6d900f935fe745417f
https://github.com/llvm/llvm-project/commit/dc58a08f4f385b7d1035ac6d900f935fe745417f
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/src/__support/math/exp.h
M libc/src/math/generic/range_reduction_double_common.h
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Enable parse_headers feature for llvm-libc. (#150538)
See https://bazel.build/docs/bazel-and-cpp#toolchain-features for why
this feature is recommended for C++ projects.
215dbcb2bc5c1b1bc8775db2a7c22f67f3949fd7 added the necessary default
Bazel flag to make this feature functional. It can be enabled on a
per-project basis. Do this now for llvm-libc.
After enabling this feature, Blaze tries to parse headers from all
header-only libraries, even if the headers are not explicitly used in
tests, which allows to detect the issues early on.
Fix a couple of -Wunused-function warnings by marking the static
functions as constexpr or inline.
Commit: b2d4963ee925b014f39231e0faac746630711162
https://github.com/llvm/llvm-project/commit/b2d4963ee925b014f39231e0faac746630711162
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
R mlir/docs/Dialects/Mesh.md
A mlir/docs/Dialects/Shard.md
M mlir/docs/Passes.md
R mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/ShardToMPI/ShardToMPI.h
M mlir/include/mlir/Dialect/CMakeLists.txt
R mlir/include/mlir/Dialect/Func/Extensions/MeshShardingExtensions.h
A mlir/include/mlir/Dialect/Func/Extensions/ShardingExtensions.h
R mlir/include/mlir/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.h
A mlir/include/mlir/Dialect/Linalg/Transforms/ShardingInterfaceImpl.h
R mlir/include/mlir/Dialect/Mesh/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
R mlir/include/mlir/Dialect/Mesh/IR/MeshDialect.h
R mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
R mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
R mlir/include/mlir/Dialect/Mesh/Interfaces/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
R mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
R mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
R mlir/include/mlir/Dialect/Mesh/Transforms/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
R mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
R mlir/include/mlir/Dialect/Mesh/Transforms/ReshardingSpmdizationDoc.md
R mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
R mlir/include/mlir/Dialect/Mesh/Transforms/Spmdization.h
R mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
A mlir/include/mlir/Dialect/Shard/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/IR/ShardBase.td
A mlir/include/mlir/Dialect/Shard/IR/ShardDialect.h
A mlir/include/mlir/Dialect/Shard/IR/ShardOps.h
A mlir/include/mlir/Dialect/Shard/IR/ShardOps.td
A mlir/include/mlir/Dialect/Shard/Interfaces/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/Interfaces/ShardingInterface.h
A mlir/include/mlir/Dialect/Shard/Interfaces/ShardingInterface.td
A mlir/include/mlir/Dialect/Shard/Interfaces/ShardingInterfaceImpl.h
A mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/Transforms/Partition.h
A mlir/include/mlir/Dialect/Shard/Transforms/Passes.h
A mlir/include/mlir/Dialect/Shard/Transforms/Passes.td
A mlir/include/mlir/Dialect/Shard/Transforms/ReshardingPartitionDoc.md
A mlir/include/mlir/Dialect/Shard/Transforms/Simplifications.h
A mlir/include/mlir/Dialect/Shard/Transforms/Transforms.h
R mlir/include/mlir/Dialect/Tensor/Extensions/MeshShardingExtensions.h
A mlir/include/mlir/Dialect/Tensor/Extensions/ShardingExtensions.h
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/Conversion/CMakeLists.txt
R mlir/lib/Conversion/MeshToMPI/CMakeLists.txt
R mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
A mlir/lib/Conversion/ShardToMPI/CMakeLists.txt
A mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Arith/Transforms/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/Func/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Func/Extensions/CMakeLists.txt
R mlir/lib/Dialect/Func/Extensions/MeshShardingExtensions.cpp
A mlir/lib/Dialect/Func/Extensions/ShardingExtensions.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/Linalg/Transforms/AllInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
A mlir/lib/Dialect/Linalg/Transforms/ShardingInterfaceImpl.cpp
R mlir/lib/Dialect/Mesh/CMakeLists.txt
R mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
R mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
R mlir/lib/Dialect/Mesh/Interfaces/CMakeLists.txt
R mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
R mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
R mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
R mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
R mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
R mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
A mlir/lib/Dialect/Shard/CMakeLists.txt
A mlir/lib/Dialect/Shard/IR/CMakeLists.txt
A mlir/lib/Dialect/Shard/IR/ShardOps.cpp
A mlir/lib/Dialect/Shard/Interfaces/CMakeLists.txt
A mlir/lib/Dialect/Shard/Interfaces/ShardingInterface.cpp
A mlir/lib/Dialect/Shard/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Shard/Transforms/Partition.cpp
A mlir/lib/Dialect/Shard/Transforms/ShardingPropagation.cpp
A mlir/lib/Dialect/Shard/Transforms/Simplifications.cpp
A mlir/lib/Dialect/Shard/Transforms/Transforms.cpp
A mlir/lib/Dialect/Shard/Transforms/TransformsDetail.h
M mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Tensor/Extensions/CMakeLists.txt
R mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
A mlir/lib/Dialect/Tensor/Extensions/ShardingExtensions.cpp
M mlir/lib/Dialect/Tosa/CMakeLists.txt
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
R mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
R mlir/test/Conversion/MeshToMPI/convert-shardshape-to-mpi.mlir
A mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
A mlir/test/Conversion/ShardToMPI/convert-shardshape-to-mpi.mlir
R mlir/test/Dialect/Arith/mesh-spmdize.mlir
A mlir/test/Dialect/Arith/shard-partition.mlir
M mlir/test/Dialect/Arith/sharding-propagation.mlir
R mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
R mlir/test/Dialect/Linalg/mesh-spmdization.mlir
A mlir/test/Dialect/Linalg/shard-partition.mlir
A mlir/test/Dialect/Linalg/sharding-propagation.mlir
R mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
R mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/canonicalization.mlir
R mlir/test/Dialect/Mesh/folding.mlir
R mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/inlining.mlir
R mlir/test/Dialect/Mesh/invalid.mlir
R mlir/test/Dialect/Mesh/ops.mlir
R mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
R mlir/test/Dialect/Mesh/resharding-spmdization.mlir
R mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir
R mlir/test/Dialect/Mesh/sharding-propagation.mlir
R mlir/test/Dialect/Mesh/simplifications.mlir
R mlir/test/Dialect/Mesh/spmdization.mlir
A mlir/test/Dialect/Shard/all-scatter-op-lowering.mlir
A mlir/test/Dialect/Shard/backward-sharding-propagation.mlir
A mlir/test/Dialect/Shard/canonicalization.mlir
A mlir/test/Dialect/Shard/folding.mlir
A mlir/test/Dialect/Shard/forward-backward-sharding-propagation.mlir
A mlir/test/Dialect/Shard/forward-sharding-propagation.mlir
A mlir/test/Dialect/Shard/inlining.mlir
A mlir/test/Dialect/Shard/invalid.mlir
A mlir/test/Dialect/Shard/ops.mlir
A mlir/test/Dialect/Shard/partition.mlir
A mlir/test/Dialect/Shard/process-multi-index-op-lowering.mlir
A mlir/test/Dialect/Shard/resharding-partition.mlir
A mlir/test/Dialect/Shard/sharding-propagation-failed.mlir
A mlir/test/Dialect/Shard/sharding-propagation.mlir
A mlir/test/Dialect/Shard/simplifications.mlir
R mlir/test/Dialect/Tensor/mesh-spmdization.mlir
A mlir/test/Dialect/Tensor/shard-partition.mlir
M mlir/test/lib/Dialect/CMakeLists.txt
R mlir/test/lib/Dialect/Mesh/CMakeLists.txt
R mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
R mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
R mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
A mlir/test/lib/Dialect/Shard/CMakeLists.txt
A mlir/test/lib/Dialect/Shard/TestOpLowering.cpp
A mlir/test/lib/Dialect/Shard/TestReshardingPartition.cpp
A mlir/test/lib/Dialect/Shard/TestSimplifications.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
[NFC][mlir][mesh,shard] Fixing misnomers in mesh dialect, renaming 'mesh' dialect to 'shard' (#150177)
Dialect to 'shard' (discourse 87053)
- dialect name mesh -> shard
- (device) mesh -> (device) grid
- spmdize -> partition
A lot of diffs, but simple renames only.
@tkarna @yaochengji
Commit: 6adbbcc7dbcf4ee65c74d396f555f3e057271d9b
https://github.com/llvm/llvm-project/commit/6adbbcc7dbcf4ee65c74d396f555f3e057271d9b
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lldb/docs/index.rst
Log Message:
-----------
[lldb][docs] Correct link syntax for wasm tracking issue
Commit: ae44418f2897f922e5ee4ad0a6da6c5f8f2c33be
https://github.com/llvm/llvm-project/commit/ae44418f2897f922e5ee4ad0a6da6c5f8f2c33be
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M offload/plugins-nextgen/common/include/JIT.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
Log Message:
-----------
[Offload] Erase entries from JIT cache when program is destroyed (#148847)
When `unloadBinary` is called, any entries in the JITEngine's cache
for that binary will be cleared. This fixes a nasty issue with
liboffload program handles. If two handles happen to have had the same
address (after one was free'd, for example), the cache would be hit and
return the wrong program.
Commit: 5294793bdcf6ca142f7a0df897638bd4e85ed1a7
https://github.com/llvm/llvm-project/commit/5294793bdcf6ca142f7a0df897638bd4e85ed1a7
Author: Alex Bradbury <asb at igalia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
Log Message:
-----------
Revert "[RISCV][TTI] Enable masked interleave access for scalable vector (#149981)"
This reverts commit ee3a7714b7a69ac9aae4b79f4c67adc38bc6876b.
Causes an assertion for the zvl1024b RISC-V build configuration. See
comment with reproducer at
<https://github.com/llvm/llvm-project/pull/149981#issuecomment-3118482801>
Commit: 1bd7ccd4a5dc403aa822f0d45242e287889c4b3b
https://github.com/llvm/llvm-project/commit/1bd7ccd4a5dc403aa822f0d45242e287889c4b3b
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
Log Message:
-----------
Revert "[BranchFolding] Kill common hoisted debug instructions" (#150632)
Reverts llvm/llvm-project#149999
https://lab.llvm.org/buildbot/#/builders/139/builds/17622
Commit: 0f3c94a3d8013cc6409f364247d1d4e4293fcacd
https://github.com/llvm/llvm-project/commit/0f3c94a3d8013cc6409f364247d1d4e4293fcacd
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI] Remove ccache from Linux CI Container
This patch removes ccache from the Linux CI container. It is no longer
needed after migrating the monolithic-linux.sh script. The other two
upstream users of this container, namely the post commit static analyzer
and the llvm tests workflow both already use sccache.
Reviewers: tstellar, gburgessiv, dschuff, Keenuts, lnihlen, cmtice
Reviewed By: dschuff, Keenuts, cmtice
Pull Request: https://github.com/llvm/llvm-project/pull/149197
Commit: e4dea2da3053ea8883421618abebfaf17ea30f7f
https://github.com/llvm/llvm-project/commit/e4dea2da3053ea8883421618abebfaf17ea30f7f
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86PassRegistry.def
Log Message:
-----------
[X86][NewPM] Add Skeleton for X86 Pass Registry (#150573)
This patch adds most of the x86 legacy passes to the pass registry for
the NewPM. This is intended to outline the work that needs to be done to
get them all ported over.
At least two of the dummy function passes (lower-amx-intrinsics,
lower-amx-type) sort of already have NewPM versions, but leaving them as
dummy function passes for now because they need some touch up before
they actually work.
Commit: b8277b49d968983d5fabcd0a74e6eb4674f34c90
https://github.com/llvm/llvm-project/commit/b8277b49d968983d5fabcd0a74e6eb4674f34c90
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream Support Init ComplexType from 1 size InitList (#150293)
This change adds support for init ComplexType from InitList with 1 size
https://github.com/llvm/llvm-project/issues/141365
Commit: 9281797a577b7954521fb9192d41e457ca2ca42e
https://github.com/llvm/llvm-project/commit/9281797a577b7954521fb9192d41e457ca2ca42e
Author: James Y Knight <jyknight at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Google Style: disable DerivePointerAlignment. (#149602)
The [Google C++ Style
Guide](https://google.github.io/styleguide/cppguide.html#Pointer_and_Reference_Expressions)
is being changed to specify that spaces should go after the
asterisk/ampersand, rather than permitting either before or after on a
file-by-file basis.
The new requirement is:
> When referring to a pointer or reference (variable declarations or
> definitions, arguments, return types, template parameters, etc.),
> you must not place a space before the asterisk/ampersand. Use a
> space to separate the type from the declared name (if present).
The [Google ObjC
style](https://google.github.io/styleguide/objcguide.html) is silent on
this matter, but the de-facto style is not being modified at this time.
So, keep DerivePointerAlignment enabled for ObjC language mode.
Commit: 7b42e7c98e13bd9f50db754346de946b3a6e1bbe
https://github.com/llvm/llvm-project/commit/7b42e7c98e13bd9f50db754346de946b3a6e1bbe
Author: nerix <nerixdev at outlook.de>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/TestDataFormatterStdU8StringView.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/main.cpp
Log Message:
-----------
[LLDB] Add formatters for MSVC STL std::string_view and friends (#150318)
Adds summaries for `std::{,w,u8,u16,u32}string_view`s from MSVC's STL. A
few functions from the string formatting can be reused.
Towards #24834.
Commit: 2b3ca68401ef74c75d6d5e9cc2957cdbdab2a22d
https://github.com/llvm/llvm-project/commit/2b3ca68401ef74c75d6d5e9cc2957cdbdab2a22d
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/bit.cir
Log Message:
-----------
[CIR] Add folders for bit manipulation operations (#150235)
This patch adds folders for the bit manipulation operations, namely:
`clrsb`, `clz`, `ctz`, `parity`, `popcount`, `bitreverse`, `byte_swap`,
and `rotate`.
Commit: a883a679165658bc6495e7d661dd52af02831250
https://github.com/llvm/llvm-project/commit/a883a679165658bc6495e7d661dd52af02831250
Author: lntue <lntue at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/shared/math/exp10f16.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acoshf16.h
M libc/test/shared/shared_math_test.cpp
Log Message:
-----------
[libc] Fix dependency list of libc.src.__support.math.exp10f16. (#150434)
Commit: 413c0800ce4c3a9d3eb8dc6ef83465e9c91338b2
https://github.com/llvm/llvm-project/commit/413c0800ce4c3a9d3eb8dc6ef83465e9c91338b2
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Add const and avoid a copy in CompressInstEmitter::emitCompressInstEmitter. NFC
Commit: 07967d4af854e50f94ce217788fa75c3e7e9ea86
https://github.com/llvm/llvm-project/commit/07967d4af854e50f94ce217788fa75c3e7e9ea86
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OptimizeAllocationLiveness.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/Linalg/TransformOps/GPUHeuristics.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[mlir] Switch to new LDBG macro (#150616)
Change local variants to use new central one.
Commit: 2d0ca09305fcece75e2c501f1ec74aa6eada69a0
https://github.com/llvm/llvm-project/commit/2d0ca09305fcece75e2c501f1ec74aa6eada69a0
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
Log Message:
-----------
[CodeGenPrepare] Make sure that `AddOffset` is also a loop invariant (#150625)
Closes https://github.com/llvm/llvm-project/issues/150611.
Commit: 81eb63ad7f328a8c2f0293d85aecde18b6edf16a
https://github.com/llvm/llvm-project/commit/81eb63ad7f328a8c2f0293d85aecde18b6edf16a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
Log Message:
-----------
[CostModel][X86] Complicate the cross lane single/two source shuffle masks
Try to ensure shuffle masks don't simplify too much to easier shuffle kinds when splitting
Commit: af1ca08ddbafc729a44ba3833268c344c835ca8e
https://github.com/llvm/llvm-project/commit/af1ca08ddbafc729a44ba3833268c344c835ca8e
Author: Jaden Angella <ajaden at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/test/Dialect/EmitC/wrap_emitc_func_in_class.mlir
Log Message:
-----------
[mlir][EmitC]Remove the Unused Option in the `wrap-emitc-func-in-class` Pass (#150577)
This patch removes the option `namedAttribute` which is not used in this
pass.
Commit: f169af3ba7ebd3299090fb5ba2a44ef19990558f
https://github.com/llvm/llvm-project/commit/f169af3ba7ebd3299090fb5ba2a44ef19990558f
Author: Helena Kotas <hekotas at microsoft.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/lib/Analysis/DXILResource.cpp
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-6.ll
Log Message:
-----------
[HLSL] Fix detection of overlapping binding with unbounded array (#150547)
Fixes #150534
Commit: 83e51773f88e93d69c9abcac51de10bc3b80150d
https://github.com/llvm/llvm-project/commit/83e51773f88e93d69c9abcac51de10bc3b80150d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Improve formatting of CompressInstEmitter output. NFC
Commit: a6bf40d1c6cf010b3ad90bf7f410983453f4deb2
https://github.com/llvm/llvm-project/commit/a6bf40d1c6cf010b3ad90bf7f410983453f4deb2
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/test/mlir-tblgen/rewriter-attributes-properties.td
M mlir/test/mlir-tblgen/rewriter-indexing.td
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (29/n) (#150642)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 258d04c810ab10f101324cbf1fe3c7be65eb1938
https://github.com/llvm/llvm-project/commit/258d04c810ab10f101324cbf1fe3c7be65eb1938
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Arith/TestEmulateWideInt.cpp
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/SCF/TestWhileOpBuilder.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/IR/TestPrintInvalid.cpp
M mlir/test/lib/IR/TestSlicing.cpp
M mlir/test/lib/Pass/TestPassManager.cpp
M mlir/test/lib/Transforms/TestDialectConversion.cpp
M mlir/test/lib/Transforms/TestInliningCallback.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
M mlir/test/lib/Transforms/TestTransformsOps.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (28/n) (#150641)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: b58ad3650f2195117f484d551ffbada27e7d1e14
https://github.com/llvm/llvm-project/commit/b58ad3650f2195117f484d551ffbada27e7d1e14
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/unittests/Conversion/PDLToPDLInterp/RootOrderingTest.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
M mlir/unittests/Dialect/SCF/LoopLikeSCFOpsTest.cpp
M mlir/unittests/Dialect/SMT/QuantifierTest.cpp
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
M mlir/unittests/IR/IRMapping.cpp
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
M mlir/unittests/IR/InterfaceTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (30/n) (#150643)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: c610b244937ed847b0275ccb038c0f2d36310b4a
https://github.com/llvm/llvm-project/commit/c610b244937ed847b0275ccb038c0f2d36310b4a
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractToNeonPatterns.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (27/n) (#150638)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: ae5537e0141112ee38443951b732f9e76bfa6706
https://github.com/llvm/llvm-project/commit/ae5537e0141112ee38443951b732f9e76bfa6706
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
Update CODEOWNERS for MLIR python bindings (#150609)
Commit: 2571924ad6b8ca4a914ef613677cc41079224428
https://github.com/llvm/llvm-project/commit/2571924ad6b8ca4a914ef613677cc41079224428
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
Log Message:
-----------
MCSectionELF: Remove classof
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: da30197f1c967c3196a376439c860c2d55b84495
https://github.com/llvm/llvm-project/commit/da30197f1c967c3196a376439c860c2d55b84495
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/fuzzing/math/CMakeLists.txt
A libc/fuzzing/math/f16sqrt_fuzz.cpp
A libc/fuzzing/math/fsqrt_fuzz.cpp
A libc/fuzzing/math/hypot_fuzz.cpp
Log Message:
-----------
[libc] Fuzz tests for fsqrt, f16sqrt, and hypot (#150489)
Added fuzz tests for f16sqrt, fsqrt, and hypot
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 479ae4aa8fe894dbb00a895b98620120c5e06769
https://github.com/llvm/llvm-project/commit/479ae4aa8fe894dbb00a895b98620120c5e06769
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticFrontendKinds.td
M clang/include/clang/Basic/NoSanitizeList.h
M clang/include/clang/Basic/SanitizerSpecialCaseList.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Basic/NoSanitizeList.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SanitizerSpecialCaseList.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/test/Driver/fsanitize-ignorelist.c
M llvm/include/llvm/Support/SpecialCaseList.h
M llvm/lib/Support/SpecialCaseList.cpp
Log Message:
-----------
Revert "fix: replace report_fatal_error with Diags and exit" (#150662)
Reverts llvm/llvm-project#147959
Commit: 6cbcfb9a7cb79658c315732b1d7d86ce8a52bc45
https://github.com/llvm/llvm-project/commit/6cbcfb9a7cb79658c315732b1d7d86ce8a52bc45
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
Log Message:
-----------
[OpenACC] Fix Sema 'reduction' to allow arrays
Due to a mis-reading of the OpenACC spec, we weren't accepting arrays as
a valid value to a reduction variable. This patch corrects that.
Commit: 1d0aa5f6b2e4ee84ed21976d5e74cf2fc072a427
https://github.com/llvm/llvm-project/commit/1d0aa5f6b2e4ee84ed21976d5e74cf2fc072a427
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
Log Message:
-----------
[libc++] Add missing CPO tests for range adaptors (#149557)
Co-authored-by: A. Jiang <de34 at live.cn>
Commit: b46527645db279daf50f540a3496bbd81a95200a
https://github.com/llvm/llvm-project/commit/b46527645db279daf50f540a3496bbd81a95200a
Author: lntue <lntue at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10f16_utils.h
Log Message:
-----------
[libc] Remove constexpr from math::exp10_range_reduction and math::exp. (#150653)
Commit: 258daf539583b80e0217d1d87941412d65cf16aa
https://github.com/llvm/llvm-project/commit/258daf539583b80e0217d1d87941412d65cf16aa
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/test/lib/Dialect/Shard/TestReshardingPartition.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
Log Message:
-----------
[mlir][NFC] update `mlir` create APIs (34/n) (#150660)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 237a485c8146fd971c594b05c016c406b4d29900
https://github.com/llvm/llvm-project/commit/237a485c8146fd971c594b05c016c406b4d29900
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] generate comments for functions (#150570)
Change the function partial to enable comments to be generated for
functions. This only enables the brief comments in the basic project.
Commit: 252119eb24c71933634c2b006d9b0a64e8352648
https://github.com/llvm/llvm-project/commit/252119eb24c71933634c2b006d9b0a64e8352648
Author: lntue <lntue at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
Log Message:
-----------
[libc] Make fenv utility functions constexpr. (#150447)
Commit: ce535c870038dd480649461c2d6d4dffe9697253
https://github.com/llvm/llvm-project/commit/ce535c870038dd480649461c2d6d4dffe9697253
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Target/LLVM/NVVM/Target.cpp
Log Message:
-----------
[MLIR] Add missing includes to NVVM/Target.cpp (fix build) (#150637)
Depending on the CMake configuration, these missing headers triggers a
compilation error.
Commit: ef98e248c7740fb882b256dd325d22a057de1951
https://github.com/llvm/llvm-project/commit/ef98e248c7740fb882b256dd325d22a057de1951
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/docs/ReleaseNotes.md
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/X86/buildvector-schedule-for-subvector.ll
M llvm/test/Transforms/SLPVectorizer/X86/extract-scalar-from-undef.ll
M llvm/test/Transforms/SLPVectorizer/X86/full-match-with-poison-scalar.ll
M llvm/test/Transforms/SLPVectorizer/X86/node-outside-used-only.ll
M llvm/test/Transforms/SLPVectorizer/X86/non-schedulable-instructions-become-schedulable.ll
M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
M llvm/test/Transforms/SLPVectorizer/X86/revec-reduced-value-vectorized-later.ll
A llvm/test/Transforms/SLPVectorizer/X86/user-node-no-state.ll
M llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
Log Message:
-----------
[SLP]Initial support for copyable elements (non-schedulable only)
Adds initial support for copyable elements. This patch only models adds
and model copyable elements as add <element>, 0, i.e. uses identity
constants for missing lanes.
Only support for elements, which do not require scheduling, is added to
reduce size of the patch.
Fixed compile time regressions, reported crashes, updated release notes
Reviewers: RKSimon, hiraditya
Reviewed By: RKSimon
Pull Request: https://github.com/llvm/llvm-project/pull/140279
Commit: 773e158c64735a80b814f20be6b959d9577531f8
https://github.com/llvm/llvm-project/commit/773e158c64735a80b814f20be6b959d9577531f8
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
[mlir][linalg] Restrict linalg.pack to not have artificial padding. (#150522)
The revision restrict the `linalg.pack` op to not have artificial
padding semantics. E.g., the below is valid without the change, and it
becomes invalid with the change.
```mlir
func.func @foo(%src: tensor<9xf32>) -> tensor<100x8xf32> {
%cst = arith.constant 0.000000e+00 : f32
%dest = tensor.empty() : tensor<100x8xf32>
%pack = linalg.pack %src
padding_value(%cst : f32)
inner_dims_pos = [0]
inner_tiles = [8] into %dest
: tensor<9xf32> -> tensor<100x8xf32>
return %pack : tensor<100x8xf32>
}
```
IMO, it is a misuse if we use pack ops with artificial padding sizes
because the intention of the pack op is to relayout the source based on
target intrinsics, etc. The output shape is expected to be
`tensor<2x8xf32>`. If people need extra padding sizes, they can create a
new pad op followed by the pack op.
This also makes consumer tiling much easier because the consumer fusion
does not support artificial padding sizes. It is very hard to make it
work without using ad-hoc patterns because the tiling sizes are about
source, which implies that you don't have a core_id/thread_id to write
padding values to the whole tile.
People may have a question how why pad tiling implementation works. The
answer is that it creates an `if-else` branch to handle the case. In my
experience, it is very struggle in transformation because most of the
time people only need one side of the branch given that the tile sizes
are usually greater than padding sizes. However, the implementation is
conservatively correct in terms of semantics. Given that the
introduction of `pack` op is to serve the relayout needs better, having
the restriction makes sense to me.
Removed tests:
-
`no_bubble_up_pack_extending_dimension_through_expand_cannot_reassociate`
from `data-layout-propagation.mlir`: it is a dup test to
`bubble_up_pack_non_expanded_dims_through_expand` after we fix the
shape.
- `fuse_pack_consumer_with_untiled_extra_padding` from
`tile-and-fuse-consumer.mlir`: it was created for artificial padding in
the consumer fusion implementation.
The other changes in lit tests are just fixing the shape.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 80594820512605f25993b28d0aab2214d5308d59
https://github.com/llvm/llvm-project/commit/80594820512605f25993b28d0aab2214d5308d59
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] add param comments to comment template (#150571)
Serializes parameter comments for all descriptions.
We do not support Doxygen's parameter checking, which warns if a documented parameter is not actually present.
Commit: b06f10d96c6d0fb89253c75c7f1d75c4cf519339
https://github.com/llvm/llvm-project/commit/b06f10d96c6d0fb89253c75c7f1d75c4cf519339
Author: Ryotaro Kasuga <kasuga.ryotaro at fujitsu.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
M llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
M llvm/test/Analysis/DependenceAnalysis/GCD.ll
M llvm/test/Analysis/DependenceAnalysis/NonAffineExpr.ll
M llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
M llvm/test/Analysis/DependenceAnalysis/PreliminaryNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
Log Message:
-----------
[DA] Add check for base pointer invariance (#148241)
As specified in #53942, DA assumes base pointer invariance in its
process. Some cases were fixed by #116628. However, that PR only
addressed the parts related to AliasAnalysis, so the original issue
persists in later stages, especially when the AliasAnalysis results in
`MustAlias`.
This patch insert an explicit loop-invariant checks for the base pointer
and skips analysis when it is not loop-invariant.
Fix the cases added in #148240.
Commit: 0844812b2e9d7f5ab005223443791c9287bcf5a2
https://github.com/llvm/llvm-project/commit/0844812b2e9d7f5ab005223443791c9287bcf5a2
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
Revert "[mlir][linalg] Restrict linalg.pack to not have artificial padding." (#150675)
Reverts llvm/llvm-project#150522 because it breaks
`Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir`.
https://lab.llvm.org/buildbot/#/builders/116/builds/16097
Commit: 47e2de0d50e8becb5dbed3e8dcb9949c5a6c71a4
https://github.com/llvm/llvm-project/commit/47e2de0d50e8becb5dbed3e8dcb9949c5a6c71a4
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/acospif16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/acospif16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acospif16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor acospif16 implementation to header-only in src/__support/math folder. (#148574)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: c99b1bcd505064f2e086e6b1034ce0b0c91ea5b9
https://github.com/llvm/llvm-project/commit/c99b1bcd505064f2e086e6b1034ce0b0c91ea5b9
Author: Andreas Schwab <schwab at suse.de>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
Log Message:
-----------
Remove reference to obsolete termio ioctls
The termio ioctls are no longer used after commit 59978b21ad9c
("[sanitizer_common] Remove interceptors for deprecated struct termio
(#137403)"), remove them. Fixes this build error:
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:765:27: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’
765 | unsigned IOCTL_TCGETA = TCGETA;
| ^~~~~~
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:769:27: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’
769 | unsigned IOCTL_TCSETA = TCSETA;
| ^~~~~~
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:770:28: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’
770 | unsigned IOCTL_TCSETAF = TCSETAF;
| ^~~~~~~
../../../../libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp:771:28: error: invalid application of ‘sizeof’ to incomplete type ‘__sanitizer::termio’
771 | unsigned IOCTL_TCSETAW = TCSETAW;
| ^~~~~~~
Part-of: https://github.com/llvm/llvm-project/pull/138822
Closes: https://github.com/llvm/llvm-project/pull/138822
Commit: fcbcfe44cff00101a6a98a73971398eb8dd87710
https://github.com/llvm/llvm-project/commit/fcbcfe44cff00101a6a98a73971398eb8dd87710
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (32/n) (#150657)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: f26db3f3ec976a4465655dae733033d1420054b7
https://github.com/llvm/llvm-project/commit/f26db3f3ec976a4465655dae733033d1420054b7
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/Operation.h
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[MLIR] Add a OpWithFlags class that acts as a "stream modifier" to customize Operation streaming (#150636)
Commit: 6564bf6a5e9c722e8c39be93eb1affaa12ade967
https://github.com/llvm/llvm-project/commit/6564bf6a5e9c722e8c39be93eb1affaa12ade967
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-segN-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
Log Message:
-----------
[RISCV] Rewrite tests to preserve test intent and simplify
Cleaning up tests in advance of pr #150049.
Commit: 67658af1cc460676b0622e154a4fbcd50fc6dde6
https://github.com/llvm/llvm-project/commit/67658af1cc460676b0622e154a4fbcd50fc6dde6
Author: Pedro Lobo <pedro.lobo at tecnico.ulisboa.pt>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
Log Message:
-----------
[ConstantFolding] Merge constant gep `inrange` attributes (#150546)
When folding a gep+gep into a single gep, intersect their `inrange`
attributes.
Commit: 89de262f260868a107319a58a0365b55c9cda126
https://github.com/llvm/llvm-project/commit/89de262f260868a107319a58a0365b55c9cda126
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Adjust LDBG output: surround DebugType between `[` and `]` (#150671)
This makes the output more readable by clearly showing the current debug
type as a keyword.
Commit: c29094df722ea3aa3e2a788375d340b79384ccef
https://github.com/llvm/llvm-project/commit/c29094df722ea3aa3e2a788375d340b79384ccef
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
Log Message:
-----------
[AMDGPU] NFCI: Track AV Register Pressure separately (#149863)
Adds new entries in the GCNPressure array for AVGPR pressure. In this
PR, AVGPR pressure is added to pure VGPR pressure under all the pressure
queries, so it is NFC.
Separating out this pseudo RC will help us make more informed decisions
in future work. This RC can be assigned as either VGPR or AGPR, so
tracking them as pure VGPR pressure is not accurate.
Commit: 400ce1a3d36fa513a88c9b336c77c46ae829049f
https://github.com/llvm/llvm-project/commit/400ce1a3d36fa513a88c9b336c77c46ae829049f
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
Log Message:
-----------
[AMDGPU] Support AMDGPUClamp for bf16 on gfx1250 (#150663)
Scalar version uses V_MAX_BF16_PSEUDO which is expanded to V_PK_MAX_BF16
with unused high bits. If V_PK_MAX_BF16 is produced directly instead
that creates problem with folding of the clamp into other scalar
instructions due to incompatible clamp bits.
FIXME-TRUE16: enable bf16 clamp with true16
---------
Co-authored-by: Stanislav Mekhanoshin <Stanislav.Mekhanoshin at amd.com>
Commit: 8b7dc4cadb622e2b4a13155bffa5cec8c8fb6b8b
https://github.com/llvm/llvm-project/commit/8b7dc4cadb622e2b4a13155bffa5cec8c8fb6b8b
Author: premanandrao <premanand.m.rao at intel.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTContext.cpp
A clang/test/Parser/dep_template_spec_type.cpp
Log Message:
-----------
[clang] Fix issue with FoldingSet and DependentTemplateSpecialization… (#150559)
…Type
PR #118288 fixed a re-entrancy issue with the usage of `FoldingSet` and
`AutoType`. The following test case (reduced with `creduce` by
@Fznamznon):
```
template <typename C, typename S1, int rbits>
typename C::A Bar(const S1& x, const C& c = C()) {
using T = typename C::A;
T result;
using PreC = typename C::template boop<T::p + rbits>;
using ExactC = typename C::template bap<PreC::p + 2>;
using D = typename ExactC::A;
return result;
}
```
shows a similar non-deterministic recursion with the use of `FoldingSet`
but with `DependentTemplateSepcializationType`. A nearly identical fix
is needed here too.
Commit: 20d93536fccad1d1901c2182e789c5371a072c47
https://github.com/llvm/llvm-project/commit/20d93536fccad1d1901c2182e789c5371a072c47
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Revert "Adjust LDBG output: surround DebugType between `[` and `]`" (#150685)
Reverts llvm/llvm-project#150671 ; buildbot failure.
Commit: e77230424fec932b49f54165775e188be70ee75f
https://github.com/llvm/llvm-project/commit/e77230424fec932b49f54165775e188be70ee75f
Author: gui martins <guilhermev2huehue at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/docs/ClangFormatStyleOptions.rst
M clang/include/clang/Format/Format.h
Log Message:
-----------
[clang-format] fix typo in docs (#150658)
Closes #150533
Commit: 8e6a05d4712c3e134737d1584da90854a72bd84d
https://github.com/llvm/llvm-project/commit/8e6a05d4712c3e134737d1584da90854a72bd84d
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
A llvm/test/CodeGen/WebAssembly/libcall_vectorized.ll
Log Message:
-----------
[WebAssembly] Added vectorized version of fexp10 to the supported list (#150564)
Fixes https://github.com/llvm/llvm-project/issues/117200.
The default behavior in TargetLoweringBase is only scalar floats on fexp
are supported by default, not the vectorized version. This PR adds
`ISD::FEXP10` to the supported list.
Commit: 3df67e8a40671d53ab8f3f16ed3d16a4e8efc402
https://github.com/llvm/llvm-project/commit/3df67e8a40671d53ab8f3f16ed3d16a4e8efc402
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
Adjust LDBG output: surround DebugType between `[` and `]` (#150671)
This makes the output more readable by clearly showing the current debug
type as a keyword.
Commit: 63c2b8a5b35f552e00f5458307f04ce9a6f4cfff
https://github.com/llvm/llvm-project/commit/63c2b8a5b35f552e00f5458307f04ce9a6f4cfff
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] add return comments to comment template (#150647)
Serialize return comments in HTML templates.
Commit: f834b0c3a782379bded3dd8d835b36246a1583d0
https://github.com/llvm/llvm-project/commit/f834b0c3a782379bded3dd8d835b36246a1583d0
Author: Michael Klemm <michael.klemm at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang/docs/F202X.md
M flang/docs/ReleaseNotes.md
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/test/Lower/Intrinsics/c_f_pointer.f90
M flang/test/Semantics/c_f_pointer.f90
Log Message:
-----------
[Flang] Implement LOWER= argument for C_F_POINTER (Fortran 2023) (#149870)
This PR resolves issue #147819 and adds support for the F2023 extension
of the `LOWER=` argument for `C_F_POINTER`.
Commit: 3f3d779ff84fa505c15cd94c484103b966a93ff8
https://github.com/llvm/llvm-project/commit/3f3d779ff84fa505c15cd94c484103b966a93ff8
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mbsinit.cpp
A libc/src/wchar/mbsinit.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mbsinit_test.cpp
Log Message:
-----------
[libc] Implement mbsinit (#150654)
Implemented public libc function to check if an mbstate describes an
empty state
Commit: bc19aedba2dec11d9366cf886c2efbcd662177fe
https://github.com/llvm/llvm-project/commit/bc19aedba2dec11d9366cf886c2efbcd662177fe
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/asin.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asin.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asin.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor asin implementation to header-only in src/__support/math folder. (#148578)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: fd65b2097be4acae1cc5b718dcccb10b9aaf324c
https://github.com/llvm/llvm-project/commit/fd65b2097be4acae1cc5b718dcccb10b9aaf324c
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-containers.yml
Log Message:
-----------
[Github][libcxx] Run Container Build Workflow on Stacked PRs (#150683)
Currently the container build workflow does not run on stacked PRs that
do not have a branch target of main because of how the workflow is
configured. This makes the workflow better confirm to the LLVM CI best
practices around Github workflows:
https://llvm.org/docs/CIBestPractices.html#ensuring-workflows-run-on-the-correct-events
Commit: 2f8c926d6ed54d05f3998025b54d5c60191a508e
https://github.com/llvm/llvm-project/commit/2f8c926d6ed54d05f3998025b54d5c60191a508e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/IR/PatternLoggingListener.cpp
Log Message:
-----------
[MLIR] Migrate PatternLoggingListener to the standard LDBG output (#150686)
Commit: e5202027c525d45d607487fb0cf6d846466135e0
https://github.com/llvm/llvm-project/commit/e5202027c525d45d607487fb0cf6d846466135e0
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/utils/TableGen/InstrInfoEmitter.cpp
Log Message:
-----------
[TableGen] Use MapVector in InstrInfoEmitter::emitOperandNameMappings (#150630)
This changes the order of names/numbers in the OpName enum, but that
should not cause any change in behaviour.
Commit: 057b1c27294983e4939788172e55133160c3a1e2
https://github.com/llvm/llvm-project/commit/057b1c27294983e4939788172e55133160c3a1e2
Author: Florian Mayer <fmayer at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
Log Message:
-----------
[NFC] [HWASan] remove unneeded pointer cast (#150510)
The first argument to a lifetime intrinsic now has to be an alloca
Commit: 445006d3a94e00bf6aa4ac650852aff52f0ca3b1
https://github.com/llvm/llvm-project/commit/445006d3a94e00bf6aa4ac650852aff52f0ca3b1
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[LV] Add test for re-using existing phi for SCEV Add.
Add another test case for
https://github.com/llvm/llvm-project/pull/147824, where the difference
between an existing phi and the target SCEV is an add of a constant.
Commit: 4df8f726087c68d6e654a76839c544b18e4ca70e
https://github.com/llvm/llvm-project/commit/4df8f726087c68d6e654a76839c544b18e4ca70e
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
Log Message:
-----------
[clang-doc] add code comments to comment template (#150648)
Serializes Doxygen code comments in HTML templates. Modifies the
basic-project to add a code example.
Commit: c090ed53fb73f59cf221f5610430af8047758117
https://github.com/llvm/llvm-project/commit/c090ed53fb73f59cf221f5610430af8047758117
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Dialect/AMX/IR/AMXDialect.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/Quant/Transforms/LowerQuantOps.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
M mlir/lib/Dialect/Shard/Transforms/Partition.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/Dialect` create APIs (33/n) (#150659)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 284a5c2c0b97edddf255ea210f939203ad3d09f2
https://github.com/llvm/llvm-project/commit/284a5c2c0b97edddf255ea210f939203ad3d09f2
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/docs/Interfaces.md
M mlir/docs/PDLL.md
M mlir/docs/Tutorials/QuickstartRewrites.md
M mlir/docs/Tutorials/Toy/Ch-2.md
M mlir/docs/Tutorials/Toy/Ch-4.md
M mlir/docs/Tutorials/Toy/Ch-5.md
M mlir/docs/Tutorials/Toy/Ch-6.md
M mlir/docs/Tutorials/Toy/Ch-7.md
M mlir/examples/toy/Ch2/include/toy/Ops.td
M mlir/examples/toy/Ch2/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch3/include/toy/Ops.td
M mlir/examples/toy/Ch3/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch4/include/toy/Ops.td
M mlir/examples/toy/Ch4/mlir/Dialect.cpp
M mlir/examples/toy/Ch4/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch5/include/toy/Ops.td
M mlir/examples/toy/Ch5/mlir/Dialect.cpp
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch5/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch6/include/toy/Ops.td
M mlir/examples/toy/Ch6/mlir/Dialect.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch6/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch7/include/toy/Ops.td
M mlir/examples/toy/Ch7/mlir/Dialect.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/examples` create APIs (31/n) (#150652)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 3e1392fb4b6afa4e1b212d04fb4881656d846736
https://github.com/llvm/llvm-project/commit/3e1392fb4b6afa4e1b212d04fb4881656d846736
Author: erichkeane <ekeane at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
Log Message:
-----------
[OpenACC] Allow sub-arrays in declare/use_device as an extension
These two both allow arrays as their variable references, but it is a
common thing to use sub-arrays as a way to get a pointer to act as an
array with other compilers. This patch adds these, with an
extension-warning.
Commit: 5ebdfe386e3bb9f959719f76a9ad689f843c2164
https://github.com/llvm/llvm-project/commit/5ebdfe386e3bb9f959719f76a9ad689f843c2164
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/modules.mm
Log Message:
-----------
[clang][Modules] Respect -fno-cxx-modules as a driver flag (#150349)
The mentioned flag is already both a cc1 & driver flag; however, whether
it is respected was tied to either:
1. Whether it was passed as a cc1 option (`Xclang`)
2. or `-fmodules` accompanying it
This poses a consistency problem where `std=c++20` enables the modules
feature, independent of other module settings.
This patch resolves this issue by checking for the presence
unconditionally & passing it down to cc1 when applicable.
Commit: 56ae79a6ab70ded92846e053b13745ea51e48089
https://github.com/llvm/llvm-project/commit/56ae79a6ab70ded92846e053b13745ea51e48089
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
A llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
A llvm/test/Transforms/StructurizeCFG/hoist-zerocost.ll
Log Message:
-----------
reland "[StructurizeCFG] Hoist and simplify zero-cost incoming else p… (#149744)
…hi values (#139605)"
This relands commit b11523b494b with the fix for llvm-buildbot failures
"clang-hip-vega20" and "openmp-offload-amdgpu-runtime-2". The reland
prevents hoisting the phi node which fixes the issue.
Original PR description:
The order of if and else blocks can introduce unnecessary VGPR copies.
Consider the case of an if-else block where the incoming phi from the
'Else block' only contains zero-cost instructions, and the 'Then' block
modifies some value. There would be no interference when coalescing
because only one value is live at any point before structurization.
However, in the structurized CFG, the Then value is live at 'Else' block
due to the path if→flow→else, leading to additional VGPR copies.
This patch addresses the issue by:
- Identifying PHI nodes with zero-cost incoming values from the Else
block and hoisting those values to the nearest common dominator of the
Then and Else blocks.
- Updating Flow PHI nodes by replacing poison entries (on the if→flow
edge) with the correct hoisted values.
Commit: 64704c6346697efd1a981ff543f407303707b2b4
https://github.com/llvm/llvm-project/commit/64704c6346697efd1a981ff543f407303707b2b4
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
A clang/test/CIR/CodeGen/struct-init.cpp
Log Message:
-----------
[CIR] Add support for C++ initializer lists (#150681)
This adds basic support for using C++ initializer lists to initialize
fields of a record.
Commit: 6118a254ff9acb4b54a6bdb952c088a792b679af
https://github.com/llvm/llvm-project/commit/6118a254ff9acb4b54a6bdb952c088a792b679af
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/bad-agpr-vgpr-regalloc-priority.mir
M llvm/test/CodeGen/AMDGPU/bf16.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/fix-crash-valu-hazard.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/infer-addrspace-flat-atomic.ll
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/large-avgpr-assign-last.mir
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
Log Message:
-----------
[AMDGPU] Allocate AVRegClass last (#146606)
This changes the RC priorities such that AVRegClass is the least
prioritized. These registers are less constrained than the VRegClass and
ARegClass as they can be either agpr or vgpr. Thus, assigning them last
removes unnecessary constraints from VRegClass and ARegClass
assignments, and allows the RA to make smarter decisions about whether
to use vgpr / agpr for AVRegClass.
We only have 5 bits for RC priorities, and we still want to prioritize
larger RCs over smaller ones. Since this new prioritization uses the 5th
bit for AVRegClass vs ARegClass / VRegClass, we only have 4 bits to
encode the size priorities. Previously, each RC with a distinct size,
had a distinct priority. However, this PR groups together multiple sizes
to the same priority. Currently, this will have no effect on
prioritization in practice because we only have one actually defined RC
per group per vector register type.
For example, a register class with 15 or 16 32bit registers will have
the same size priority (14). However, we only have VReg_512 (VReg_480
doesn't exist), so only one actual RC in VRegClass has this priority.
Similarly, we give register class with 17-32+ 32 bit registers a size
priority of 15, but we only have VReg_1024.
The effect of this PR is to prioritize first the vector register type
(VReg & Areg have top priority, then AVReg), with the size of the
register class having second priority.
Passes PSDB.
---------
Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
Commit: 34a08cb89c5e50c22be05555529ce84eaa3e4d3c
https://github.com/llvm/llvm-project/commit/34a08cb89c5e50c22be05555529ce84eaa3e4d3c
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Optimizer/Dialect/Support/KindMapping.cpp
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/VCIXDialect.cpp
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/unittests/Target/LLVM/CMakeLists.txt
Log Message:
-----------
[mlir][LLVM] Remove `llvm` deps from the LLVM dialect (#150692)
This patch removes spurious includes of `llvm/IR` files, and unnecessary
link components in the LLVM dialect.
The only major dependencies still coming from LLVM are
`llvm::DataLayout`, which is used by `verifyDataLayoutString` and some
`dwarf` symbols in some attributes. Both of them should likely be
removed in the future.
Finally, I also removed one constructor from `LLVM::AssumeOp` that used
[OperandBundleDefT](https://llvm.org/doxygen/classllvm_1_1OperandBundleDefT.html)
without good reason and introduced a header unnecessarily.
Commit: 04a44fef1ffc6f2a0f5ea042beebd4a84dd5fed6
https://github.com/llvm/llvm-project/commit/04a44fef1ffc6f2a0f5ea042beebd4a84dd5fed6
Author: Benoit Jacob <jacob.benoit.1 at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
Log Message:
-----------
[MLIR] Fix release build: FULL_LDBG macro was incorrect when NDEBUG is defined (#150698)
DEBUGLOG_WITH_STREAM_AND_TYPE is an internal implementation detail of
LDBG in DebugLog.h. When NDEBUG is defined,
DEBUGLOG_WITH_STREAM_AND_TYPE is not defined at all.
Signed-off-by: Benoit Jacob <jacob.benoit.1 at gmail.com>
Commit: 9e09c4dd52a093501fe361890bd2924daf79e50e
https://github.com/llvm/llvm-project/commit/9e09c4dd52a093501fe361890bd2924daf79e50e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
Log Message:
-----------
[MLIR] Fix release build: the definition for the FULL_LDBG macro was incorrect
Commit: 18397f60633efefcee413d68a1e80cb726bb4d16
https://github.com/llvm/llvm-project/commit/18397f60633efefcee413d68a1e80cb726bb4d16
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Use Record from CompressPat in compress/uncompress functions. (#150664)
Instead of using the Record from the instruction definition, use the
Record specified in the CompressPat DAG. This will allow us to use
Records that are subsets of both the source and destination.
I want to use this to merge the C_*_HINT instructions back into their
regular non-HINT versions, but prevent those encodings from being part
of compress/uncompress. For example, we will use GPRNoX0 for the C_ADDI
CompressPat while both C_ADDI and ADDI will use GPR in their instruction
definitions.
To do this I've recorded the original DAG Record in the OperandMap using
a struct in the union to represent the 3 fields needed for an Operand.
Previously we stored TiedOpIdx outside the union, but only used it for
Operand.
There is a verification hole here where we don't have any way to check
that an immediate predicate is a subset of an instruction predicate at
tablegen time. Prior to #148660 we had this hole in one direction, but
that patch made it in two directions. I'm not sure if this patch makes
it any worse. Now we're using what is in the CompressPat where before we
were using whatever was in the instructions and ignoring the predicate
in the CompressPat.
Commit: af17541eab0c237872a67d50f3ff904231d8cec1
https://github.com/llvm/llvm-project/commit/af17541eab0c237872a67d50f3ff904231d8cec1
Author: CatherineMoore <catmoore at amd.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M clang/docs/OpenMPSupport.rst
Log Message:
-----------
Update development status for OpenMP 6.0 (#150700)
Commit: 207b9a78f0c7db9ecbb90ead93b3772492a8a9c1
https://github.com/llvm/llvm-project/commit/207b9a78f0c7db9ecbb90ead93b3772492a8a9c1
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix build after 34a08cb89c5e50c22be05555529ce84eaa3e4d3c
Commit: 1d81dfaa8f1c9602267c82ca51c6f5b9cf9688de
https://github.com/llvm/llvm-project/commit/1d81dfaa8f1c9602267c82ca51c6f5b9cf9688de
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][bazel] Allow building llvm_libc_types_float128 on Windows. (#150704)
This target was marked as Linux-only in
51a4ab287f43c129dd531867be880480a85ecb1e to make "bazel build
@llvm-project//libc/..." clean (which it still is).
There's nothing Linux-specific about this header library, we just use
"target_incompatible_with" clause here to ensure that all libc functions
for float128 types won't be built on Mac, in lieu of a better exclusion
mechanism in Bazel.
However, since llvm_libc_types_float128 is now a transitive dependency
of ":libcxx_shared_headers" used for hand-in-hand code sharing with
libc++, we may need to build this target even on platforms that don't
have float128.
Fow now, mark this target Windows-compatible to unlock the downstream
Windows Bazel build of ":libcxx_shared_headers".
Commit: f6a6cdd15c72fbf33f8cd7beac98910bef87e3dc
https://github.com/llvm/llvm-project/commit/f6a6cdd15c72fbf33f8cd7beac98910bef87e3dc
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Fix formatted input of NAN(...) (#149606)
Formatted real input is allowed to have parenthesized information after
"NAN". We don't interpret the contents, but we should at least scan the
information correctly.
Fixes https://github.com/llvm/llvm-project/issues/149533 and
https://github.com/llvm/llvm-project/issues/150035.
Commit: 129db4dc3e53abd0021dc443d68fdadb1d8dd27d
https://github.com/llvm/llvm-project/commit/129db4dc3e53abd0021dc443d68fdadb1d8dd27d
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Semantics/resolve126.f90
Log Message:
-----------
[flang] Catch both EXTERNAL and INTRINSIC on type declaration stmt (#150254)
The EXTERNAL and INTRINSIC attributes can't both appear on the same type
declarations statement.
Fixes https://github.com/llvm/llvm-project/issues/149771.
Commit: 918d6db329b9c5a84e0a70b2c76c3741b9751678
https://github.com/llvm/llvm-project/commit/918d6db329b9c5a84e0a70b2c76c3741b9751678
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
Log Message:
-----------
[flang][runtime] Refine state associated with child I/O (#150461)
Child I/O state needs to carry a pointer to the original non-type-bound
defined I/O subroutine table, so that nested defined I/O can call those
defined I/O subroutines. It also needs to maintain a mutableModes
instance for the whole invocation of defined I/O, instead of having a
mutableModes local to list-directed child I/O, so that a top-level data
transfer statement with (say) DECIMAL='COMMA' propagates that setting
down to nested child I/O data transfers.
Fixes https://github.com/llvm/llvm-project/issues/149885.
Commit: f6e70c7d47d5a184aaf4334c63c1674c55741fc3
https://github.com/llvm/llvm-project/commit/f6e70c7d47d5a184aaf4334c63c1674c55741fc3
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
Log Message:
-----------
[flang][runtime] Handle ';' in fixed-width input field (#150512)
Formatted input of real values can handle a ',' field separator when one
appears in an fixed-width input field, but can't cope with a semicolon
under DECIMAL='COMMA'. Fix.
Fixes https://github.com/llvm/llvm-project/issues/150047.
Commit: 67b519577ee6b3743c6c03c6230991cede5648a5
https://github.com/llvm/llvm-project/commit/67b519577ee6b3743c6c03c6230991cede5648a5
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lldb/cmake/modules/LLDBConfig.cmake
Log Message:
-----------
[lldb][rpc] Disable building lldb-rpc-gen tool (#150699)
Disabling the lldb-rpc-gen tool while issues with certain builds are
solved: https://github.com/llvm/llvm-project/pull/148996
Commit: cf6a4bbc42c7e54bf6e251206134b207e757b604
https://github.com/llvm/llvm-project/commit/cf6a4bbc42c7e54bf6e251206134b207e757b604
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lldb/include/lldb/Target/Process.h
M lldb/source/API/SBType.cpp
M lldb/source/API/SBTypeFilter.cpp
M lldb/source/API/SBTypeNameSpecifier.cpp
M lldb/source/API/SBTypeSynthetic.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/TypeCategoryMap.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Host/common/FileSystem.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/InstrumentationRuntime.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] Use std::make_shared where possible (NFC) (#150714)
This is a continuation of 68fd102, which did the same thing but only for
StopInfo. Using make_shared is both safer and more efficient:
- With make_shared, the object and the control block are allocated
together, which is more efficient.
- With make_shared, the enable_shared_from_this base class is properly
linked to the control block before the constructor finishes, so
shared_from_this() will be safe to use (though still not recommended
during construction).
Commit: 2eb112d78d7b3124cede244dde3b6764910a188e
https://github.com/llvm/llvm-project/commit/2eb112d78d7b3124cede244dde3b6764910a188e
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/asinf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor asinf implementation to header-only in src/__support/math folder. (#150697)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 963259ef6be4871e5252ff3ac9df737af5d2b4cb
https://github.com/llvm/llvm-project/commit/963259ef6be4871e5252ff3ac9df737af5d2b4cb
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M offload/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[Offload] Remove uses of %T from lit tests (#150721)
This patch removes all the instances of %T from offload/ (only one test
contained this construction). %T has been deprecated for ~7 years and is
not reccomended as it does not use a unique directory per test. Switch
to using %t to ensure we use a unique dir per test and so that we can
eventually remove %T.
I did not actually test this. A couple feeble attempts at
building/running the offload tests just leaves me with a ton of test
failures. Given how small this is I'm reasonably sure it works though.
Commit: 2e3fd547de5d8effee09a512752086db912ee660
https://github.com/llvm/llvm-project/commit/2e3fd547de5d8effee09a512752086db912ee660
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M offload/test/offloading/shared_lib_fp_mapping.c
Log Message:
-----------
[Offload] Fix typo in shared_lib_fp_mapping.c
Made a typo in 963259ef6be4871e5252ff3ac9df737af5d2b4cb because I cannot
run tests and also did not review it. This should fix it...
Commit: 1299bba4045d59f02a6d56a156e91a0a7349f2b8
https://github.com/llvm/llvm-project/commit/1299bba4045d59f02a6d56a156e91a0a7349f2b8
Author: Lang Hames <lhames at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/lib/TextAPI/SymbolSet.cpp
A llvm/test/tools/llvm-readtapi/many-targets.test
Log Message:
-----------
[TextAPI] Fix memory leak in SymbolSet. (#150589)
The SymbolSet class bump-ptr-allocates Symbol objects, but Symbol has a
non-trivial destructor (since Symbol's Targets member is a SmallVector):
we need to explicitly destroy the Symbol objects to ensure that no
memory is leaked.
rdar://154778728
Commit: 9e7834cadf48292b5d127d6d98f9e6d565ed5d9a
https://github.com/llvm/llvm-project/commit/9e7834cadf48292b5d127d6d98f9e6d565ed5d9a
Author: Maksim Levental <maksim.levental at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
Log Message:
-----------
[mlir][NFC] update `mlir/lib` create APIs (35/n) (#150708)
See https://github.com/llvm/llvm-project/pull/147168 for more info.
Commit: 6f0f79842a50bead9f01f3e9881661c5b560bb9e
https://github.com/llvm/llvm-project/commit/6f0f79842a50bead9f01f3e9881661c5b560bb9e
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
Log Message:
-----------
[MLIR] Remove unused DBGS macro (NFC)
Commit: 15b03687ff655e2e64afb8554645457d2e4cabd7
https://github.com/llvm/llvm-project/commit/15b03687ff655e2e64afb8554645457d2e4cabd7
Author: Hood Chatham <roberthoodchatham at gmail.com>
Date: 2025-07-25 (Fri, 25 Jul 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/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.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
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/MC/WebAssembly/reference-types.s
Log Message:
-----------
[WebAssembly,clang] Add __builtin_wasm_test_function_pointer_signature (#150201)
Tests if the runtime type of the function pointer matches the static
type. If this returns false, calling the function pointer will trap.
Uses `@llvm.wasm.ref.test.func` added in #147486.
Also adds a "gc" wasm feature to gate the use of the ref.test
instruction.
Commit: 799f28d7a5f155ae5456c87a511fbd18498f6396
https://github.com/llvm/llvm-project/commit/799f28d7a5f155ae5456c87a511fbd18498f6396
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M openmp/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
M runtimes/CMakeLists.txt
Log Message:
-----------
[OpenMP] Fix runtimes default build (#149871)
The default build of openmp (`cmake -S <llvm-project>/runtimes
-DLLVM_ENABLE_RUNTIMES=openmp`) current fails with
```
CMake Error at /home/meinersbur/src/llvm/flangrt/_src/cmake/Modules/GetClangResourceDir.cmake:17 (string):
string sub-command REGEX, mode MATCH needs at least 5 arguments total to
command.
Call Stack (most recent call first):
/home/meinersbur/src/llvm/flangrt/_src/openmp/CMakeLists.txt:126 (get_clang_resource_dir)
```
The reason is that because it is not a bootstrapping-build, the clang
resource dir that it intends to write files such as `omp-tools.h` into,
is unavailable. Using the Clang resource dir for writing files is
conceptually broken, as that dir might be located in
`/usr/lib/clang/<version>/`. Writing to it is only intended in
bootstrapping builds where Clang is built alongside openmp.
This patch unifies the identification of being in a bootstrapping built.
The same `LLVM_TREE_AVAILABLE` definition is going to be used in
#137828. No reason for each runtime to define its own.
Commit: e4d5969d7181e39d549e344fcf2ec2b61a77947e
https://github.com/llvm/llvm-project/commit/e4d5969d7181e39d549e344fcf2ec2b61a77947e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
Log Message:
-----------
AMDGPU: Add tests with forced selection of mfmas to VGPR form (#150626)
Add some run lines to existing tests with VGPR selection enabled.
Commit: 676314a85f15a090ed0e7b8ce8fcebd61516faee
https://github.com/llvm/llvm-project/commit/676314a85f15a090ed0e7b8ce8fcebd61516faee
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M mlir/test/mlir-runner/simple.mlir
Log Message:
-----------
[MLIR] Remove uses of %T from lit tests (#150725)
%T has been deprecated for about seven years and is to be avoided given
it does not use a unique dir per test. Remove it from lit tests in MLIR
with the eventual goal to be removing support within llvm-lit.
This patch just reuses %t.o given it is deleted in between sections of
the test.
Commit: e76780b9da76295f88cb24817e9384b88e6416dc
https://github.com/llvm/llvm-project/commit/e76780b9da76295f88cb24817e9384b88e6416dc
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lldb/include/lldb/Target/StackFrameList.h
M lldb/source/Target/StackFrameList.cpp
Log Message:
-----------
[lldb] Protect the selected frame idx in StackFrameList (#150718)
Protected m_selected_frame_idx with a mutex. To avoid deadlocks, always acquire m_selected_frame_mutex after m_list_mutex. I'm using a recursive mutex because GetSelectedFrameIndex may indirectly call SetSelectedFrame.
Commit: 1a4f0d61152adb0ba1279e26d46dfb0ca061d9d7
https://github.com/llvm/llvm-project/commit/1a4f0d61152adb0ba1279e26d46dfb0ca061d9d7
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/docs/Tutorials/transform/Ch3.md
M mlir/examples/transform/Ch3/include/MyExtension.td
M mlir/test/Examples/transform/Ch3/ops.mlir
M mlir/test/Examples/transform/Ch3/sequence.mlir
Log Message:
-----------
[mlir][doc] Fix transform dialect tutorial ch3 (#150456)
Fixed some bugs in documentation. Add CallOpInterfaceHandle to the
arguments of ChangeCallTargetOp, after doing so the section described in
the documentation works correctly, Otherwise the following code reports
an error.
```
// Cast to our new type.
%casted = transform.cast %call : !transform.any_op to !transform.my.call_op_interface
// Using our new operation.
transform.my.change_call_target %casted, "microkernel" : !transform.my.call_op_interface
```
Commit: 37ccb45ba75ca5dd56a23b71dc22afc2e46b75ba
https://github.com/llvm/llvm-project/commit/37ccb45ba75ca5dd56a23b71dc22afc2e46b75ba
Author: lntue <lntue at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M libc/src/__support/math/asin.h
Log Message:
-----------
[libc] Fix unused statements in asin when accurate path is not needed. (#150726)
Fix offload build bots:
https://lab.llvm.org/buildbot/#/builders/10/builds/10213
Commit: a4bbfd532e5879717cd823b1d5a1be357323cc00
https://github.com/llvm/llvm-project/commit/a4bbfd532e5879717cd823b1d5a1be357323cc00
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Mips/llvm.sincos.ll
Log Message:
-----------
Mips: Add some llvm.sincos tests (#147465)
I guessed at some basic triples. Mips is also missing
tests for the basic sin and cos calls too.
Commit: 1461a1c3b8962f37d8a3acbd3d1261fa9293140e
https://github.com/llvm/llvm-project/commit/1461a1c3b8962f37d8a3acbd3d1261fa9293140e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/IR/DiagnosticInfo.cpp
A llvm/test/CodeGen/AMDGPU/read-write-register-illegal-type.ll
Log Message:
-----------
DAG: Emit an error if trying to legalize read/write register with illegal types (#145197)
This is a starting point to have better legalization failure diagnostics
Commit: 110692b5cccc2b649bba618fedae6ed2c32de6c2
https://github.com/llvm/llvm-project/commit/110692b5cccc2b649bba618fedae6ed2c32de6c2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
A llvm/test/CodeGen/Mips/llvm.frexp.ll
Log Message:
-----------
Mips: Add frexp intrinsic test (#148677)
Commit: bd7db754895ed3b51388ec549cd656c770c17587
https://github.com/llvm/llvm-project/commit/bd7db754895ed3b51388ec549cd656c770c17587
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
Log Message:
-----------
TableGen: Sort RuntimeLibcallImpls secondarily by enum names (#150728)
Extracted from #150192, this hopefully fixes occasional EXPENSIVE_CHECKS
failures.
Commit: 3f8a05893f98989630b6f498c6c5f382afe24561
https://github.com/llvm/llvm-project/commit/3f8a05893f98989630b6f498c6c5f382afe24561
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
Log Message:
-----------
AMDGPU: Add a few mfma test with immediate splat src2 (#150627)
Commit: cb37916a2596e0936c76bbd9927f8353faac9fa8
https://github.com/llvm/llvm-project/commit/cb37916a2596e0936c76bbd9927f8353faac9fa8
Author: dyung <douglas.yung at sony.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/test/CodeGen/XCore/section-name.ll
M llvm/test/MC/ELF/section-sym2.s
A llvm/test/MC/ELF/undefined-debug.s
Log Message:
-----------
Revert "MC: Allocate initial fragment and define section symbol in changeSection" (#150736)
Reverts llvm/llvm-project#150574
This is causing a test failure on AArch64 MacOS bots:
https://lab.llvm.org/buildbot/#/builders/190/builds/24187
Commit: c2df717aa95f75a6bd143c202b95dc880350535b
https://github.com/llvm/llvm-project/commit/c2df717aa95f75a6bd143c202b95dc880350535b
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rve-invalid.s
Log Message:
-----------
[RISCV] Merge some of the C_*_HINT instruction into the regular C_* instructions. (#150710)
Register classes and immediate predicates in a CompressPat no longer
need to match the compressed instruction. We can now merge most of the
C_*_HINT instructions into their non-HINT equivalents.
I've left c.slli64/srli64/srai6 out to avoid conflict with #150689.
C_NOP_HINT is left out because the spec refers to C_NOP as a separate
instruction from C_ADDI. C_NOP does not allow an immediate operand but
C_NOP_HINT does.
Commit: f1cd0cd6ea29baf8ff9fd873ef52a1e7049a6810
https://github.com/llvm/llvm-project/commit/f1cd0cd6ea29baf8ff9fd873ef52a1e7049a6810
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/RISCV/rvc-hints-invalid.s
Log Message:
-----------
[RISCV] Handle 'c.addi x0, $imm' alias for c.nop using PseudoC_ADDI_NOP. (#150719)
Add a missing tied constraint to PseudoC_ADDI_NOP.
It seemed better to handle all the c.addi aliases for c.nop in one
place.
Commit: 359c04a61c7013fa7df497193e06e36776559f27
https://github.com/llvm/llvm-project/commit/359c04a61c7013fa7df497193e06e36776559f27
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
Log Message:
-----------
[RISCV] Remove now unused immzero operand type. NFC
Commit: 5f3eea7ef22d2e68ac4882836ffe0b2b79acd569
https://github.com/llvm/llvm-project/commit/5f3eea7ef22d2e68ac4882836ffe0b2b79acd569
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
Log Message:
-----------
AMDGPU: Fix not folding splat immediate into VGPR MFMA src2 (#150628)
Commit: dd4ebe6514a9250d10004cdf8876fca7394997d2
https://github.com/llvm/llvm-project/commit/dd4ebe6514a9250d10004cdf8876fca7394997d2
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
Log Message:
-----------
MCSectionCOFF: Remove classof
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: f2a4cc1dd0c43ffe1756a158150eeeacb75daf28
https://github.com/llvm/llvm-project/commit/f2a4cc1dd0c43ffe1756a158150eeeacb75daf28
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Avoid expanding build_vector containing insertion of undef elements (#150377)
Commit: dec978036ef1037753e7de5b78c978e71c49217b
https://github.com/llvm/llvm-project/commit/dec978036ef1037753e7de5b78c978e71c49217b
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M llvm/test/DebugInfo/X86/stringpool.ll
Log Message:
-----------
MachO,test: Test DWARF section's begin symbol
MCObjectFileInfo::initMachOMCObjectFileInfo creates DWARF sections with
a temporary label as the `Begin` symbol, different from other object
file formats' section symbol.
#150574 caused a regression that removed the label for MCAsmStreamer,
which was caught by no test but a ystem-darwin/target-aarch64 specific diagnostics-dsym.test
Commit: 296ba58b5dfdf0fe53cb0ec59f63abbb441af086
https://github.com/llvm/llvm-project/commit/296ba58b5dfdf0fe53cb0ec59f63abbb441af086
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M lld/test/COFF/nodefaultlib.test
M lld/test/COFF/pdb-options.test
M lld/test/COFF/pdb-type-server-invalid-signature.yaml
M lld/test/COFF/wrap-lto-2.ll
M lld/test/COFF/wrap-with-archive.s
M lld/test/wasm/lto/save-temps.ll
Log Message:
-----------
[lld] Remove uses of %T from tests (#150740)
%T has been deprecated for about seven years. It is to be avoided for
the most part given it does not create a unique directory per test. So,
remove it from lld tests with eventual intention of removing support
from llvm-lit.
Most of the cases in lld were not misusing the feature, using it to get
the directory that the test objects were in or as a path to pass for
-libpath. These cases all work perfectly well with a created directory
however and allow for the removal of %T to prevent incorrect usage.
Commit: 9475ed84909463ad594602dd76583f4ff12efcd0
https://github.com/llvm/llvm-project/commit/9475ed84909463ad594602dd76583f4ff12efcd0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-25 (Fri, 25 Jul 2025)
Changed paths:
M openmp/runtime/test/ompt/loadtool/tool_available/tool_available.c
M openmp/runtime/test/ompt/loadtool/tool_available_search/tool_available_search.c
M openmp/runtime/test/ompt/loadtool/tool_not_available/tool_not_available.c
Log Message:
-----------
[OpenMP] Remove uses of %T from lit tests (#150723)
This patch removes all uses of %T from lit tests in OpenMP. %T has been
deprecated for years and is not reccomended given it does not create a
unique dir per test, allowing for race conditions. Remove uses of %T in
OpenMP so we can eventually remove support for it in llvm-lit.
Commit: b22e22ebfa546cc31e166dd5ca4cc808aa057c9b
https://github.com/llvm/llvm-project/commit/b22e22ebfa546cc31e166dd5ca4cc808aa057c9b
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/test/CodeGen/XCore/section-name.ll
M llvm/test/MC/ELF/section-sym2.s
R llvm/test/MC/ELF/undefined-debug.s
Log Message:
-----------
MC: Allocate initial fragment and define section symbol in changeSection
Reland #150574 with a MCStreamer::changeSection change:
In Mach-O, DWARF sections use Begin as a temporary label, requiring a label
definition, unlike section symbols in other file formats.
(Tested by dec978036ef1037753e7de5b78c978e71c49217b)
---
13a79bbfe583e1d8cc85d241b580907260065eb8 (2017) introduced fragment
creation in MCContext for createELFSectionImpl, which was inappropriate.
Fragments should only be created when using MCSteramer, not during
`MCContext::get*Section` calls.
`initMachOMCObjectFileInfo` defines multiple sections, some of which may
not be used by the code generator. This caused symbol names matching
these sections to be incorrectly marked as undefined (see
https://reviews.llvm.org/D55173).
The fragment code was later replicated in other file formats, such as
WebAssembly (see https://reviews.llvm.org/D46561), XCOFF, and GOFF.
This patch fixes the problem by moving initial fragment allocation from
MCContext::createSection to MCStreamer::changeSection.
While MCContext still creates a section symbol, the symbol is not
attached to the initial fragment. In addition,
* Move `emitLabel`/`setFragment` from `switchSection*` and
overridden changeSection to `MCObjectStreamer::changeSection` for
consistency.
* De-virtualize `switchSectionNoPrint`.
* test/CodeGen/XCore/section-name.ll now passes. XCore doesn't support
MCObjectStreamer. I don't think the MCAsmStreamer output behavior
change matters.
Pull Request: https://github.com/llvm/llvm-project/pull/150574
Commit: 1669bd3ae9af0cac4414479d8f1e53e329fa3efb
https://github.com/llvm/llvm-project/commit/1669bd3ae9af0cac4414479d8f1e53e329fa3efb
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rv64c-invalid.s
M llvm/test/MC/RISCV/rvc-hints-invalid.s
M llvm/test/MC/RISCV/rvc-hints-valid.s
Log Message:
-----------
[RISCV] Accept c.slli/c.srli/c.srli with a 0 immediate as hints. (#150689)
These encodings were previously assigned to c.slli64/srli64/srai64, and
designated as hints for RV32 and RV64. Those mnemonics no longer appear
in the ISA manual after RV128 was removed. The spec now says that
c.slli/c.srli/c.srai with an immediate of 0 is a hint.
This patch updates the assembler to accept this. I've left the old
spelling for backwards compatibility but we disassemble a shift with a
zero immediate. The C_SLLI64_HINT/C_SRLI_HINT/C_SRAI_HINT instructions
are removed and the predicates for C_SLLI/C_SRLI/C_SRAI not accept a 0
immediate.
Fixes #150304
Commit: 1ea085be7c0c91853e52d3a71b83a0a1cf0aa05d
https://github.com/llvm/llvm-project/commit/1ea085be7c0c91853e52d3a71b83a0a1cf0aa05d
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/lib/CodeGen/AsmPrinter/AIXException.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
Log Message:
-----------
MCSectionXCOFF: Remove classof
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: 9a201531ed8f5c752e21fb3b2fc618ba821dc3d8
https://github.com/llvm/llvm-project/commit/9a201531ed8f5c752e21fb3b2fc618ba821dc3d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
Log Message:
-----------
[LV] Bail out early if runtime checks are known to fail.
There are a number of cases for which SCEV may not be able to prove a
predicate will always be true/false, which may be simplified to a
constant during expansion (see discussion in
https://github.com/llvm/llvm-project/pull/131538).
Bail out early if runtime checks are known to always fail, as the
vector loop generated later will never execute.
Commit: e5f5813042e78d1c5c7c448b6f53080b0fda76e9
https://github.com/llvm/llvm-project/commit/e5f5813042e78d1c5c7c448b6f53080b0fda76e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
Log Message:
-----------
[LV] Update some tests to have variable trip counts. (NFC)
Update tests for which checking both the scalar resume and exit values
is interesting, because they have first-order recurrences to have
variable trip-counts, to avoid the branch in the middle.block being
folded away by https://github.com/llvm/llvm-project/pull/142309.
For similar reasons, also update check-prof-info.ll
Commit: cccde9b2b1aa05f2797b29cba209c7642b7ac0f6
https://github.com/llvm/llvm-project/commit/cccde9b2b1aa05f2797b29cba209c7642b7ac0f6
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
Log Message:
-----------
[mlir][SCF] Do not access erased operation in `scf.while` lowering (#150741)
Do not access the erased `scf.while` operation in the lowering pattern.
That won't work anymore in a One-Shot Dialect Conversion and triggers a
use-after-free sanitizer error.
After the One-Shot Dialect Conversion refactoring, a
`ConversionPatternRewriter` will behave more like a normal
`PatternRewriter`.
Commit: 5ec6ac882c9fffaae6cf194f738e86f796394cd3
https://github.com/llvm/llvm-project/commit/5ec6ac882c9fffaae6cf194f738e86f796394cd3
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Move `lookup` functions (#150743)
Add `lookupOrDefault` / `lookupOrNull` wrappers to
`ConversionPatternRewriterImpl` and call those wrappers throughout the
code base.
This commit is in preparation of the One-Shot Dialect Conversion
refactoring. In future, the implementation will bypass the `mapping`
when rollback is disabled. The switch will be made in those wrapper
functions.
Commit: 5d26e3c227f4b4a1761a8b0001b3165198def479
https://github.com/llvm/llvm-project/commit/5d26e3c227f4b4a1761a8b0001b3165198def479
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/include/llvm/Support/DebugLog.h
Log Message:
-----------
Strip the full path from __FILE__ in the LDBG macro and keep only the filename (#150677)
Commit: eed9b4e05810381d8655f40fe298abb2f90a95cf
https://github.com/llvm/llvm-project/commit/eed9b4e05810381d8655f40fe298abb2f90a95cf
Author: Mohamed Emad <hulxxv at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
A libc/src/math/asinpif16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/asinpif16.cpp
M libc/test/src/math/CMakeLists.txt
A libc/test/src/math/asinpif16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/asinpif16_test.cpp
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
[libc][math][c23] Implement C23 math function asinpif16 (#146226)
The function is implemented using the following Taylor series that's
generated using [python-sympy](https://www.sympy.org/en/index.html), and
it is very accurate for |x| $$\in [0, 0.5]$$ and has been verified using
Geogebra. The range reduction is used for the rest range (0.5, 1].
$$
\frac{\arcsin(x)}{\pi} \approx
\begin{aligned}[t]
& 0.318309886183791x \\
& + 0.0530516476972984x^3 \\
& + 0.0238732414637843x^5 \\
& + 0.0142102627760621x^7 \\
& + 0.00967087327815336x^9 \\
& + 0.00712127941391293x^{11} \\
& + 0.00552355646848375x^{13} \\
& + 0.00444514782463692x^{15} \\
& + 0.00367705242846804x^{17} \\
& + 0.00310721681820837x^{19} + O(x^{21})
\end{aligned}
$$
## Geogebra graph

Closes #132210
Commit: 4065510181116aad31f9789b674aa8433ef0a2f2
https://github.com/llvm/llvm-project/commit/4065510181116aad31f9789b674aa8433ef0a2f2
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acosf16.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/acoshf16.h
M libc/src/__support/math/acospif16.h
M libc/src/__support/math/asin.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10f16.h
M libc/src/__support/math/exp10f_utils.h
M libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expf16.h
M libc/src/__support/math/expf16_utils.h
M libc/src/__support/math/frexpf.h
M libc/src/__support/math/frexpf128.h
M libc/src/__support/math/frexpf16.h
M libc/src/__support/math/ldexpf.h
M libc/src/__support/math/ldexpf128.h
M libc/src/__support/math/ldexpf16.h
Log Message:
-----------
[libc][math] inline functions in shared math headers (#150703)
Part of #147386
Commit: 7ba62551db858f2df8d36346833525069cfa7d04
https://github.com/llvm/llvm-project/commit/7ba62551db858f2df8d36346833525069cfa7d04
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
[libc][math][c23] Temporarily disable asinpif16 C23 math function (#150754)
The MPFR test uses `mpfr_asinpi` which requires MPFR 4.2.0 or later, but
the Buildbots are running an older version of MPFR.
See https://lab.llvm.org/buildbot/#/builders/104/builds/27743 for
example.
Commit: 3ea99a9c7c92296c4346b9a36505b4186badcc3b
https://github.com/llvm/llvm-project/commit/3ea99a9c7c92296c4346b9a36505b4186badcc3b
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
Log Message:
-----------
Revert "[libc][math][c23] Temporarily disable asinpif16 C23 math function" (#150755)
Reverts llvm/llvm-project#150754
I should have reverted the asinpif16 PR instead of just disabling the
entrypoints.
Commit: 6a85f7cef384a8f4682e4091f34759602d715ed4
https://github.com/llvm/llvm-project/commit/6a85f7cef384a8f4682e4091f34759602d715ed4
Author: OverMighty <its.overmighty at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/headers/math/index.rst
M libc/include/math.yaml
M libc/src/math/CMakeLists.txt
R libc/src/math/asinpif16.h
M libc/src/math/generic/CMakeLists.txt
R libc/src/math/generic/asinpif16.cpp
M libc/test/src/math/CMakeLists.txt
R libc/test/src/math/asinpif16_test.cpp
M libc/test/src/math/smoke/CMakeLists.txt
R libc/test/src/math/smoke/asinpif16_test.cpp
M libc/utils/MPFRWrapper/MPCommon.cpp
M libc/utils/MPFRWrapper/MPCommon.h
M libc/utils/MPFRWrapper/MPFRUtils.cpp
M libc/utils/MPFRWrapper/MPFRUtils.h
Log Message:
-----------
Revert "[libc][math][c23] Implement C23 math function asinpif16" (#150756)
Reverts llvm/llvm-project#146226
The MPFR test uses `mpfr_asinpi` which requires MPFR 4.2.0 or later, but
the Buildbots are running an older version of MPFR.
See https://lab.llvm.org/buildbot/#/builders/104/builds/27743 for
example.
I said I was going to revert the PR until we have a workaround for older
versions of MPFR, but then I forgot and I just disabled the entrypoints
which doesn't fix the Buildbot builds.
Commit: 0fa0ce1f3af316f21e61286da732ef5c96da495b
https://github.com/llvm/llvm-project/commit/0fa0ce1f3af316f21e61286da732ef5c96da495b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/load-broadcast.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/X86/shuffle-load.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll
Log Message:
-----------
[CostModel][X86] Update SK_Broadcast based on cost kinds (#150620)
When these were converted to CostKindTblEntry the throughput was mainly copied to all cost kinds
Regenerated with my check_cost_tables.py helper script
Commit: 9e7782db73c05c369053d44e4ffbbd2089328e8b
https://github.com/llvm/llvm-project/commit/9e7782db73c05c369053d44e4ffbbd2089328e8b
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
A llvm/test/Analysis/LoopAccessAnalysis/runtime-check-known-true.ll
A llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
Log Message:
-----------
[LV,LAA] Add tests where RT checks are known false after expansion.
Commit: 70e0f3174752f85bcbe33898a95d29ef35b78811
https://github.com/llvm/llvm-project/commit/70e0f3174752f85bcbe33898a95d29ef35b78811
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/lib/Transforms/RemoveDeadValues.cpp
Log Message:
-----------
[MLIR] Remove unused DBGS macro (NFC)
Commit: c20a95a7ddd8219f3e587e335a0a8e3f4613fc47
https://github.com/llvm/llvm-project/commit/c20a95a7ddd8219f3e587e335a0a8e3f4613fc47
Author: David Truby <david.truby at arm.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/unittests/CMakeLists.txt
Log Message:
-----------
[flang-rt] Remove hard-coded dependency on compiler-rt path on Windows (#150244)
This fixes an issue where if the build folder is no longer present flang
cannot link anything on Windows because the path to compiler-rt in the
binary is hard-coded. Flang already links compiler-rt on Windows so it
isn't necessary for flang-rt to specify that it depends on compiler-rt
at all, other than for the unit tests, so instead we can move that logic
into the unit test compile lines.
Commit: 652048ad2578c715d8d65d90fd3fe5d5d2bd42e7
https://github.com/llvm/llvm-project/commit/652048ad2578c715d8d65d90fd3fe5d5d2bd42e7
Author: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M clang/lib/AST/OSLog.cpp
Log Message:
-----------
[clang][NFC] Add header comment for OSLog.cpp (#148537)
Signed-off-by: Bogdan Vetrenko <b.vetrenko at yandex.ru>
Commit: 931228e28f55b2652b8a92410170c1fe315d09ab
https://github.com/llvm/llvm-project/commit/931228e28f55b2652b8a92410170c1fe315d09ab
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/test/CMakeLists.txt
M llvm/test/Transforms/PGOProfile/prof-verify.ll
M llvm/test/lit.site.cfg.py.in
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/optdriver.cpp
Log Message:
-----------
[PGO] Drive profile validator from opt (#147418)
Add option to `opt` to run the `ProfileInjectorPass` before the passes opt would run, and then `ProfileVerifierPass` after. This will then be a mode in which we run tests on a specialized buildbot, with the goal of finding passes that drop (and, later, corrupt) profile information.
Commit: 08e101e274feb269f947fc49aea0d0677ce65bcd
https://github.com/llvm/llvm-project/commit/08e101e274feb269f947fc49aea0d0677ce65bcd
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: check for "failure" after modification (#150748)
Add a new "expensive check" when running with `allowPatternRollback =
false`: returning "failure" after modifying IR is no longer allowed.
This check detects a few more API violations in addition to the check
`undoRewrites`. The latter check will be removed soon. (Because the
One-Shot Dialect Conversion will no longer maintain the stack of IR
rewrites.)
Also fix a build error when expensive checks are enabled.
Commit: 0c804270d1264520808d02263f61ab4a02745d60
https://github.com/llvm/llvm-project/commit/0c804270d1264520808d02263f61ab4a02745d60
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Improve `insert` callbacks (#150753)
This commit makes some minor NFC-style improvements to the
`notifyBlockInserted` and `notifyOperationInserted` implementations:
* Rename some variables.
* Add more comments and document the fact the current mechanism has a
bug when running in "rollback allowed" mode.
* Move some code from the `notify...` functions into the constructor of
the respective `IRRewrite` objects. This is in preparation of the
One-Shot Dialect Conversion refactoring. The moved pieces of code are
not needed in "no rollback" mode and properly encapsulated inside of
`IRRewrite`, which is also not needed in "no rollback" mode.
* Slightly improve `-debug` output.
Commit: 662bede01e6d8515a1a2c3eb125c322711f23037
https://github.com/llvm/llvm-project/commit/662bede01e6d8515a1a2c3eb125c322711f23037
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
Log Message:
-----------
[LV] Handle known-false mem runtime checks in GeneratedRTChecks.
Handle mem checks known to be false in getMemRuntimeChecks the same way
as SCEV checks known to be false in getSCEVChecks. This ensures such
redundant check blocks are not added in the first place.
Commit: f2fe4718aa162f05adf9ef09fce86fd076cf2706
https://github.com/llvm/llvm-project/commit/f2fe4718aa162f05adf9ef09fce86fd076cf2706
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M clang/lib/CodeGen/BackendUtil.cpp
M llvm/include/llvm/Transforms/ObjCARC.h
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
R llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp
M llvm/test/Transforms/ObjCARC/apelim.ll
M llvm/test/Transforms/ObjCARC/comdat-ipo.ll
M llvm/utils/gn/secondary/llvm/lib/Transforms/ObjCARC/BUILD.gn
Log Message:
-----------
[ObjCARC] Completely remove ObjCARCAPElimPass (#150717)
ObjCARCAPElimPass has been made obsolete now that we remove unused
autorelease pools.
Commit: 292fd903bfb78520f7d4f0d8378f9e648570f3c6
https://github.com/llvm/llvm-project/commit/292fd903bfb78520f7d4f0d8378f9e648570f3c6
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M mlir/test/Transforms/test-legalizer-analysis.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
Log Message:
-----------
[mlir][test] Turn `test-legalize-mode` into a pass option (#150767)
The `test-legalize-mode` option is used only by the
`test-legalize-patterns` pass.
Commit: fa79c23ecc23d6e8a6956d9caedd0443ecdb5853
https://github.com/llvm/llvm-project/commit/fa79c23ecc23d6e8a6956d9caedd0443ecdb5853
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
Log Message:
-----------
[clang-tidy] Fix linking regression in clangTidyLLVMModule (#150769)
Fix the regression introduced in #149148 that incorrectly explicitly
linked `clangTransformer` when dylib was used. As a result, the
executables linking to `clangTidyLLVMModule` would end up linking both
the dylib and a number of static clang libraries, leading to complete
mayhem and undecipherable segmentation faults.
Signed-off-by: Michał Górny <mgorny at gentoo.org>
Commit: 29992cfd628ed5b968ccb73b17ed0521382ba317
https://github.com/llvm/llvm-project/commit/29992cfd628ed5b968ccb73b17ed0521382ba317
Author: Anthony Tran <atran881 at usc.edu>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/SanitizerHandler.h
M clang/lib/Driver/SanitizerArgs.cpp
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/cfi-icall-generalize-debuginfo.c
M clang/test/CodeGen/cfi-icall-normalize2-debuginfo.c
M clang/test/CodeGen/ubsan-trap-debugloc.c
A clang/test/CodeGen/ubsan-trap-reason-add-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-alignment-assumption.c
A clang/test/CodeGen/ubsan-trap-reason-builtin-unreachable.c
A clang/test/CodeGen/ubsan-trap-reason-cfi-check-fail.c
A clang/test/CodeGen/ubsan-trap-reason-crash.cpp
A clang/test/CodeGen/ubsan-trap-reason-div-rem-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-dynamic-type-cache-miss.cpp
A clang/test/CodeGen/ubsan-trap-reason-flag.c
A clang/test/CodeGen/ubsan-trap-reason-float-cast-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-function-type-mismatch.c
A clang/test/CodeGen/ubsan-trap-reason-implicit-conversion.c
A clang/test/CodeGen/ubsan-trap-reason-invalid-builtin.c
A clang/test/CodeGen/ubsan-trap-reason-invalid-objc-cast.m
A clang/test/CodeGen/ubsan-trap-reason-load-invalid-value.c
A clang/test/CodeGen/ubsan-trap-reason-missing-return.cpp
A clang/test/CodeGen/ubsan-trap-reason-mul-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-negate-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-nonnull-arg.c
A clang/test/CodeGen/ubsan-trap-reason-nonnull-return.c
A clang/test/CodeGen/ubsan-trap-reason-nullability-arg.c
A clang/test/CodeGen/ubsan-trap-reason-nullability-return.c
A clang/test/CodeGen/ubsan-trap-reason-out-of-bounds.c
A clang/test/CodeGen/ubsan-trap-reason-pointer-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-shift-out-of-bounds.c
A clang/test/CodeGen/ubsan-trap-reason-sub-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-type-mismatch.c
A clang/test/CodeGen/ubsan-trap-reason-vla-bound-not-positive.c
Log Message:
-----------
[Clang][CodeGen] Emit “trap reasons” on UBSan traps (#145967)
This patch adds a human readable trap category and message to UBSan
traps. The category and message are encoded in a fake frame in the debug
info where the function is a fake inline function where the name encodes
the trap category and message. This is the same mechanism used by
Clang’s `__builtin_verbose_trap()`.
This change allows consumers of binaries built with trapping UBSan to
more easily identify the reason for trapping. In particular LLDB already
has a frame recognizer that recognizes the fake function names emitted
in debug info by this patch. A patch testing this behavior in LLDB will
be added in a separately.
The human readable trap messages are based on the messages currently
emitted by the userspace runtime for UBSan in compiler-rt. Note the
wording is not identical because the userspace UBSan runtime has access
to dynamic information that is not available during Clang’s codegen.
Test cases for each UBSan trap kind are included.
This complements the [`-fsanitize-annotate-debug-info`
feature](https://github.com/llvm/llvm-project/pull/141997). While
`-fsanitize-annotate-debug-info` attempts to annotate all UBSan-added
instructions, this feature (`-fsanitize-debug-trap-reasons`) only
annotates the final trap instruction using SanitizerHandler information.
This work is part of a GSoc 2025 project.
Commit: fa3ec0c17c48349e6027710d234c83e7bfeaf854
https://github.com/llvm/llvm-project/commit/fa3ec0c17c48349e6027710d234c83e7bfeaf854
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr51366-sunk-instruction-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/blend-in-header.ll
M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/constantfolder-infer-correct-gepty.ll
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/extract-from-end-vector-constant.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/induction-multiple-uses-in-same-instruction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/strided-accesses-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/uitofp-preserve-nneg.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
Log Message:
-----------
[VPlan] Materialize constant vector trip counts before final opts. (#142309)
Materialize constant vector trip counts before ::execute, if the trip
count can be computed as Original (TC / (VF * UF)) * (VF * UF). For now
this excludes when the tail is folded or scalar epilogues are required.
This enables removing a number of redundant branches from the middle
block.
For now this is also only done when not vectorizing the epilogue, as the
simplification complicates stitching the 2 plans together.
PR: https://github.com/llvm/llvm-project/pull/142309
Commit: c2faf6a57fe7abb27a27e3b22c4e827a1a0c26ef
https://github.com/llvm/llvm-project/commit/c2faf6a57fe7abb27a27e3b22c4e827a1a0c26ef
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionWasm.h
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
Log Message:
-----------
MCSectionWasm: Remove classof
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: 5b60087eede95a5d4c14d9eaaf0b90faadb24c50
https://github.com/llvm/llvm-project/commit/5b60087eede95a5d4c14d9eaaf0b90faadb24c50
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP] Fix tool tests 9475ed84909463ad594602dd76583f4ff12efcd0
These were still passing because I did not clear all the test artifacts
in between so the old ones were still present after updating the test. I
forgot to update a lit substitution which failed on clean builds.
Commit: 1e56686f6de2ac76fb47047953915adc11e6491d
https://github.com/llvm/llvm-project/commit/1e56686f6de2ac76fb47047953915adc11e6491d
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/lib/MC/GOFFObjectWriter.cpp
Log Message:
-----------
MCSectionGOFF: Remove classof
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: 0954cf1ed323e76b26237b677180f260aa4c0043
https://github.com/llvm/llvm-project/commit/0954cf1ed323e76b26237b677180f260aa4c0043
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M .git-blame-ignore-revs
Log Message:
-----------
Update .git-blame-ignore-revs for OpBuilder update (#150772)
The update is most likely not what someone wants when looking at the
blame for one of these lines.
Taken from git history:
```
9e7834cadf48292b5d127d6d98f9e6d565ed5d9a Maksim Levental [mlir][NFC] update `mlir/lib` create APIs (35/n) (#150708)
284a5c2c0b97edddf255ea210f939203ad3d09f2 Maksim Levental [mlir][NFC] update `mlir/examples` create APIs (31/n) (#150652)
c090ed53fb73f59cf221f5610430af8047758117 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (33/n) (#150659)
fcbcfe44cff00101a6a98a73971398eb8dd87710 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (32/n) (#150657)
258daf539583b80e0217d1d87941412d65cf16aa Maksim Levental [mlir][NFC] update `mlir` create APIs (34/n) (#150660)
c610b244937ed847b0275ccb038c0f2d36310b4a Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (27/n) (#150638)
b58ad3650f2195117f484d551ffbada27e7d1e14 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (30/n) (#150643)
258d04c810ab10f101324cbf1fe3c7be65eb1938 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (28/n) (#150641)
a6bf40d1c6cf010b3ad90bf7f410983453f4deb2 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (29/n) (#150642)
dcfc853c51aecf6538182378c016f8e1604e7e97 Maksim Levental [mlir][NFC] update `flang/lib` create APIs (12/n) (#149914)
3f74334c38120bbdefac012d478dfce8e4eb0906 Maksim Levental [mlir][NFC] update `flang` create APIs (13/n) (#149913)
a636b7bfdd1d8304b78e8b42ec900a21736d4afb Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (18/n) (#149925)
75aa7065dcf653de7870758cd502a7c714f4bcd7 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (17/n) (#149924)
2f5312563fd5cb2e355ec49109f3e63875337c7c Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (15/n) (#149921)
967626b842551ecd997c0d10eb68c3015b63a3d7 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (14/n) (#149920)
588845defd09359a8b87db339b563af848cf45a7 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (20/n) (#149927)
b0434925c98c9a8906afea60a1304c870b1f574a Maksim Levental [mlir][NFC] update `Conversion` create APIs (4/n) (#149879)
8fff238b2c363b036ce9e7bf7abab3acafc87ab2 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (23/n) (#149930)
38976a03cd367b27437e0d1e81c0ccaee2777b47 Maksim Levental [mlir][NFC] update `Conversion` create APIs (7/n) (#149889)
eaa67a3cf041009ae33a45159d0465262c3af5dc Maksim Levental [mlir][NFC] update `Conversion` create APIs (5/n) (#149887)
b0312be6aa664e4cb9abec6d080e971493093d05 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (19/n) (#149926)
2736fbd8324bf21a130c8abd4bd0e7d3aa840ac1 Maksim Levental [mlir][NFC] update `mlir/lib` create APIs (26/n) (#149933)
4ae9fdca8af095afd91705f8dd143e93b304b6fb Maksim Levental [mlir][NFC] update `Conversion` create APIs (6/n) (#149888)
f904cdd6c3049e605d24ed17680e80e7133908a0 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (24/n) (#149931)
972ac59c9af4ad47af0b3542ae936b3470727e5f Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (21/n) (#149928)
7b787965431e666858fdf66db25ee5a129833927 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (25/n) (#149932)
c3823af156b517d926a56e3d0d585e2a15720e96 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (22/n) (#149929)
dce6679cf5cbbdaffb9c2b51dc762c5c6689ea78 Maksim Levental [mlir][NFC] update `mlir/Dialect` create APIs (16/n) (#149922)
9844ba6d9740206129b52633c555f767eaa45581 Maksim Levental [mlir][NFC] update `flang/Optimizer/Builder` create APIs (9/n) (#149917)
5547c6cd03ddddd405a09e51624e1f19955a85b1 Maksim Levental [mlir][NFC] update `flang/Optimizer/Builder/Runtime` create APIs (10/n) (#149916)
a3a007ad5fa20abc90ead4e1030b481bf109b4cf Maksim Levental [mlir][NFC] update `flang/Lower` create APIs (8/n) (#149912)
46f6df0848ea04449c6179ecdedc404ee5b5cf11 Maksim Levental [mlir][NFC] update `flang/Optimizer/Transforms` create APIs (11/n) (#149915)
b7e332d3f59f567b1999fbcc660d7837cba8e406 Maksim Levental [mlir][NFC] update `include` create APIs (3/n) (#149687)
6056f942abe83b05406df8b04e95ec37a3d160b5 Maksim Levental [mlir][NFC] update LLVM create APIs (2/n) (#149667)
906295b8a31c8dac5aa845864c0bca9f02f86184 Maksim Levental [mlir] update affine+arith create APIs (1/n) (#149656)
```
Commit: f517ac2083ab01294ef5799d2209cd54df9fa116
https://github.com/llvm/llvm-project/commit/f517ac2083ab01294ef5799d2209cd54df9fa116
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/tools/dsymutil/MachOUtils.cpp
Log Message:
-----------
MCSectionCOFF: Avoid cast
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: 7a4bc5ff648194260d28b6a617300836cd834bcd
https://github.com/llvm/llvm-project/commit/7a4bc5ff648194260d28b6a617300836cd834bcd
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSectionMachO.h
Log Message:
-----------
MCSectionMachO: Remove classof
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast and we want to eliminate
MCSection::SectionVariant in the base class.
Commit: 190fcc28af585cb06480b026afd14ed87b18adb8
https://github.com/llvm/llvm-project/commit/190fcc28af585cb06480b026afd14ed87b18adb8
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/MC/MCAsmStreamer.cpp
Log Message:
-----------
MC: Replace MCSection's SV_MachO check with MCContext::IsMachO
Commit: a7516dd38c60351876032a7d016b889dd4f8aa23
https://github.com/llvm/llvm-project/commit/a7516dd38c60351876032a7d016b889dd4f8aa23
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/debug-fission-single.s
M bolt/test/X86/inlined-function-mixed.test
Log Message:
-----------
[BOLT] Remove Uses of %T From Lit Tests (#150716)
This patch removes all uses of %T from lit tests within bolt/. %T has
been listed as deprecated for ~7 years and should not be used given it
is not unique per test which means tests that use the same filenames can
race.
Commit: 382020619491b4ac150f5fb71a539984f44967e2
https://github.com/llvm/llvm-project/commit/382020619491b4ac150f5fb71a539984f44967e2
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse.ll
Log Message:
-----------
[CostModel][X86] Update SK_Reverse based on cost kinds (#150650)
When these were converted to CostKindTblEntry the throughput was mainly
copied to all cost kinds
Regenerated with my check_cost_tables.py helper script
Commit: 3aeab925dbb4908e15095a916c77548112fd441b
https://github.com/llvm/llvm-project/commit/3aeab925dbb4908e15095a916c77548112fd441b
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/MC/MCSectionDXContainer.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSectionSPIRV.h
M llvm/include/llvm/MC/MCSectionWasm.h
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/lib/MC/MCSection.cpp
M llvm/lib/MC/MCSectionMachO.cpp
Log Message:
-----------
MCSection: Remove SectionVariant
The object file format specific derived classes are used in context like
MCStreamer and MCObjectTargetWriter where the type is statically known.
We don't use isa/dyn_cast.
Commit: 492b52145051c2bb08af5fa548ebe97e46c07e2a
https://github.com/llvm/llvm-project/commit/492b52145051c2bb08af5fa548ebe97e46c07e2a
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionDXContainer.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSectionSPIRV.h
Log Message:
-----------
MCSection: Simplify useCodeAlign
Commit: 4d859dbae1a29a5fcc14f2e7e324324796ed263b
https://github.com/llvm/llvm-project/commit/4d859dbae1a29a5fcc14f2e7e324324796ed263b
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/stack-move.ll
Log Message:
-----------
[MemCpyOpt] fix incorrect handling of lifetime markers (#143782)
Having lifetime markers should only increase the information available
to LLVM, but it would instead rely on the callback to entirely give up
if it encountered a lifetime marker that wasn't full size, but
sub-optimal lifetime markers are not supposed to be forbidding
optimizations that would otherwise apply if they were either absent or
optimal. This pass wasn't tracking GEP offsets either, so it wasn't
quite correctly handled either, although earlier sub-optimal checks
that this size is the same as the alloca test made this safe in the
past, and unlikely to have encountered anything else in the past.
Commit: 8c07a634ca3b16de0d33765f86c616d105eff697
https://github.com/llvm/llvm-project/commit/8c07a634ca3b16de0d33765f86c616d105eff697
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
A openmp/runtime/test/ompt/loadtool/tool_available.c
R openmp/runtime/test/ompt/loadtool/tool_available/tool_available.c
A openmp/runtime/test/ompt/loadtool/tool_available_search.c
R openmp/runtime/test/ompt/loadtool/tool_available_search/tool_available_search.c
A openmp/runtime/test/ompt/loadtool/tool_not_available.c
R openmp/runtime/test/ompt/loadtool/tool_not_available/tool_not_available.c
Log Message:
-----------
[OpenMP] Move tool tests out of individual folders (#150780)
I did not realize that these were originally in separate folders to
allow for the use of %T. Now that we have switched over to creating dirs
using %t, we can move these into a common folder and make things a
little bit more clean.
Commit: b5c7482e8bfe4649afc19fad5957259696986353
https://github.com/llvm/llvm-project/commit/b5c7482e8bfe4649afc19fad5957259696986353
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M openmp/tools/archer/tests/lit.cfg
Log Message:
-----------
[OpenMP] Remove %preload-tool definition from archer tests (#150779)
This was added in 2b8115b10b03013b9f8ae0aa56b0cd6a6a6dd4fd and it looks
like this wass essentially a copy paste from one of the other lit config
files. This substitution is unused within the tests however and contains
a deprecated %T directive, so remove it.
Commit: e9de1ee9f57c0edb5c96d15fb19ad30aa0c0e7e4
https://github.com/llvm/llvm-project/commit/e9de1ee9f57c0edb5c96d15fb19ad30aa0c0e7e4
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmInfoCOFF.h
M llvm/include/llvm/MC/MCAsmInfoDarwin.h
M llvm/include/llvm/MC/MCAsmInfoELF.h
M llvm/include/llvm/MC/MCAsmInfoXCOFF.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/include/llvm/MC/MCSectionMachO.h
M llvm/include/llvm/MC/MCSectionWasm.h
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/lib/MC/MCAsmInfoCOFF.cpp
M llvm/lib/MC/MCAsmInfoDarwin.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCSectionCOFF.cpp
M llvm/lib/MC/MCSectionELF.cpp
M llvm/lib/MC/MCSectionMachO.cpp
M llvm/lib/MC/MCSectionWasm.cpp
M llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
Log Message:
-----------
MC: Move useCodeAlign from MCSection to MCAsmInfo
To centralize assembly-related virtual functions to MCAsmInfo and move
toward making MCSection non-virtual.
Commit: d50a4f6784d5ed6096e5c35e965c68c4767e4757
https://github.com/llvm/llvm-project/commit/d50a4f6784d5ed6096e5c35e965c68c4767e4757
Author: Carlo Bramini <carlo_bramini at users.sourceforge.net>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M flang/test/CMakeLists.txt
Log Message:
-----------
[flang][CMake] CYGWIN: Fix undefined references at link time. (#67105)
While building the source of flang on CYGWIN, the process suddenly
stopped with lot of "Undefined reference" errors at link time.
According to the statement that a shared library can't have undefined
references on Windows, I applied the same fix to CYGWIN with this patch.
Commit: f65b329d706c883ea469246de093219612390aa9
https://github.com/llvm/llvm-project/commit/f65b329d706c883ea469246de093219612390aa9
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
Log Message:
-----------
[IA] Fix a bug introduced by a recent refactoring
I had dropped the check for which intrinsics were supported. This is
a quick fix to get tree back into an unbroken state, a cleaner change
may follow.
Commit: 1c31c6801af997eed63cddc52a2912dc999bde1f
https://github.com/llvm/llvm-project/commit/1c31c6801af997eed63cddc52a2912dc999bde1f
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionDXContainer.h
M llvm/include/llvm/MC/MCSectionSPIRV.h
M llvm/lib/MC/CMakeLists.txt
R llvm/lib/MC/MCSectionDXContainer.cpp
Log Message:
-----------
MCSection: Remove empty printSwitchToSection overrides
Commit: 9b41b62c73921ba7a25a4a7df19fe9534fd9830d
https://github.com/llvm/llvm-project/commit/9b41b62c73921ba7a25a4a7df19fe9534fd9830d
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/MC/CMakeLists.txt
M llvm/lib/MC/MCAsmInfoCOFF.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
R llvm/lib/MC/MCSectionCOFF.cpp
R llvm/lib/MC/MCSectionELF.cpp
R llvm/lib/MC/MCSectionGOFF.cpp
R llvm/lib/MC/MCSectionWasm.cpp
R llvm/lib/MC/MCSectionXCOFF.cpp
Log Message:
-----------
MC: Merge MCSection*.cpp into MCAsmInfo*.cpp
To centralize assembly-related functions to MCAsmInfo and move toward
making MCSection non-virtual. MCSection*.cpp files primarily define
printSwitchToSection, which is tighly related to MCAsmInfo.
Commit: b60aed6fbabc291a7afbcb460453f9dcdce76f34
https://github.com/llvm/llvm-project/commit/b60aed6fbabc291a7afbcb460453f9dcdce76f34
Author: Chris Apple <cja-private at pm.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
A compiler-rt/test/rtsan/pthread_cond_wait.cpp
Log Message:
-----------
[rtsan] Add test for pthread_cond_wait segfault (#150776)
Introduce the test from
https://github.com/llvm/llvm-project/issues/146120
For future readers of this PR, if this test causes a segfault please
comment out the line indicated by the comment (or revert this entire
commit).
My plan is to commit this, see if any test runners fail, then submit the
fix in a follow on.
I cannot repro this bug on my machine so I need some confirmation of the
bug being fixed as it is submitted.
Commit: 82e4b8332800f5e737cb16923848c768e3f1dccf
https://github.com/llvm/llvm-project/commit/82e4b8332800f5e737cb16923848c768e3f1dccf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
Log Message:
-----------
[VPlan] Use terminator debug loc for latch BranchOnCond.
Update VPlan to consistently use the latch branch debug location for the
latch branch in the vector loop, if there is one.
Commit: d9489fd073c0e100c6fbb1e5aef140b00cf62b81
https://github.com/llvm/llvm-project/commit/d9489fd073c0e100c6fbb1e5aef140b00cf62b81
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
Log Message:
-----------
AVR,BPF: Derive from MCAsmInfoELF
instead of MCAsmInfo. MCAsmInfo is derived by object file format
MCAsmInfo.
Commit: 34ca553d306aabf1282533480649f24635e5dcee
https://github.com/llvm/llvm-project/commit/34ca553d306aabf1282533480649f24635e5dcee
Author: Michael Kruse <llvm-project at meinersbur.de>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M flang-rt/test/NonGtestUnit/lit.cfg.py
M flang/include/flang/Common/target-rounding.h
M flang/include/flang/Testing/fp-testing.h
M flang/lib/Testing/fp-testing.cpp
M flang/test/NonGtestUnit/lit.cfg.py
M llvm/utils/lit/lit/formats/base.py
Log Message:
-----------
[Flang/Flang-RT] Fix OldUnit tests on Windows (#150734)
Flang and Flang-RT have two flavours of unittests:
1. GTest unittests, using lit's `lit.formats.GoogleTest` format ending
with `Tests${CMAKE_EXECUTABLE_SUFFIX}`
2. "non-GTest" or "OldUnit" unittests, a plain executable ending with
`.test${CMAKE_EXECUTABLE_SUFFIX}`
Both executables are emitted into the same unittests/ subdirectory. When
running ...
1. `tests/Unit/lit.cfg.py`, only considers executable ending with
`Tests` (or `Tests.exe` on Windows), hence skips the non-GTest tests.
2. `tests/NonGtestUnit/lit.cfg.py` considers all tests ending with
`.test` or `.exe`. On Windows, The GTest unitests also end with `.exe`.
In Flang-RT, `.exe` is considered an extension for non-GTest unitests
which causes tests such as Flang's `RuntimeTests.exe` to be executed for
both on Windows. This particular test includes a file write test, using
a hard-coded filename `ucsfile`. If the two instances are executed
concurrently, they might interfere with each other reading/writing
`ucsfile` which results in a flaky test.
This patch avoids the redundant execution by requiring the suffix
`.test.exe` on Windows. lit has to be modified because it uses
`os.path.splitext` the extract the extension, which would only recognize
the last component. It was changed from the orginal `endswith` in
c865abe747aa72192f02ebfdcabe730f2553e42f
for unknown reasons.
In Flang, `.exe` is not considered a suffix for non-GTest unittests and
hence they are not run at all. Fixing by also added `.test.exe` as valid
suffix, like with Flang-RT.
Unfortunately, the ` Evaluate/real.test.exe` test was failing on
Windows:
```
FAIL: flang-OldUnit :: Evaluate/real.test.exe (3592 of 3592)
******************** TEST 'flang-OldUnit :: Evaluate/real.test.exe' FAILED ********************
..\_src\flang\unittests\Evaluate\real.cpp:511: FAIL: FlagsToBits(prod.flags) == 0x18, not 0x10
0 0x800001 * 0xbf7ffffe
..\_src\flang\unittests\Evaluate\real.cpp:511: FAIL: FlagsToBits(prod.flags) == 0x18, not 0x10
0 0x800001 * 0x3f7ffffe
..\_src\flang\unittests\Evaluate\real.cpp:511: FAIL: FlagsToBits(prod.flags) == 0x18, not 0x10
0 0x80800001 * 0xbf7ffffe
..\_src\flang\unittests\Evaluate\real.cpp:511: FAIL: FlagsToBits(prod.flags) == 0x18, not 0x10
0 0x80800001 * 0x3f7ffffe
...
```
This is due to the `__x86_64__` macro not being set by Microsoft's
cl.exe and hence floating point status flags not being read out. The
equivalent macro for Microsofts compiler is `_M_X64` (or `_M_X64`).
Commit: 57c78998a03a740cf90e8c8fe310633a99e6b53e
https://github.com/llvm/llvm-project/commit/57c78998a03a740cf90e8c8fe310633a99e6b53e
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M openmp/runtime/test/lit.cfg
Log Message:
-----------
[OpenMP] Update %preload-tool definition on Darwin
This was updated in some earlier commits but was never updated on Darwin
because I was testing locally on Linux and it does not seem like there
are any buildbots testing this configuration. Update it since it should
be trivial and will definitely be broken otherwise.
Commit: 87c73f498d3e98c7b6471f81e25b7e08106053fe
https://github.com/llvm/llvm-project/commit/87c73f498d3e98c7b6471f81e25b7e08106053fe
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmInfoCOFF.h
M llvm/include/llvm/MC/MCAsmInfoDarwin.h
M llvm/include/llvm/MC/MCAsmInfoELF.h
M llvm/include/llvm/MC/MCAsmInfoGOFF.h
M llvm/include/llvm/MC/MCAsmInfoWasm.h
M llvm/include/llvm/MC/MCAsmInfoXCOFF.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSectionMachO.h
M llvm/include/llvm/MC/MCSectionWasm.h
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/lib/MC/MCAsmInfoCOFF.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCSectionMachO.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
Log Message:
-----------
Move MCSection::printSwitchToSection to MCAsmInfo
This removes the only virtual function of MCSection.
NVPTXTargetStreamer::changeSection uses the MCSectionELF print method.
Change it to just print the section name.
Commit: f8685a8533dd90d31ead8c631337a798012533e0
https://github.com/llvm/llvm-project/commit/f8685a8533dd90d31ead8c631337a798012533e0
Author: Jessica Clarke <jrtc27 at jrtc27.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M lld/ELF/Target.h
Log Message:
-----------
[NFC][ELF] Wrap invokeELFT in do { } while (0) so it behaves as a function (#150119)
The current implementation is dangerous if used in contexts that need a
single statement, since invokeELFT(...); is in fact two statements, a
switch statement and an empty statement.
Commit: 26808ef7c2adff7261f65ed56fc5162ca3d900af
https://github.com/llvm/llvm-project/commit/26808ef7c2adff7261f65ed56fc5162ca3d900af
Author: Chris Apple <cja-private at pm.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M compiler-rt/test/rtsan/pthread_cond_wait.cpp
Log Message:
-----------
[rtsan] Disable pthread_cond_wait test (#150807)
Related to #150776 and #146120
Disable to fix test runner:
https://lab.llvm.org/buildbot/#/builders/208/builds/3123
Commit: 0466d766539afecc0df505dc74984705e419392b
https://github.com/llvm/llvm-project/commit/0466d766539afecc0df505dc74984705e419392b
Author: Nico Weber <thakis at chromium.org>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
Log Message:
-----------
[gn] port 931228e28f55 (LLVM_ENABLE_PROFCHECK)
Commit: 7e2f3e76a7adc0dfbf62c2f54f15f78e6f09137f
https://github.com/llvm/llvm-project/commit/7e2f3e76a7adc0dfbf62c2f54f15f78e6f09137f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/MC/BUILD.gn
Log Message:
-----------
[gn build] Port 1c31c6801af9
Commit: 5be31a82e2cc6f26fa94e5fc26bf051eb0636735
https://github.com/llvm/llvm-project/commit/5be31a82e2cc6f26fa94e5fc26bf051eb0636735
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/MC/BUILD.gn
Log Message:
-----------
[gn build] Port 9b41b62c7392
Commit: f053b736a954eab57e9200743e9773bcb3b65373
https://github.com/llvm/llvm-project/commit/f053b736a954eab57e9200743e9773bcb3b65373
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
Log Message:
-----------
[CodeGen] Remove an unnecessary cast (NFC) (#150784)
createTargetMachine() already returns TargetMachine *.
Commit: f8ee63d9a95b8d92fc1dbd78964f666d0221f8c2
https://github.com/llvm/llvm-project/commit/f8ee63d9a95b8d92fc1dbd78964f666d0221f8c2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
Log Message:
-----------
[ExecutionEngine] Remove unnecessary casts (NFC) (#150785)
getArch() already returns Triple::ArchType.
Commit: 4cb5a343b216d82f49c6affa8b17b696872718b5
https://github.com/llvm/llvm-project/commit/4cb5a343b216d82f49c6affa8b17b696872718b5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/ThreadPool.h
Log Message:
-----------
[Support] Remove get getThreadCount (NFC) (#150786)
getThreadCount has been deprecated for more than a year since:
commit 744616b3aebd008a5ad0e9de9f82f5e284440ab1
Author: Mehdi Amini <joker.eph at gmail.com>
Date: Mon Feb 19 18:07:12 2024 -0800
This patch removes it.
Commit: 1c6e75cb9849c5301ebefcc91a0b3f33c266377b
https://github.com/llvm/llvm-project/commit/1c6e75cb9849c5301ebefcc91a0b3f33c266377b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
Log Message:
-----------
AMDGPU: Fix test with broken checks
This was broken in 6118a254ff9acb4b54a6bdb952c088a792b679af
update_llc_test_checks behavior in the conflict case is dangerous
and terrible; it silently deletes all checks and inserts the unused
check prefixes at the bottom.
Commit: 59fdd97fe6d4e84d653cd005cddb50c1f2eedcb7
https://github.com/llvm/llvm-project/commit/59fdd97fe6d4e84d653cd005cddb50c1f2eedcb7
Author: Congcong Cai <congcongcai0907 at 163.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] typo in UseUsingCheck
Commit: 69d0078f16c0b4a11f171c4eb16a2ee9284f5f24
https://github.com/llvm/llvm-project/commit/69d0078f16c0b4a11f171c4eb16a2ee9284f5f24
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-26 (Sat, 26 Jul 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/align.s
Log Message:
-----------
MC: Generate relocation for a branch crossing linker-relaxable FT_Align fragment
"Encode FT_Align in fragment's variable-size tail" or a neighbor change
caused a regression that was similar to the root cause of
ab0931b6389838cb5d7d11914063a1ddd84102f0
(See the new test (.text3 with a call at the start"))
For a FT_Align fragment, the offset between location A (with offset <=
FixedSize) and B (offset == FixedSize+VarSize) cannot be resolved.
In addition, delete unneeded condition `F->isLinkerRelaxable()`.
LoongArch linker relaxation is largely under-tested, but update it as well.
Commit: 80c43b6c07f25792718dc2ee3490b9d817c65b1f
https://github.com/llvm/llvm-project/commit/80c43b6c07f25792718dc2ee3490b9d817c65b1f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
Log Message:
-----------
[VPlan] Add ExtractLane VPInst to extract across multiple parts. (#148817)
This patch adds a new ExtractLane VPInstruction which extracts across
multiple parts using a wide index, to be used in combination with
FirstActiveLane.
The patch updates early-exit codegen to use it instead ExtractElement,
which is only per-part. With this change, interleaving should work
correctly with early-exit loops.
The patch removes the restrictions added in 6f43754e9 (#145877), but
does not yet automatically select interleave counts > 1 for early-exit
loops.
I'll share a patch as follow-up. The cost of extracting a lane adds
non-trivial overhead in the exit block, so that should be considered
when picking the interleave count.
PR: https://github.com/llvm/llvm-project/pull/148817
Commit: ea6106b2e22f85f02e7010509548f2595c76e50a
https://github.com/llvm/llvm-project/commit/ea6106b2e22f85f02e7010509548f2595c76e50a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir] Fix a warning
This patch fixes:
mlir/lib/Transforms/Utils/DialectConversion.cpp:1686:14: error:
unused variable 'newParentOp' [-Werror,-Wunused-variable]
Commit: d1f2a661f4950964d8c57b63556bb88f92357f77
https://github.com/llvm/llvm-project/commit/d1f2a661f4950964d8c57b63556bb88f92357f77
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
Log Message:
-----------
[VPlan] Pass debug location explicitly to VPBlendRecipe (NFC).
This enables creating VPBlendRecipes without underlying PHINode.
Commit: a7c9563995cdeb2b74202ad47bf262152e0870e6
https://github.com/llvm/llvm-project/commit/a7c9563995cdeb2b74202ad47bf262152e0870e6
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/PatternMatch.h
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][IR] Set insertion point when erasing an operation (#146955)
Erasing the operation to which the current insertion point is set,
leaves the insertion point in an invalid state. This commit resets the
insertion point to the following operation.
Also adjust the insertion point when inlining a block.
Commit: bc7487d8ed1e9afcf709492c64359861e61af91d
https://github.com/llvm/llvm-project/commit/bc7487d8ed1e9afcf709492c64359861e61af91d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Cast header and latch to VPBasicBlock early (NFC).
There are only VPBasicBlocks when prepareForVectorization is called.
Cast them early instead of having multiple casts later on.
Commit: c9a87b45a355d4f60cb6a06099e47a8ccaea7c63
https://github.com/llvm/llvm-project/commit/c9a87b45a355d4f60cb6a06099e47a8ccaea7c63
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
Log Message:
-----------
[VPlan] Retrieve latch terminator from VPlan. (NFC)
Remove an unnecessary lookup via original IR loop.
Commit: cf1abe67b9c6881527e42c1f6571665bb506b708
https://github.com/llvm/llvm-project/commit/cf1abe67b9c6881527e42c1f6571665bb506b708
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#150758)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: c639475974c4fe95951e2598e65a2be07ed05af1
https://github.com/llvm/llvm-project/commit/c639475974c4fe95951e2598e65a2be07ed05af1
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/test/Transforms/test-legalize-type-conversion.mlir
Log Message:
-----------
[mlir][Transforms] Dialect Conversion: Fix folder implementation (#150775)
Operation folders can do two things:
1. Modify IR (in-place op modification). Failing to legalize an in-place
folded operation does not trigger an immediate rollback. This happens
only if the driver decides to try a different lowering path, requiring
it to roll back a bunch of modifications, including the application of
the folder.
2. Create new IR (constant op materialization of a folded attribute).
Failing to legalize a newly created constant op triggers an immediate
rollback.
In-place op modifications should be guarded by
`startOpModification`/`finalizeOpModification` because they are no
different from other in-place op modifications. (They just happen
outside of a pattern, but that does not mean that we should not track
those changes; we are tracking everything else.) This commit adds those
two function calls.
This commit also moves the `rewriter.replaceOp(op, replacementValues);`
function call before the loop nest that legalizes the newly created
constant ops (and therefore `replacementValues`). Conceptually, the
folded op must be replaced before attempting to legalize the constants
because the constant ops may themselves be replaced as part of their own
legalization process. The previous implementation happened to work in
the current conversion driver, but is incompatible with the One-Shot
Dialect Conversion driver, which expects to see the most recent IR at
all time.
>From an end-user perspective, this commit should be NFC. A common
folder-rollback pattern that is exercised by multiple tests cases: A
`memref.dim` is folded to `arith.constant`, but `arith.constant` is not
marked as legal as per the conversion target, triggering a rollback.
Note: Folding is generally unsafe in a dialect conversion (see #92683),
but that's a different issue. (In a One-Shot Dialect Conversion, it will
no longer be unsafe.)
Commit: e2b4ba04140ecbd2367247334b04490ef9537c7a
https://github.com/llvm/llvm-project/commit/e2b4ba04140ecbd2367247334b04490ef9537c7a
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/Lowering/poison.cir
M clang/test/CIR/Transforms/bit.cir
M clang/test/CIR/Transforms/canonicalize.cir
Log Message:
-----------
[CIR] Add poison attribute (#150760)
This patch adds the `#cir.poison` attribute which represents a poison
value. This patch also updates various operation folders to let them
propagate poison values from their inputs to their outputs.
Commit: 39b825e6690d9ac7f074da33f550c5ed1e8e9d9f
https://github.com/llvm/llvm-project/commit/39b825e6690d9ac7f074da33f550c5ed1e8e9d9f
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
Log Message:
-----------
[LV] Add test for miscompile with conditional store.
Add test case for https://github.com/llvm/llvm-project/issues/149347.
Commit: 89ae0858599549ce6f7be1b789b04a5301a626ba
https://github.com/llvm/llvm-project/commit/89ae0858599549ce6f7be1b789b04a5301a626ba
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-scalar-epilogue-fallback.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/pr51366-sunk-instruction-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_load.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/extract-from-end-vector-constant.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/induction_plus.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/min-trip-count-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr35773.ll
M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/struct-return-replicate.ll
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/uitofp-preserve-nneg.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
Log Message:
-----------
[VPlan] Remove VPVectorPointer for part 0 after unrolling. (#149735)
VPVectorPointer for part 0 is just the pointer operand. Simplify it
after unrolling. This removes a large number of redundant GEPs with
index 0.
PR: https://github.com/llvm/llvm-project/pull/149735
Commit: 43868487760377808ad5cd8ae56a43f396666ec2
https://github.com/llvm/llvm-project/commit/43868487760377808ad5cd8ae56a43f396666ec2
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Add explicit VPUnrollPartAccessor<1> instantiation.
This should fix a build-failure with GCC, including
https://lab.llvm.org/buildbot/#/builders/105/builds/10685.
Commit: f3c750f14951266f89148fe1647d04a1f0fadf63
https://github.com/llvm/llvm-project/commit/f3c750f14951266f89148fe1647d04a1f0fadf63
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/docs/ProgrammersManual.rst
Log Message:
-----------
[llvm] Proofread ProgrammersManual.rst (#150787)
This patch only adds double backticks around code-related terms to
facilitate the review process.
Commit: 7d7f3819e0bf3adfbd77af3c6fa454636faa274c
https://github.com/llvm/llvm-project/commit/7d7f3819e0bf3adfbd77af3c6fa454636faa274c
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
R mlir/test/Target/LLVMIR/omptarget-debug-reduc-fn-loc.mlir
Log Message:
-----------
Revert "[OMPIRBuilder] Don't use invalid debug loc in reduction functions." (#150832)
Reverts llvm/llvm-project#147950
I noticed some fails in the reduction tests with clang after this
change. I need to understand the failures better. Reverting this for
now.
Commit: f3bcaeac94f9f599026a6e2553438b76defb1ae6
https://github.com/llvm/llvm-project/commit/f3bcaeac94f9f599026a6e2553438b76defb1ae6
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
Optimize MCObjectStreamer::emitInstToData
Commit: 85213f2f884cd68586723163629474a8eea46a74
https://github.com/llvm/llvm-project/commit/85213f2f884cd68586723163629474a8eea46a74
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/asinf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor asinf16 implementation to header-only in src/__support/math folder. (#150800)
Part of #147386
in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: c7cd1d0ae371dda60f341499e23be5c03ed11b59
https://github.com/llvm/llvm-project/commit/c7cd1d0ae371dda60f341499e23be5c03ed11b59
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
Log Message:
-----------
[Analysis] Remove an unnecessary cast (NFC) (#150838)
getOpcode() already returns Instruction::CastOps.
Commit: adbf59dafab9d32f44c3f191febab683d7ad5a0d
https://github.com/llvm/llvm-project/commit/adbf59dafab9d32f44c3f191febab683d7ad5a0d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Log Message:
-----------
[AsmPrinter] Remove an unnecessary cast (NFC) (#150839)
getLabelAfterInsn() already returns MCSymbol *.
Commit: 5deb4428852bc66e6e94d1ccc7c98d376ee2ab2e
https://github.com/llvm/llvm-project/commit/5deb4428852bc66e6e94d1ccc7c98d376ee2ab2e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/docs/YamlIO.rst
Log Message:
-----------
[llvm] Proofread YamlIO.rst (#150840)
Commit: 83cb8b7befa4d17dbaccfa5a0716812115efc6f4
https://github.com/llvm/llvm-project/commit/83cb8b7befa4d17dbaccfa5a0716812115efc6f4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[llvm] Use a range-based for loop instead of {std,llvm}::for_each (NFC) (#150841)
LLVM Coding Standards discourages {std,llvm}::for_each unless we
already have a callable.
Commit: f8b1c7333f79423e70a37e7bf423ddc9d49a52e9
https://github.com/llvm/llvm-project/commit/f8b1c7333f79423e70a37e7bf423ddc9d49a52e9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Add getContext helper to VPlan (NFC).
Commit: 789fcef8058aafd495c975cda3b27784b8085397
https://github.com/llvm/llvm-project/commit/789fcef8058aafd495c975cda3b27784b8085397
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/examples/transform/Ch4/lib/MyExtension.cpp
M mlir/include/mlir/Dialect/Linalg/TransformOps/GPUHeuristics.h
M mlir/lib/Dialect/Affine/Transforms/DecomposeAffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
M mlir/lib/Dialect/Linalg/TransformOps/GPUHeuristics.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
Log Message:
-----------
[MLIR] Migrate some "transform dialect" source to use the standard LDBG macro (NFC) (#150695)
Commit: c28dfa13417cd66f1cded00bbe9fa5fb9f042c98
https://github.com/llvm/llvm-project/commit/c28dfa13417cd66f1cded00bbe9fa5fb9f042c98
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/Inliner.cpp
Log Message:
-----------
[MLIR] Update Inliner.cpp to use LDBG() for logging (NFC) (#150762)
Commit: 5983d7db7da4e8c9b83ad26cb67c81e2a7cc6b7b
https://github.com/llvm/llvm-project/commit/5983d7db7da4e8c9b83ad26cb67c81e2a7cc6b7b
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Analysis/DataFlowFramework.cpp
Log Message:
-----------
Migrate more of DataFlow framework to LDBG (NFC) (#150752)
Commit: 865dd278a9957f68ea7517427e5b73c81ea22db5
https://github.com/llvm/llvm-project/commit/865dd278a9957f68ea7517427e5b73c81ea22db5
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/lib/Support/TypeID.cpp
Log Message:
-----------
[MLIR] Remove overly verbose Debug for TypeID checks (NFC) (#150751)
These are spammy and mostly uninteresting during debugging.
Commit: 03dc2a41f3d9a500e47b513de5c5008c06860d65
https://github.com/llvm/llvm-project/commit/03dc2a41f3d9a500e47b513de5c5008c06860d65
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-4.md
M mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
Log Message:
-----------
[MLIR] Update MLIR tutorial to use LDBG() macro (#150763)
Commit: 0f2484a7408eb4a14dc9bb231e56e8dbfddbc5bc
https://github.com/llvm/llvm-project/commit/0f2484a7408eb4a14dc9bb231e56e8dbfddbc5bc
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof_func_assign_fix.ll
A llvm/test/Transforms/MemProfContextDisambiguation/func_assign_fix.ll
Log Message:
-----------
[MemProf] Ensure all callsite clones are assigned a function clone (#150735)
Fix a bug in function assignment where we were not assigning all
callsite clones to a function clone. This led to incorrect call updates
because multiple callsite clones could look like they were assigned to
the same function clone.
Add in a stat and debug message to help identify and debug cases where
this is still happening.
Commit: f4c05be544a02d7271605e09700310a77f5e80e0
https://github.com/llvm/llvm-project/commit/f4c05be544a02d7271605e09700310a77f5e80e0
Author: Matthias Springer <me at m-sp.org>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/docs/Tutorials/Toy/Ch-5.md
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
Log Message:
-----------
[mlir][toy] Update dialect conversion example (#150826)
The Toy tutorial used outdated API. Update the example to:
* Use the `OpAdaptor` in all places.
* Do not mix `RewritePattern` and `ConversionPattern`. This cannot
always be done safely and should not be advertised in the example code.
Commit: 9e5f9ff82f2f060aac73a965ab37fdbb6b53cfe0
https://github.com/llvm/llvm-project/commit/9e5f9ff82f2f060aac73a965ab37fdbb6b53cfe0
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M mlir/lib/Transforms/Utils/Inliner.cpp
Log Message:
-----------
[MLIR] Fix release build: reference to NDEBUG guarded function (NFC)
With LDBG(), the code isn't guarded in release mode, even if the optimizer
will remove it because there is a `if (false)` statement. We need the
function declaration to be there at minima.
Commit: 1c3d6b3ec0fd329b3c7afe46d8ecaea1b4e54708
https://github.com/llvm/llvm-project/commit/1c3d6b3ec0fd329b3c7afe46d8ecaea1b4e54708
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
Implement a custom stream for LDBG macro to handle newlines (#150750)
This prints the prefix on every new line, allowing for an output that
looks like:
```
[dead-code-analysis] DeadCodeAnalysis.cpp:288 Visiting operation: func.func private @private_1() -> (i32, i32) {
[dead-code-analysis] DeadCodeAnalysis.cpp:288 %c0_i32 = arith.constant 0 : i32
[dead-code-analysis] DeadCodeAnalysis.cpp:288 %0 = arith.addi %c0_i32, %c0_i32 {tag = "one"} : i32
[dead-code-analysis] DeadCodeAnalysis.cpp:288 return %c0_i32, %0 : i32, i32
[dead-code-analysis] DeadCodeAnalysis.cpp:288 }
[dead-code-analysis] DeadCodeAnalysis.cpp:313 Visiting callable operation: func.func private @private_1() -> (i32, i32) {
[dead-code-analysis] DeadCodeAnalysis.cpp:313 %c0_i32 = arith.constant 0 : i32
[dead-code-analysis] DeadCodeAnalysis.cpp:313 %0 = arith.addi %c0_i32, %c0_i32 {tag = "one"} : i32
[dead-code-analysis] DeadCodeAnalysis.cpp:313 return %c0_i32, %0 : i32, i32
[dead-code-analysis] DeadCodeAnalysis.cpp:313 }
```
Commit: bca80a00e7379d043af5020f595dab99f8290bd6
https://github.com/llvm/llvm-project/commit/bca80a00e7379d043af5020f595dab99f8290bd6
Author: Mahesh-Attarde <mahesh.attarde at intel.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A llvm/test/CodeGen/X86/isel-fpclass.ll
Log Message:
-----------
[X86][GlobalISel] Add test for IS_FP_CLASS (#148816)
Test for PR https://github.com/llvm/llvm-project/pull/148801
Commit: 314e22bcab2b0f3d208708431a14215058f0718f
https://github.com/llvm/llvm-project/commit/314e22bcab2b0f3d208708431a14215058f0718f
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
R llvm/test/ThinLTO/X86/memprof_func_assign_fix.ll
R llvm/test/Transforms/MemProfContextDisambiguation/func_assign_fix.ll
Log Message:
-----------
Revert "[MemProf] Ensure all callsite clones are assigned a function clone" (#150856)
Reverts llvm/llvm-project#150735 due to bot failures that I need to
investigate
Commit: 22c9236f5043367b0f68584031f86fa8438f859f
https://github.com/llvm/llvm-project/commit/22c9236f5043367b0f68584031f86fa8438f859f
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Object/IRSymtab.cpp
Log Message:
-----------
IRSymtab: Use StringSet instead of DenseMap for preserved symbols (#149836)
Microbenchmarking shows this is faster
Commit: 778fb76e6308534a63239a91b98f5dad055f6fdb
https://github.com/llvm/llvm-project/commit/778fb76e6308534a63239a91b98f5dad055f6fdb
Author: yingopq <115543042+yingopq at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
A llvm/test/CodeGen/Mips/abiflags-soft-float.ll
Log Message:
-----------
[Mips] Fix wrong ELF FP ABI info when inline asm was empty (#146457)
When Mips process emitStartOfAsmFile and updateABIInfo, it did not know
the real value of IsSoftFloat and STI.useSoftFloat(). And when inline
asm instruction was empty, Mips did not process asm parser, so it would
not do TS.updateABIInfo(STI) again and at this time the value of
IsSoftFloat is correct.
Fix #135283.
Commit: 45104662c086b4e194a23c63760096dd11edd935
https://github.com/llvm/llvm-project/commit/45104662c086b4e194a23c63760096dd11edd935
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features-sifive.c
Log Message:
-----------
[RISCV] Add negative pre-defined macro test for XSfmm* extension. NFC. (#150596)
Commit: 80e0d4167765d70766c836cb8db4933976a47dae
https://github.com/llvm/llvm-project/commit/80e0d4167765d70766c836cb8db4933976a47dae
Author: ZhaoQi <zhaoqi01 at loongson.cn>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
Log Message:
-----------
[LoongArch] Custom legalizing build_vector with same constant elements (#150584)
Commit: eb04b699e9df89c493da2986c29aa6f553cc85b6
https://github.com/llvm/llvm-project/commit/eb04b699e9df89c493da2986c29aa6f553cc85b6
Author: Haowei <haowei at google.com>
Date: 2025-07-27 (Sun, 27 Jul 2025)
Changed paths:
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/scanf_core/CMakeLists.txt
Log Message:
-----------
[libc] Add misssing inttypes dependencies (#150861)
This is a follow up of 9e7999147de757107482d8a2cedab4155a0b6635. It
attempts to fix the CI flakes we saw on fuchsia-linux-x64 builder.
Commit: 1b4db78d2eaa070b3f364a2d2b2b826a5439b892
https://github.com/llvm/llvm-project/commit/1b4db78d2eaa070b3f364a2d2b2b826a5439b892
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/Sema.h
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/CXX/basic/basic.link/p19.cppm
A clang/test/Modules/Exposure-2.cppm
A clang/test/Modules/Exposure.cppm
Log Message:
-----------
[C++20] [Modules] Implement diagnose for exposured partially
Tracked at https://github.com/llvm/llvm-project/issues/112294
This patch implements from [basic.link]p14 to [basic.link]p18 partially.
The explicitly missing parts are:
- Anything related to specializations.
- Decide if a pointer is associated with a TU-local value at compile
time.
- [basic.link]p15.1.2 to decide if a type is TU-local.
- Diagnose if TU-local functions from other TU are collected to the
overload set. See [basic.link]p19, the call to 'h(N::A{});' in
translation unit #2
There should be other implicitly missing parts as the wording uses
"names" briefly several times. But to implement this precisely, we have
to visit the whole AST, including Decls, Expression and Types, which may
be harder to implement and be more time-consuming for compilation time.
So I choose to implement the common parts.
It won't be too bad to miss some cases since we DIDN'T do any such
checks in the past 3 years. Any new check is an improvement. Given
modules have been basically available since clang15 without such checks,
it will be user unfriendly if we give a hard error now. And there are
a lot of cases which violating the rule actually just fine. So I decide
to emit it as warnings instead of hard errors.
Commit: e259ba8bec6b4d0efd5e37c9566b11108ce9ffa9
https://github.com/llvm/llvm-project/commit/e259ba8bec6b4d0efd5e37c9566b11108ce9ffa9
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
Log Message:
-----------
[RISCV] Modernize FP cost model tests. NFC
* Replace undef -> poison
* Remove overloaded type in intrinsic signature
Commit: a100f6367205c6a909d68027af6a8675a8091bd9
https://github.com/llvm/llvm-project/commit/a100f6367205c6a909d68027af6a8675a8091bd9
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
Log Message:
-----------
[RISCV] Add FP cost model tests for no zfhmin/zfbfmin. NFC
Vector costs without zvfhmin/zvfbfmin and zfhmin/zfbfmin are somehow
cheaper than with zvfhmin/zvfbfmin at smaller vector sizes, despite the
fact that the former are scalarized to libcalls. This adds a RUN line to
showcase this, splitting out the bfloat tests into their own functions
so we don't have duplicate lines for the regular float/double costs.
Commit: 024262421dc7f1900a28b3a4a5d4380925fd96b8
https://github.com/llvm/llvm-project/commit/024262421dc7f1900a28b3a4a5d4380925fd96b8
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features-sifive.c
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Split the pre-defined macro tests for SiFive extensions to riscv-target-features-sifive.c. NFC.
Commit: 8c8b3cd28b52a98383b6875d045bdf1f4d9a3a2f
https://github.com/llvm/llvm-project/commit/8c8b3cd28b52a98383b6875d045bdf1f4d9a3a2f
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A clang/test/Preprocessor/riscv-target-features-cv.c
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Split the pre-defined macro tests for xcv* extensions to riscv-target-features-cv.c. NFC.
Commit: ee3cf1252a0763e56c28592edec96b029c884bba
https://github.com/llvm/llvm-project/commit/ee3cf1252a0763e56c28592edec96b029c884bba
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/test/Preprocessor/riscv-target-features-cv.c
Log Message:
-----------
[RISCV] Add pre-defined macro test for XCVmem. NFC.
Commit: 2e71bf01330d986c28dec47a7f8506021028450f
https://github.com/llvm/llvm-project/commit/2e71bf01330d986c28dec47a7f8506021028450f
Author: Jim Lin <jim at andestech.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A clang/test/Preprocessor/riscv-target-features-thead.c
M clang/test/Preprocessor/riscv-target-features.c
Log Message:
-----------
[RISCV] Split the pre-defined macro tests for xthead* extensions to riscv-target-features-thead.c. NFC.
Commit: 0afb30311d2858af4134d55af927ba0266b8e505
https://github.com/llvm/llvm-project/commit/0afb30311d2858af4134d55af927ba0266b8e505
Author: Danny Mösch <danny.moesch at icloud.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
Log Message:
-----------
[clang-tidy] Add handling of type aliases in `use-designated-initializers` check (#150842)
Resolves #150782.
Commit: d35bf478a81e0ca5c9fac76767d41a23df262f94
https://github.com/llvm/llvm-project/commit/d35bf478a81e0ca5c9fac76767d41a23df262f94
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
[CodeGen][NPM] Stitch up loop passes in codegen pipeline (#148114)
same as https://github.com/llvm/llvm-project/pull/133050
Co-authored-by : Oke, Akshat
<[Akshat.Oke at amd.com](mailto:Akshat.Oke at amd.com)>
Commit: 495774d6d59379edad3c8c35be8c4672d4a513fa
https://github.com/llvm/llvm-project/commit/495774d6d59379edad3c8c35be8c4672d4a513fa
Author: Vikram Hegde <115221833+vikramRH at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Passes/CodeGenPassBuilder.h
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/test/CodeGen/AMDGPU/llc-pipeline-npm.ll
Log Message:
-----------
Revert "[CodeGen][NPM] Stitch up loop passes in codegen pipeline" (#150883)
Reverts llvm/llvm-project#148114
will update with fixed PR.
Commit: 90de4a4ac96ef314e3af9c43c516d5aaf105777a
https://github.com/llvm/llvm-project/commit/90de4a4ac96ef314e3af9c43c516d5aaf105777a
Author: Madhur Amilkanthwar <madhura at nvidia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
A llvm/test/Transforms/LoopFusion/sunk-phi-nodes.ll
Log Message:
-----------
[LoopFusion] Fix sink instructions (#147501)
If we have instructions in second loop's preheader which can be sunk, we
should also be adjusting PHI nodes to receive values from the fused loop's latch block.
Fixes #128600
Commit: 07d396b6f595eb90fb40f49d8a11f944553b9bfd
https://github.com/llvm/llvm-project/commit/07d396b6f595eb90fb40f49d8a11f944553b9bfd
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/test/CodeGen/X86/embed-bitcode.ll
Log Message:
-----------
[COFF] Set .llvmbc and .llvmcmd to metadata section (#150879)
Those are metadata sections for ELF but was not properly set for COFF.
Commit: 376326c6606205a390568e84a76bb182aee02ed1
https://github.com/llvm/llvm-project/commit/376326c6606205a390568e84a76bb182aee02ed1
Author: David Green <david.green at arm.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/andcompare.ll
M llvm/test/CodeGen/AArch64/andorbrcompare.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/cmp-chains.ll
M llvm/test/CodeGen/AArch64/dag-combine-select.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_2op.ll
Log Message:
-----------
[AArch64] Update some tests to use a more common check prefix. NFC
I'm just trying to more consistently use CHECK-SD and CHECK-GI.
Commit: 4072a6b85beed8427d14f13248d2f9cfaede489f
https://github.com/llvm/llvm-project/commit/4072a6b85beed8427d14f13248d2f9cfaede489f
Author: Marco Maia <marcogmaia at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
A clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp
M clang-tools-extra/clangd/unittests/CMakeLists.txt
A clang-tools-extra/clangd/unittests/tweaks/OverridePureVirtualsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
Log Message:
-----------
Reland "[clangd] Add tweak to override pure virtuals" (#150788)
This relands commit
https://github.com/llvm/llvm-project/commit/7355ea3f6b214d1569da43d02f9a166ff15012e6.
The original commit was reverted in
https://github.com/llvm/llvm-project/commit/bfd73a5161608e6355f7db87dc5f5afee56d7e2f
because it was breaking the buildbot.
The issue has now been resolved by
https://github.com/llvm/llvm-project/commit/38f82534bbe9e1c9f5edd975a72e07beb7048423.
Original PR: https://github.com/llvm/llvm-project/pull/139348
Original commit message:
<blockquote>
closes https://github.com/clangd/clangd/issues/1037
closes https://github.com/clangd/clangd/issues/2240
Example:
```c++
class Base {
public:
virtual void publicMethod() = 0;
protected:
virtual auto privateMethod() const -> int = 0;
};
// Before:
// // cursor here
class Derived : public Base{}^ ;
// After:
class Derived : public Base {
public:
void publicMethod() override {
// TODO: Implement this pure virtual method.
static_assert(false, "Method `publicMethod` is not implemented.");
}
protected:
auto privateMethod() const -> int override {
// TODO: Implement this pure virtual method.
static_assert(false, "Method `privateMethod` is not implemented.");
}
};
```
https://github.com/user-attachments/assets/79de40d9-1004-4c2e-8f5c-be1fb074c6de
</blockquote>
Commit: 3d994468098027f9cf550c78a1c91bb266040f61
https://github.com/llvm/llvm-project/commit/3d994468098027f9cf550c78a1c91bb266040f61
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Format/Format.cpp
M clang/unittests/Format/FormatTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in `DerivePointerAlignment: true` (#150744)
This effectively reverts a4d4859dc70c046ad928805ddeaf8fa101793394 which
didn't fix the problem that `int*,` was not counted as "Left" alignment.
Fixes #150327
Commit: fe0dbe0f2950d95071be7140c7b4680f17a7ac4e
https://github.com/llvm/llvm-project/commit/fe0dbe0f2950d95071be7140c7b4680f17a7ac4e
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
A llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
Log Message:
-----------
[CodeGen] More consistently expand float ops by default (#150597)
These float operations were expanded for scalar f32/f64/f128, but not
for f16 and more problematically, not for vectors. A small subset of
them was separately set to expand for vectors.
Change these to always expand by default, and adjust targets to mark
these as legal where necessary instead.
This is a much safer default, and avoids unnecessary legalization
failures because a target failed to manually mark them as expand.
Fixes https://github.com/llvm/llvm-project/issues/110753.
Fixes https://github.com/llvm/llvm-project/issues/121390.
Commit: a87fb3b60fac6ae420393ae8740c9becc7ef6a05
https://github.com/llvm/llvm-project/commit/a87fb3b60fac6ae420393ae8740c9becc7ef6a05
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A mlir/Maintainers.md
Log Message:
-----------
[mlir] Nominate MLIR Core category maintainers (#149485)
This is a nomination for the maintainers of the core category within
MLIR as proposed in
https://discourse.llvm.org/t/mlir-project-maintainers/87189. As agreed
in the Project Council meeting on July 17, we are proceeding with
category nominations without waiting for lead maintainers to be
nominated.
Commit: f529c0b56f3a77301b884281f8cb1aa214236f7b
https://github.com/llvm/llvm-project/commit/f529c0b56f3a77301b884281f8cb1aa214236f7b
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
Log Message:
-----------
[mlir][linalg][nfc] Clean-up leftover code post #149156 (#150602)
In https://github.com/llvm/llvm-project/pull/149156, I ensured that we
no longer generate spurious `tensor.empty` ops when vectorizing
`linalg.unpack`.
This follow-up removes leftover code that is now redundant but was
missed in the original PR.
Commit: ac4c13d0d8f56c6939557cc9addd6e3e149664ad
https://github.com/llvm/llvm-project/commit/ac4c13d0d8f56c6939557cc9addd6e3e149664ad
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/Maintainers.md
Log Message:
-----------
[mlir] Nominate Tensor Compiler maintainers (#149488)
This is a nomination for the maintainers of the tensor compiler category
within MLIR as proposed in
https://discourse.llvm.org/t/mlir-project-maintainers/87189. As agreed
in the Project Council meeting on July 17, we are proceeding with
category nominations without waiting for lead maintainers to be
nominated.
Commit: ddb12c10a9215d15df8058a52965241d5030422e
https://github.com/llvm/llvm-project/commit/ddb12c10a9215d15df8058a52965241d5030422e
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-no-masking.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-no-masking.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction-cost.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[RISCV][LV] Remove redundant -force-tail-folding-style from tests. NFC
This isn't needed after we set the tail folding style to data-with-evl
via TTI in #148686. Also rename the tests to reflect the fact they're
no longer forcing the tail folding style.
Commit: 72b77c193f1053fc98b3da241b25f1f7ba02d7ae
https://github.com/llvm/llvm-project/commit/72b77c193f1053fc98b3da241b25f1f7ba02d7ae
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/test/CodeGen/AMDGPU/wwm-regalloc-error.ll
Log Message:
-----------
AMDGPU: Avoid contraction in wwm allocation failure message (#150888)
Commit: 41f333250bf2b9699b9c8cfec3b12dc046162679
https://github.com/llvm/llvm-project/commit/41f333250bf2b9699b9c8cfec3b12dc046162679
Author: Haohai Wen <haohai.wen at intel.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lld/COFF/InputFiles.cpp
A lld/test/COFF/embed-bitcode.test
Log Message:
-----------
[LLD][COFF] Discard .llvmbc and .llvmcmd sections (#150897)
Those sections are generated by -fembed-bitcode and do not need to be
kept in executable files.
Commit: 44ff1ed16e4f0798419f22fb6040ec94f417452d
https://github.com/llvm/llvm-project/commit/44ff1ed16e4f0798419f22fb6040ec94f417452d
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
Log Message:
-----------
AMDGPU: Move getMaxNumVectorRegs into GCNSubtarget (NFC) (#150889)
Addresses a TODO
Commit: 525090e83ca392753d371602b5e64f06e7debd9a
https://github.com/llvm/llvm-project/commit/525090e83ca392753d371602b5e64f06e7debd9a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
A llvm/test/CodeGen/Mips/nan_lowering.ll
R llvm/test/CodeGen/Mips/qnan.ll
Log Message:
-----------
Revert "[MIPS]Fix QNaNs in the MIPS legacy NaN encodings" (#150773)
Reverts llvm/llvm-project#139829.
We can't just randomly change the value of constants during lowering.
Fixes https://github.com/llvm/llvm-project/issues/149295.
Commit: cad5328b009aab73e68afc7b61fe7aa0af29c594
https://github.com/llvm/llvm-project/commit/cad5328b009aab73e68afc7b61fe7aa0af29c594
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A llvm/test/CodeGen/X86/late-tail-dup-computed-goto.mir
Log Message:
-----------
[X86] Add late tail duplication tests with computed gotos.
Add a new test for post-regalloc tail duplication with computed gotos to
complement llvm/test/CodeGen/X86/tail-dup-computed-goto.mir.
Commit: d532d58974d5f1ccb5c568b67321cc761742152b
https://github.com/llvm/llvm-project/commit/d532d58974d5f1ccb5c568b67321cc761742152b
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/Maintainers.md
Log Message:
-----------
[mlir] Nominate MLIR Egress category maintainers (#149487)
This is a nomination for the maintainers of the egress category within
MLIR as proposed in
https://discourse.llvm.org/t/mlir-project-maintainers/87189. As agreed
in the Project Council meeting on July 17, we are proceeding with
category nominations without waiting for lead maintainers to be
nominated.
Commit: 2adbf9e92b75fb6db9e98334419e1ae192f3575b
https://github.com/llvm/llvm-project/commit/2adbf9e92b75fb6db9e98334419e1ae192f3575b
Author: lonely eagle <2020382038 at qq.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/test/Transforms/compose-subview.mlir
Log Message:
-----------
[mlir][memref] Support test-compose-subview dynamic size (#146881)
Supports the case where the sizes of the subview op is dynamic.When
there are more for loops in the tile algorithm, multiple subviews are
performed and test-compose-subview does not work when the size operand
of the subview ops is dynamic value.
Commit: fdd7f9c61bbc476bfc6839dec3428e1dea06eacb
https://github.com/llvm/llvm-project/commit/fdd7f9c61bbc476bfc6839dec3428e1dea06eacb
Author: Yi-Chi Lee <55395582+yichi170 at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
Log Message:
-----------
[mlir][tosa] Allow scalar int8 tensors to be unranked (#150731)
This PR fixes #150519
Commit: d4f9c11e06d5b38e2c110b3e42c0637b52422346
https://github.com/llvm/llvm-project/commit/d4f9c11e06d5b38e2c110b3e42c0637b52422346
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-no-masking.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
Log Message:
-----------
[RISCV][LV] Use predicate-else-scalar-epilogue flag in tail folding tests. NFC
Align the tests closer with what we eventually intend to enable by
default on RISC-V by using
-prefer-predicate-over-epilogue=predicate-else-scalar-epilogue, instead
of dropping vectorization entirely with predicate-dont-vectorize.
Also adjust the non-EVL run lines so that they use
-prefer-predicate-over-epilogue=scalar-epilogue instead of
-force-tail-folding-style=none, so we're only using testing one type of
flag instead of a combination of two.
Commit: 2ad4e93dedbb9936f03bb7035dccebb1cf4a75cb
https://github.com/llvm/llvm-project/commit/2ad4e93dedbb9936f03bb7035dccebb1cf4a75cb
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
A llvm/test/CodeGen/AMDGPU/gfx1250-scratch-scope-se.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
Log Message:
-----------
[AMDGPU][gfx1250] Use SCOPE_SE for stores that may hit scratch (#150586)
Commit: 6c2caa63d7d2929765199a66a61660f5372f01c7
https://github.com/llvm/llvm-project/commit/6c2caa63d7d2929765199a66a61660f5372f01c7
Author: Michael Jabbour <michael.jabbour at sonarsource.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Serialization/ASTReader.cpp
A clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
Log Message:
-----------
[Serialization] Fix crash while lazy-loading template specializations (#150430)
## Problem
This is a regression that was observed in Clang 20 on modules code that
uses import std.
The lazy-loading mechanism for template specializations introduced in
#119333 can currently load additional nodes when called multiple times,
which breaks assumptions made by code that iterates over
specializations. This leads to iterator invalidation crashes in some
scenarios.
The core issue occurs when:
1. Code calls `spec_begin()` to get an iterator over template
specializations. This invokes `LoadLazySpecializations()`.
2. Code then calls `spec_end()` to get the end iterator.
3. During the `spec_end()` call, `LoadExternalSpecializations()` is
invoked again.
4. This can load additional specializations for certain cases,
invalidating the begin iterator returned in 1.
I was able to trigger the problem when constructing a ParentMapContext.
The regression test demonstrates two ways to trigger the construction of
the ParentMapContext on problematic code:
- The ArrayBoundV2 checker
- Unsigned overflow detection in sanitized builds
Unfortunately, simply dumping the ast (e.g. using `-ast-dump-all`)
doesn't trigger the crash because dumping requires completing the redecl
chain before iterating over the specializations.
## Solution
The fix ensures that the redeclaration chain is always completed
**before** loading external specializations by calling
`CompleteRedeclChain(D)` at the start of
`LoadExternalSpecializations()`. The idea is to ensure that all
`SpecLookups` are fully known and loaded before the call to
`LoadExternalSpecializationsImpl()`.
Commit: 51194a4ae238f41c4f65730c95416e312dc369cb
https://github.com/llvm/llvm-project/commit/51194a4ae238f41c4f65730c95416e312dc369cb
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
Log Message:
-----------
AMDGPU: Fix test to stop pipeline after VGPR allocation (#150809)
This test seems to have been incorrectly updated after
ac0f64f06d67a93817ccd9a3c529ad40920115c9. Previously it
was testing the state after VGPR allocation; after the content
was updated for the "greedy,1" which now does not correspend
to the VGPR allocation. The spills implied by the test name
aren't present (they also appear to still be missing for gfx90a).
Commit: 9c606ae0c0ae051144ff26832ccd5dcd9c94e678
https://github.com/llvm/llvm-project/commit/9c606ae0c0ae051144ff26832ccd5dcd9c94e678
Author: Yuvaraj Venkatesh <yuvaraj.venkatesh at arm.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/test/Conversion/TosaToSCF/tosa-to-scf.mlir
M mlir/test/Dialect/Tosa/availability.mlir
A mlir/test/Dialect/Tosa/controlflow.mlir
M mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
Log Message:
-----------
[MLIR][TOSA] Update IfOp print/parse to support ranked condition tens… (#149791)
…or and optional block arguments
This change extends the TOSA `cond_if` operation's print and parse logic
to handle the following:
- The condition operand may now have any rank, as long as the total
number of elements sums to 1.
%1 = tosa.cond_if %0 : tensor<1x1x1xi1> -> tensor<4xf32>
- The `then` and `else` regions can now include optional block
arguments. The updated IR syntax reflects this:
%1 = tosa.cond_if %0 (%arg2 = %arg0, %arg3 = %arg1) : tensor<i1>
(tensor<4xf32>, tensor<4xf32>) -> tensor<4xf32>
- Removed parentheses around single result types in the printed
representation, aligning with the `AsmPrinter` conventions.
Co-authored-by: Luke Hutton <luke.hutton at arm.com>
Commit: c4a0125f46319b7ffa6e68834eaaa659307b44ca
https://github.com/llvm/llvm-project/commit/c4a0125f46319b7ffa6e68834eaaa659307b44ca
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/docs/GettingStarted.rst
Log Message:
-----------
[llvm][docs] Update list of working Linux host platforms (#149503)
RISC-V and LoongArch to my knowledge are quite well supported.
Commit: 3308fc4acda46af459b9fe69bab2f011a19d2286
https://github.com/llvm/llvm-project/commit/3308fc4acda46af459b9fe69bab2f011a19d2286
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/utils/gn/build/write_vcsrevision.py
Log Message:
-----------
[gn build] Use shutil.which to find git in write_vcsrevision.py (#142570)
Relates to https://github.com/llvm/llvm-project/issues/54337
This is just a comment referencing distutils but even so, we can ditch
the custom which and use the one Python 3.3 added. Which has the .bat
bug fixed:
https://docs.python.org/3.3/library/shutil.html#shutil.which
I tested this on Windows:
```
C:\Users\tcwg>touch foo.bat
C:\Users\tcwg>python
Python 3.11.9 (tags/v3.11.9:de54cf5, Apr 2 2024, 12:24:25) [MSC v.1938 64 bit (ARM64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
>>> import shutil
>>> shutil.which("foo")
'.\\foo.BAT'
```
I just ran the script manually and got reasonable results, I haven't
done a GN build.
Commit: 98ec927fcb8697a6f6df64298835917aa1d0d3c1
https://github.com/llvm/llvm-project/commit/98ec927fcb8697a6f6df64298835917aa1d0d3c1
Author: Martin Storsjö <martin at martin.st>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/source/Host/windows/MainLoopWindows.cpp
Log Message:
-----------
[lldb] [Windows] Silence format string warnings (#150886)
This fixes the following build warnings in a mingw environment:
../../lldb/source/Host/windows/MainLoopWindows.cpp:226:50: warning:
format specifies type 'int' but the argument has type
'IOObject::WaitableHandle' (aka 'void *') [-Wformat]
226 | "File descriptor %d already monitored.", waitable_handle);
| ~~ ^~~~~~~~~~~~~~~
../../lldb/source/Host/windows/MainLoopWindows.cpp:239:49: warning:
format specifies type 'int' but the argument has type 'DWORD' (aka
'unsigned long') [-Wformat]
238 | error = Status::FromErrorStringWithFormat("Unsupported file type
%d",
| ~~
| %lu
239 | file_type);
| ^~~~~~~~~
2 warnings generated.
Commit: bd2b7eb23918b618ab8fb9963ea0533522a6c16a
https://github.com/llvm/llvm-project/commit/bd2b7eb23918b618ab8fb9963ea0533522a6c16a
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
Log Message:
-----------
[analyzer] Conversion to CheckerFamily: DereferenceChecker (#150442)
This commit converts the class DereferenceChecker to the checker family
framework and simplifies some parts of the implementation.
This commit is almost NFC, the only technically "functional" change is
that it removes the hidden modeling checker `DereferenceModeling` which
was only relevant as an implementation detail of the old checker
registration procedure.
Commit: 5ad7ef6fec63de35a02526bc3e7fce648ab486e2
https://github.com/llvm/llvm-project/commit/5ad7ef6fec63de35a02526bc3e7fce648ab486e2
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[bazel] add new cmakedefine from #147418 to bazel config file (#150912)
This PR adds the `#cmakedefine LLVM_ENABLE_PROFCHECK` in
`llvm-config.h.cmake` introduced in #147418 to the copy of that file in
the bazel overlay directory such that that define is also avalable in
the bazel build. Not having the define broke the bazel build.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 1afb42bc10efcf033c1e8b0fda90d1e2956002fa
https://github.com/llvm/llvm-project/commit/1afb42bc10efcf033c1e8b0fda90d1e2956002fa
Author: Adar Dagan <101581112+Adar-Dagan at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc.ll
Log Message:
-----------
[InstCombine] Let shrinkSplatShuffle act on vectors of different lengths (#148593)
shrinkSplatShuffle in InstCombine would only move truncs up through
shuffles if those shuffles inputs had the exact same type as their
output, this PR weakens this constraint to only requiring that the
scalar type of the input and output match.
Commit: 2f2df751d453566ab70fd02b9a019cd66af76bc6
https://github.com/llvm/llvm-project/commit/2f2df751d453566ab70fd02b9a019cd66af76bc6
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
Log Message:
-----------
[LV] Use SCEV::getElementCount in selectEpilogueVectorizationFactor. (#150018)
Follow-up to https://github.com/llvm/llvm-project/pull/149789 to use
getElementCount to compute the remaining iterations in
selectEpilogueVectrizationFactor.
PR: https://github.com/llvm/llvm-project/pull/150018
Commit: d803c61aca0d796675d0045fe05d698e6db85e52
https://github.com/llvm/llvm-project/commit/d803c61aca0d796675d0045fe05d698e6db85e52
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
Log Message:
-----------
[Clang] Fix a regression introduced by #147046 (#150893)
Static functions have an implicit object argument during deduction.
Commit: a2fcf18d71b3c3d4e7b52e558124eae8ae7c4a83
https://github.com/llvm/llvm-project/commit/a2fcf18d71b3c3d4e7b52e558124eae8ae7c4a83
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/DebugLog.h
M llvm/unittests/Support/DebugLogTest.cpp
Log Message:
-----------
Fix `DEBUGLOG_WITH_STREAM_TYPE_AND_FILE` broken in #150750 (#150920)
This PR fixes the `DEBUGLOG_WITH_STREAM_TYPE_AND_FILE` macro that got
broken in #150750. That PR introduces a more sophisitaced version of
that macro and refactored some code in that process, making the
`getShortFileName` a free function instead of a class member function,
but did not adapt this macro to the refactored code.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 1b657c6d6bcf6749fd37a332c7a7d8e281cd7be3
https://github.com/llvm/llvm-project/commit/1b657c6d6bcf6749fd37a332c7a7d8e281cd7be3
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFC] Register profiled functions once (#150622)
While registering profiled functions, only handle each address once.
Speeds up `DataAggregator::preprocessProfile`.
Test Plan:
For intermediate size pre-aggregated profile (10MB), reduces parsing
time from ~0.41s down to ~0.16s.
Commit: e30e644266fbc9ba638ee2c6aa23b5691397163f
https://github.com/llvm/llvm-project/commit/e30e644266fbc9ba638ee2c6aa23b5691397163f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clangd/refactor/tweaks/BUILD.gn
M llvm/utils/gn/secondary/clang-tools-extra/clangd/unittests/BUILD.gn
Log Message:
-----------
[gn build] Port 4072a6b85bee
Commit: a74167dfdc18fa85f195ea01a3013804dc7aeb5d
https://github.com/llvm/llvm-project/commit/a74167dfdc18fa85f195ea01a3013804dc7aeb5d
Author: b10902118 <b10902118 at ntu.edu.tw>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
Log Message:
-----------
[lldb][Arm32] Remove unused watchpoint refcount. (#150770)
Already removed in NativeRegisterContextDBReg.h
Commit: 5452c3888c3a9e43fd3e96d1d5647b58b96398df
https://github.com/llvm/llvm-project/commit/5452c3888c3a9e43fd3e96d1d5647b58b96398df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/ssubo.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
Log Message:
-----------
[AMDGPU] Regenerate add/sub overflow tests
Add GFX10/11 test coverage to match saddo.ll
Commit: e19743bd6cce4a3c7c84435faf855294d39ac271
https://github.com/llvm/llvm-project/commit/e19743bd6cce4a3c7c84435faf855294d39ac271
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
Log Message:
-----------
AMDGPU: Remove unused TargetPassConfig include from attributor (#150892)
Commit: 92d09245d61dce80d3e68a27cc34d5fc6f062c93
https://github.com/llvm/llvm-project/commit/92d09245d61dce80d3e68a27cc34d5fc6f062c93
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
Log Message:
-----------
[VPlan] Fall back to scalar epilogue if possible when EVL isn't legal (#150908)
When enabling predicated vectorization by default on RISC-V, there's a
bunch of performance regressions on llvm-test-suite's LoopInterleaving
microbenchmarks:
https://lnt.lukelau.me/db_default/v4/nts/788?show_delta=yes&show_previous=yes&show_stddev=yes&show_mad=yes&show_all=yes&show_all_samples=yes&show_sample_counts=yes&show_small_diff=yes&num_comparison_runs=0&test_filter=&test_min_value_filter=&aggregation_fn=min&MW_confidence_lv=0.05&compare_to=791&baseline=730&submit=Update
Most of these regressions stem from the interleave_count pragma, which
causes EVL tail folding interleaving to be unsupported (since we don't
support unrolling with EVL)
Currently if DataWithEVL isn't legal we fall back to DataWithoutLaneMask
as the tail folding style, but this is very slow on RISC-V.
The order of performance roughly is something like:
DataWithEVL > None (scalar-epilogue) > Data[WithoutLaneMask]
So this patch tries to prevent the regressions by falling back to a
scalar epilogue where possible, i.e. the existing vectorization we have
today. Not we may still need to fall back to DataWithoutLaneMask, e.g.
if the trip count is low etc or it's forced by
-prefer-predicate-over-epilogue=predicate-dont-vectorize.
Commit: 6ccc9e559da8d0f07e496d375dbc02bc441e60d9
https://github.com/llvm/llvm-project/commit/6ccc9e559da8d0f07e496d375dbc02bc441e60d9
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/late-taildup-computed-goto.ll
Log Message:
-----------
[AArch64] Add taildup test with computed gotos.
Add a test case showing missed optimizations from early taildup with
computed gotos for https://github.com/llvm/llvm-project/pull/150911.
Commit: 9d642b0ec806d13002e2f0b50091ca9656b238e5
https://github.com/llvm/llvm-project/commit/9d642b0ec806d13002e2f0b50091ca9656b238e5
Author: Anchu Rajendran S <asudhaku at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
A flang/test/Lower/OpenMP/atomic-control-options.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
M mlir/test/Dialect/OpenMP/ops.mlir
Log Message:
-----------
[flang][MLIR][OpenMP][llvm]Atomic Control Support (#150860)
Commit: 5dc9937ea910f807d3e7325669053c5740545875
https://github.com/llvm/llvm-project/commit/5dc9937ea910f807d3e7325669053c5740545875
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Improve starting indices for GPU allocation (#150432)
Summary:
The slots in this allocation scheme are statically allocated. All sizes
share the same array of slots, but are given different starting
locations to space them apart. The previous implementation used a
trivial linear slice. This is inefficient because it provides the more
likely allocations (1-1024 bytes) with just as much space as a highly
unlikely one (1 MiB).
This patch uses a cubic easing function to gradually shrink the gaps.
For example, we used to get around 700 free slots for a 16 byte
allocation, now we get around 2100 before it starts encroaching on the
32 byte allocation space. This could be improved further, but I think
this is sufficient.
Commit: a63bbf2f1e0d1e1367fb111290ba8d652572d724
https://github.com/llvm/llvm-project/commit/a63bbf2f1e0d1e1367fb111290ba8d652572d724
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprObjC.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
A clang/test/SemaObjC/attr-nodiscard.m
A clang/test/SemaObjCXX/attr-nodiscard.mm
Log Message:
-----------
[clang] Diagnose [[nodiscard]] return types in Objective-C++ (#142541)
My solution was to copy-paste getUnusedResultAttr and
hasUnusedResultAttr from CallExpr into ObjCMessageExpr too.
Fixes #141504
Commit: c8a091e1b65bcb523c3327b85a2442be61659a87
https://github.com/llvm/llvm-project/commit/c8a091e1b65bcb523c3327b85a2442be61659a87
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/include/lldb/Core/ModuleList.h
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
M lldb/source/Target/InstrumentationRuntime.cpp
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb][NFC] Use IterationAction for ModuleList::ForEach callbacks (#150930)
Commit: a6532c2adac5c2d2ba67046bdc437be6a063d75d
https://github.com/llvm/llvm-project/commit/a6532c2adac5c2d2ba67046bdc437be6a063d75d
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
Log Message:
-----------
[AMDGPU][gfx12] Clean-up implementation of waits before SCOPE_SYS stores (#150587)
We can do it all in finalizeStore if we ensure it always sees the
stores.
For that, I needed to fix a hidden bug where finalizeStore wouldn't see
all stores
because sometimes the iterator got out-of-sync and didn't point to the
store anymore.
This also removes the waits before volatile LDS stores which never
needed it, that was a bug until now.
Commit: 01d4b8e9a6aea5decfac07a81b40b7db29e8bd8f
https://github.com/llvm/llvm-project/commit/01d4b8e9a6aea5decfac07a81b40b7db29e8bd8f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
A llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
Log Message:
-----------
[FunctionAttrs] Add additional tests (NFC)
Add test coverage for noalias, and for unknown function calls.
Commit: 904de95e713b09fa0ba86c53bf62a195e5036c00
https://github.com/llvm/llvm-project/commit/904de95e713b09fa0ba86c53bf62a195e5036c00
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
Log Message:
-----------
[clang][bytecode][NFC] Fix a few clang-tidy complaints (#150940)
Commit: 166493d6927026c4933be82de81adabc9751c0e3
https://github.com/llvm/llvm-project/commit/166493d6927026c4933be82de81adabc9751c0e3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Transforms/FunctionAttrs/sendmsg-nocallback.ll
Log Message:
-----------
[FunctionAttrs] Fix function signature mismatch in test (NFC)
There was a return type mismatch, which unintentionally blocked
attribtue inference in this test.
Commit: 9975dfdf800d9881b704a988bc004ec81639fe67
https://github.com/llvm/llvm-project/commit/9975dfdf800d9881b704a988bc004ec81639fe67
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
Log Message:
-----------
[libc] Small performance improvements to GPU allocator
Summary:
This slightly increases performance in a few places. First, we
optimistically assume the cached slab has ample space which lets us
avoid the atomic load on the highly contended counter in the case that
it is likely to succeed. Second, we no longer call `match_any` twice as
we can calculate the uniform slabs at the moment we return them.
Thirdly, we always choose a random index on a 32-bit boundary. This
means that in the fast case we fulfil the allocation with a single
`fetch_or`, and in the other case we quickly move to the free bit.
This nets around a 7.75% improvement for the fast path case.
Commit: a7649007ef269c397b5d474d1b5f4432da96d1de
https://github.com/llvm/llvm-project/commit/a7649007ef269c397b5d474d1b5f4432da96d1de
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
Log Message:
-----------
[libc] Rework match any use in hot allocate bitfield loop
Summary:
We previously used `match_all` as the shortcut to figure out which
threads were destined for which slots. This lowers to a for-loop, which
even if it often only executes once still causes some slowdown
especially when divergent. Instead we use a single ballot call and then
calculate it.
Here the ballot tells us which lanes are the first in a block, either
the starting index or the barrier for a new 32-bit int. We then use some
bit magic to figure out for each lane ID its closest leader. For the
length we simply use the length calculated by the leader of the
remaining bits to be written. This removes the match any and the
shuffle, which improves the minimum number of cycles this takes by about
5%.
Commit: a1a610a1285fe4cde9f5f6a4a759da95266bdcb6
https://github.com/llvm/llvm-project/commit/a1a610a1285fe4cde9f5f6a4a759da95266bdcb6
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Increase the number of times we wait on a slab
Summary:
This wait restricts how long we wait on a slab. The only reason this
isn't an infinite loop is to prevent complete deadlocks. However, this
limit was *just* on the cusp of waiting long enough for the allocation
to be done. Just increase this to a sufficiently large value, because
this limit only exists to keep the interface wait-free in the absolute
worst case scheduling scenario. This *MASSIVELY* improved performance
for mixed allocations as we no longer shuffled around creating more than
necessary.
Commit: a22d010002baf761f84d0a8fa5fcaaf6f3b1455f
https://github.com/llvm/llvm-project/commit/a22d010002baf761f84d0a8fa5fcaaf6f3b1455f
Author: Felix Weiglhofer <9267733+fweig at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Headers/opencl-c-base.h
Log Message:
-----------
opencl: Ensure printf symbol is not mangled. (#150210)
Fixes #122453.
Commit: 33cc58f46f0c163d4bea2c7212b3830b3adf99b3
https://github.com/llvm/llvm-project/commit/33cc58f46f0c163d4bea2c7212b3830b3adf99b3
Author: Dan Blackwell <dan_blackwell at apple.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/fuzzer/FuzzerFlags.def
M compiler-rt/lib/fuzzer/FuzzerOptions.h
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
A compiler-rt/test/fuzzer/SigTrapTest.cpp
A compiler-rt/test/fuzzer/sig-trap.test
Log Message:
-----------
[compiler-rt][libFuzzer] Add support for capturing SIGTRAP exits. (#149120)
Swift's FatalError raises a SIGTRAP, which currently causes the fuzzer
to exit without writing out the crashing input.
rdar://142975522
Commit: 4b1d5b8d4f4d09e9988c0f5ca4a35957bf99235e
https://github.com/llvm/llvm-project/commit/4b1d5b8d4f4d09e9988c0f5ca4a35957bf99235e
Author: Will Froom <willfroom at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/lib/Pass/Pass.cpp
Log Message:
-----------
[MLIR] Fix pipelineInitializationKey never being correctly updated (#150948)
Prior to this change `pipelineInitializationKey` would never be updated
so `initialize` would always be called even if the pipeline didn't
change
Commit: fe4f6c1a58ab4f00a88a97af01000b6783b573ee
https://github.com/llvm/llvm-project/commit/fe4f6c1a58ab4f00a88a97af01000b6783b573ee
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
Log Message:
-----------
[RISCV] Cost bf16/f16 vector non-unit memory accesses as legal without zvfhmin/zvfbfmin (#150882)
When vectorizing with predication some loops that were previously
vectorized without zvfhmin/zvfbfmin will no longer be vectorized because
the masked load/store or gather/scatter cost returns illegal.
This is due to a discrepancy where for these costs we check
isLegalElementTypeForRVV but for regular memory accesses we don't.
But for bf16 and f16 vectors we don't actually need the extension
support for loads and stores, so this adds a new function which takes
this into account.
For regular memory accesses we should probably also e.g. return an
invalid cost for i64 elements on zve32x, but it doesn't look like we
have tests for this yet.
We also should probably not be vectorizing these bf16/f16 loops to begin
with if we don't have zvfhmin/zvfbfmin and zfhmin/zfbfmin. I think this
is due to the scalar costs being too cheap. I've added tests for this in
a100f6367205c6a909d68027af6a8675a8091bd9 to fix in another patch.
Commit: 1ab04fc94c5f68ad0dc6755e3914f2895b85e720
https://github.com/llvm/llvm-project/commit/1ab04fc94c5f68ad0dc6755e3914f2895b85e720
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lld/COFF/PDB.cpp
A lld/test/COFF/pdb-empty-sec.s
Log Message:
-----------
[LLD][COFF] Allow symbols with empty chunks to have no associated output section in the PDB writer (#149523)
If a chunk is empty and there are no other non-empty chunks in the same
section, `removeEmptySections()` will remove the entire section. In this
case, use a section index of 0, as the MSVC linker does, instead of
asserting.
Commit: 8437038984c39665783a4f7445b2eb9e9bf9ce48
https://github.com/llvm/llvm-project/commit/8437038984c39665783a4f7445b2eb9e9bf9ce48
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[LoopIdiom] Add test where LCSSA needs preserving when re-using PHI (NFC)
Commit: 38cd66a6ceef5a3208367967d8537b6a7e31ebc0
https://github.com/llvm/llvm-project/commit/38cd66a6ceef5a3208367967d8537b6a7e31ebc0
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lld/COFF/Driver.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
Log Message:
-----------
[LLD][COFF] Move resolving alternate names to SymbolTable (NFC) (#149495)
Commit: 0462dfe39f82ecb9fb7c9ddb15008e590b0c2924
https://github.com/llvm/llvm-project/commit/0462dfe39f82ecb9fb7c9ddb15008e590b0c2924
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/docs/CodingStandards.rst
Log Message:
-----------
[llvm][docs] Refresh "Restrict Visibility" in Coding Standards (#150914)
No change of meaning, just formatting and an extra example to make it
easier to comprehend:
* Split separate, important points into their own paragraphs.
* Remove a contraction.
* Finally, show to to use "static" on a function. As before we just
showed why namespaces were bad, but not what you should do instead.
Commit: d26ca8b87266024546501051ccaf75cb3756aee3
https://github.com/llvm/llvm-project/commit/d26ca8b87266024546501051ccaf75cb3756aee3
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
M lldb/source/Plugins/Process/Utility/AuxVector.cpp
M lldb/source/Plugins/Process/Utility/AuxVector.h
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
Log Message:
-----------
[lldb][AArch64] Add HWCAP3 to register field detection (#145029)
This will be used to detect the presence of Arm's new Memory Tagging
store only checking feature. This commit just adds the plumbing to get
that value into the detection function.
FreeBSD has not allocated a number for HWCAP3 and already has AT_ARGV
defined as 29. So instead of attempting to read from FreeBSD processes,
I've explicitly passed 0. We don't want to be reading some other entry
accidentally.
If/when FreeBSD adds HWCAP3 we can handle it like we do for
AUXV_FREEBSD_AT_HWCAP.
No extra tests here, those will be coming with the next change for MTE
support.
Commit: fbf6271c7da20356d7b34583b3711b4126ca1dbb
https://github.com/llvm/llvm-project/commit/fbf6271c7da20356d7b34583b3711b4126ca1dbb
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
A llvm/test/DebugInfo/X86/branch-folder-dbg-after-end.mir
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
Log Message:
-----------
Reapply (2) [BranchFolding] Kill common hoisted debug instructions (#149999)
Reapply #140091.
branch-folder hoists common instructions from TBB and FBB into their
pred. Without this patch it achieves this by splicing the instructions from TBB
and deleting the common ones in FBB. That moves the debug locations and debug
instructions from TBB into the pred without modification, which is not
ideal. Debug locations are handled in #140063.
This patch handles debug instructions - in the simplest way possible, which is
to just kill (undef) them. We kill and hoist the ones in FBB as well as TBB
because otherwise the fact there's an assignment on the code path is deleted
(which might lead to a prior location extending further than it should).
There's possibly something we could do to preserve some variable locations in
some cases, but this is the easiest not-incorrect thing to do.
Note I had to replace the constant DBG_VALUEs to use registers in the test- it
turns out setDebugValueUndef doesn't undef constant DBG_VALUEs... which feels
wrong to me, but isn't something I want to touch right now.
---
Fix end-iterator-dereference and add test.
Commit: 5bcbcf8d538768c7d7a79afa8a63518479c818c2
https://github.com/llvm/llvm-project/commit/5bcbcf8d538768c7d7a79afa8a63518479c818c2
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/asinhf.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinhf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinhf.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor asinhf implementation to header-only in src/__support/math folder. (#150843)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 5f2092dae36486f428485e47b9a694463c855a4e
https://github.com/llvm/llvm-project/commit/5f2092dae36486f428485e47b9a694463c855a4e
Author: Luke Lau <luke at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
Log Message:
-----------
[RISCV][LV] Update f16/bf16 loop vectorizer tests. NFC
This fixes a failing test after the changes in #150908 affected the
result in #150882.
Commit: 4d259de2ae88fb022acc722dedd60260a870eb8b
https://github.com/llvm/llvm-project/commit/4d259de2ae88fb022acc722dedd60260a870eb8b
Author: Juan Besa <juanbesa at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
Log Message:
-----------
[clang-tidy] Add `IgnoreAliasing` option to `readability-qualified-auto check` (#147060)
`readability-qualified-auto` check currently looks at the unsugared
type, skipping any typedefs, to determine if the variable is a
pointer-type. This may not be the desired behaviour, in particular when
the type depends on compilation flags.
For example
```
#if CONDITION
using Handler = int *;
#else
using Handler = uint64_t;
#endif
```
A more common example is some implementations of `std::array` use
pointers as iterators.
This introduces the IgnoreAliasing option so that
`readability-qualified-auto` does not look beyond typedefs.
---------
Co-authored-by: juanbesa <juanbesa at devvm33299.lla0.facebook.com>
Co-authored-by: Kazu Hirata <kazu at google.com>
Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
Co-authored-by: Baranov Victor <bar.victor.2002 at gmail.com>
Commit: f9f68af4b8d5f8dd0bf8f14174b8b223fcf54c97
https://github.com/llvm/llvm-project/commit/f9f68af4b8d5f8dd0bf8f14174b8b223fcf54c97
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
A llvm/test/Transforms/LoopUnroll/Hexagon/reuse-lcssa-phi-scev-expansion.ll
Log Message:
-----------
[SCEV] Make sure LCSSA is preserved when re-using phi if needed.
If we insert a new add instruction, it may introduce a new use outside
the loop that contains the phi node we re-use. Use fixupLCSSAFormFor to
fix LCSSA form, if needed.
This fixes a crash reported in
https://github.com/llvm/llvm-project/pull/147824#issuecomment-3124670997.
Commit: 6fb8e585658ac3e0682dd9823507cea536cc8959
https://github.com/llvm/llvm-project/commit/6fb8e585658ac3e0682dd9823507cea536cc8959
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
Log Message:
-----------
AMDGPU: Disable AGPR allocation in VGPR MFMA tests (#150873)
Commit: a496a985d922e8ad1e9ef8d9ad3598a097cdfa90
https://github.com/llvm/llvm-project/commit/a496a985d922e8ad1e9ef8d9ad3598a097cdfa90
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
Log Message:
-----------
AMDGPU: Remove -stress-regalloc arguments from mfma selection tests (#150890)
I'm not really sure what the point of these was, but they originated
in the base support commit for gfx942 mfma support. These don't impact
the selection at all, so don't belong in this test. These were causing
allocation failure depending on whether or not the AGPR or VGPR form
was used.
Commit: 819f020b282f42e5ed45d8d8325cbb94ba48ef7a
https://github.com/llvm/llvm-project/commit/819f020b282f42e5ed45d8d8325cbb94ba48ef7a
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonMask.cpp
M llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
M llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp
M llvm/test/CodeGen/AArch64/preferred-function-alignment.ll
M llvm/test/CodeGen/ARM/preferred-function-alignment.ll
M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
Log Message:
-----------
Use F.hasOptSize() instead of checking optsize directly (#147348)
Commit: 0209e76fe6440bc45a9ed61b9671d9593db10957
https://github.com/llvm/llvm-project/commit/0209e76fe6440bc45a9ed61b9671d9593db10957
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/test/API/commands/register/register/aarch64_mte_ctrl_register/TestMTECtrlRegister.py
M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
M lldb/test/API/linux/aarch64/mte_core_file/core.mte
M lldb/test/API/linux/aarch64/mte_core_file/core.nomte
M lldb/test/API/linux/aarch64/mte_core_file/main.c
Log Message:
-----------
[lldb][AArch64][Linux] Show MTE store only setting in mte_ctrl (#145033)
This controls whether tag checking is performed for loads and
stores, or stores only.
It requires a specific architecture feature which we detect
with a HWCAP3 and cpuinfo feature.
Live process tests look for this and adjust expectations
accordingly, core file tests are using an updated file with
this feature enabled.
The size of the core file has increased and there's nothing
I can do about that. Could be the presence of new architecure
features or kernel changes since I last generated them.
I can generate a smaller file that has the tag segment,
but that segment does not actually contain tag data. So
that's no use.
Commit: 75b79c9238bc083cdff2d2364be40633fdf4d1ad
https://github.com/llvm/llvm-project/commit/75b79c9238bc083cdff2d2364be40633fdf4d1ad
Author: Evgenii Kudriashov <evgenii.kudriashov at intel.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lld/COFF/DLL.cpp
M lld/test/COFF/arm64ec-delayimport.test
M lld/test/COFF/arm64x-delayimport.test
M lld/test/COFF/delayimports.test
M lld/test/COFF/delayimporttables.yaml
M lld/test/COFF/giats.s
Log Message:
-----------
[LLD][X86] Match delayLoad thunk with MSVC (#149521)
Previously we saved registers in the shadow space of callee before
calling __delayLoadHelper2. Now we save arguments in the shadow space of
the caller and allocate shadow space for the callee.
Fixes #51941
---------
Co-authored-by: Benjamin Santerre <benjamin.santerre at gmail.com>
Commit: 6a45697fa63828c3ad90e2def12dae39b7e83dc5
https://github.com/llvm/llvm-project/commit/6a45697fa63828c3ad90e2def12dae39b7e83dc5
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M .github/workflows/libc-fullbuild-tests.yml
Log Message:
-----------
[CI] Downgrade to clang-20 for libc fullbuild (#150246)
To be reverted when llvm-21 issues are resolved with the precommit CIs.
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Commit: 837b2d464ff16fe0d892dcf2827747c97dd5465e
https://github.com/llvm/llvm-project/commit/837b2d464ff16fe0d892dcf2827747c97dd5465e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[[gnu::nonstring]] should work on pointers too (#150974)
Clang's current implementation only works on array types, but GCC (which
is where we got this attribute) supports it on pointers as well as
arrays.
Fixes #150951
Commit: f0c90dfcd8f2b641c17db578bdfeb9b02994e06b
https://github.com/llvm/llvm-project/commit/f0c90dfcd8f2b641c17db578bdfeb9b02994e06b
Author: Baghirov Feyruz <113597150+feyruzb at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer.cpp
M clang/docs/analyzer/checkers/unix_malloc_example.c
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
M clang/test/Analysis/Inputs/expected-plists/malloc-plist.c.plist
M clang/test/Analysis/Inputs/overloaded-delete-in-header.h
M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/NewDelete-intersections.mm
M clang/test/Analysis/NewDelete-path-notes.cpp
M clang/test/Analysis/diagnostics/dtors.cpp
M clang/test/Analysis/dtor.cpp
M clang/test/Analysis/getline-alloc.c
M clang/test/Analysis/gmalloc.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/malloc-annotations.cpp
M clang/test/Analysis/malloc-free-after-return.cpp
M clang/test/Analysis/malloc-interprocedural.c
M clang/test/Analysis/malloc-plist.c
M clang/test/Analysis/malloc-refcounted.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/new.cpp
M clang/test/Analysis/retain-count-alloc.cpp
M clang/test/Analysis/self-assign.cpp
M clang/test/Analysis/stack-frame-context-revision.cpp
M clang/test/Analysis/std-string.cpp
Log Message:
-----------
Rename 'free' in warning messages to 'release' (#150935)
Changed the warning message:
- **From**: 'Attempt to free released memory'
**To**: 'Attempt to release already released memory'
- **From**: 'Attempt to free non-owned memory'
**To**: 'Attempt to release non-owned memory'
- **From**: 'Use of memory after it is freed'
**To**: 'Use of memory after it is released'
All connected tests and their expectations have been changed
accordingly.
Inspired by [this
PR](https://github.com/llvm/llvm-project/pull/147542#discussion_r2195197922)
Commit: 701de35f67201cb39cf22bf3835c345e55014f3c
https://github.com/llvm/llvm-project/commit/701de35f67201cb39cf22bf3835c345e55014f3c
Author: enh-google <enh at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/wchar/wchar_utils.h
M libc/src/wchar/wcschr.cpp
M libc/src/wchar/wcspbrk.cpp
M libc/src/wchar/wcstok.cpp
Log Message:
-----------
[libc] Stop duplicating wcschr(). (#150661)
Three implementations of wcschr() is two too many.
Commit: b2322772f2ab97de60db906a591353a5ef77cdfe
https://github.com/llvm/llvm-project/commit/b2322772f2ab97de60db906a591353a5ef77cdfe
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Reduce reference counter to a 32-bit integer (#150961)
Summary:
This reference counter tracks how many threads are using a given slab.
Currently it's a 64-bit integer, this patch reduces it to a 32-bit
integer. The benefit of this is that we save a few registers now that we
no longer need to use two for these operations. This increases the risk
of overflow, but given that the largest value we accept for a single
slab is ~131,000 it is a long way off of the maximum of four billion or
so. Obviously we can oversubscribe the reference count by having threads
attempt to claim the lock and then try to free it, but I assert that it
is exceedingly unlikely that we will somehow have over four billion GPU
threads stalled in the same place.
A later optimization could be done to split the reference counter and
pointers into a struct of arrays, that will save 128 KiB of static
memory (as we currently use 512 KiB for the slab array).
Commit: 9c82f87aec12c77444edf04d46af4d8405becc25
https://github.com/llvm/llvm-project/commit/9c82f87aec12c77444edf04d46af4d8405becc25
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/Debug.h
M llvm/include/llvm/Support/DebugLog.h
M llvm/lib/Support/Debug.cpp
M llvm/unittests/Support/DebugLogTest.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/test/IR/test-pattern-logging-listener.mlir
Log Message:
-----------
Introduce a "log level" support for DEBUG_TYPE (#150855)
This allows to set an optional integer level for a given debug type. The
string format is `type[:level]`, and the integer is interpreted as such:
- if not provided: all debugging for this debug type is enabled.
- if >0: all debug that is < to the level is enabled.
- if 0: same as for >0 but also does not disable the other debug-types,
it acts as a negative filter.
The LDBG() macro is updated to accept an optional log level to
illustrate the feature. Here is the expected behavior:
LDBG() << "A"; // Identical to LDBG(1) << "A";
LDBG(2) << "B";
With `--debug-only=some_type`: we'll see A and B in the output.
With `--debug-only=some_type:1`: we'll see A but not B in the output.
With `--debug-only=some_type:2`: we'll see A and B in the output. (same
with any level above 2)
With `--debug-only=some_type:0`: we'll see neither A nor B in the
output, but we'll see any other logging for other debug types.
Commit: 5f20518f5b4734d01848dfe44d24aed195dc2043
https://github.com/llvm/llvm-project/commit/5f20518f5b4734d01848dfe44d24aed195dc2043
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
Log Message:
-----------
[Clang][Docs] Fix typo in clang.rst (#150907)
Commit: 496d31c8a9d69ded50e4aa7fbd5c5ba1ffd3ef2c
https://github.com/llvm/llvm-project/commit/496d31c8a9d69ded50e4aa7fbd5c5ba1ffd3ef2c
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
Reapply "[mlir][linalg] Restrict linalg.pack to not have artificial padding." (#150675) (#150680)
This reverts commit
https://github.com/llvm/llvm-project/commit/0844812b2e9d7f5ab005223443791c9287bcf5a2
with a shape fix in
https://github.com/llvm/llvm-project/commit/1db4c6b27500e686fad9e55bbbe7c7c68b246b7e
The revision restrict the `linalg.pack` op to not have artificial
padding semantics. E.g., the below is valid without the change, and it
becomes invalid with the change.
```mlir
func.func @foo(%src: tensor<9xf32>) -> tensor<100x8xf32> {
%cst = arith.constant 0.000000e+00 : f32
%dest = tensor.empty() : tensor<100x8xf32>
%pack = linalg.pack %src
padding_value(%cst : f32)
inner_dims_pos = [0]
inner_tiles = [8] into %dest
: tensor<9xf32> -> tensor<100x8xf32>
return %pack : tensor<100x8xf32>
}
```
IMO, it is a misuse if we use pack ops with artificial padding sizes
because the intention of the pack op is to relayout the source based on
target intrinsics, etc. The output shape is expected to be
`tensor<2x8xf32>`. If people need extra padding sizes, they can create a
new pad op followed by the pack op.
This also makes consumer tiling much easier because the consumer fusion
does not support artificial padding sizes. It is very hard to make it
work without using ad-hoc patterns because the tiling sizes are about
source, which implies that you don't have a core_id/thread_id to write
padding values to the whole tile.
People may have a question how why pad tiling implementation works. The
answer is that it creates an `if-else` branch to handle the case. In my
experience, it is very struggle in transformation because most of the
time people only need one side of the branch given that the tile sizes
are usually greater than padding sizes. However, the implementation is
conservatively correct in terms of semantics. Given that the
introduction of `pack` op is to serve the relayout needs better, having
the restriction makes sense to me.
Removed tests:
-
`no_bubble_up_pack_extending_dimension_through_expand_cannot_reassociate`
from `data-layout-propagation.mlir`: it is a dup test to
`bubble_up_pack_non_expanded_dims_through_expand` after we fix the
shape.
- `fuse_pack_consumer_with_untiled_extra_padding` from
`tile-and-fuse-consumer.mlir`: it was created for artificial padding in
the consumer fusion implementation.
The other changes in lit tests are just fixing the shape.
---------
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: 0121a8e4319619527c9c28bbc01c74f794cc2255
https://github.com/llvm/llvm-project/commit/0121a8e4319619527c9c28bbc01c74f794cc2255
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/tools/spirv-tools/CMakeLists.txt
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Target/SPIRV/constant.mlir
A mlir/test/Target/SPIRV/lit.local.cfg
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Reland "[mlir][spirv] Fix int type declaration duplication when serializing" (#145687)
This relands PRs #143108 and #144538.
The original PR was reverted due to a mistake that made all the mlir
tests run only if SPIRV target was enabled. This is now resolved since
enabling spirv-tools does not required SPIRV target any longer.
spirv-tools are not required by default to run SPIRV mlir tests, but
they can be optionally enabled in some SPIRV mlir test to verify that
the produced SPIRV assembly pass validation.
The other reverted PR #144685 is not longer needed and not part of this
relanding.
Original commit message:
> At the MLIR level unsigned integer and signless integers are different
types. Indeed when looking up the two types in type definition cache
they do not match.
> Hence when translating a SPIR-V module which contains both usign and
signless integers will contain the same type declaration twice
(something like OpTypeInt 32 0) which is not permitted in SPIR-V and
such generated modules fail validation.
> This patch solves the problem by mapping unisgned integer types to
singless integer types before looking up in the type definition cache.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 4f58c829fd8473b11c2e6c6ee424b2432e02fb56
https://github.com/llvm/llvm-project/commit/4f58c829fd8473b11c2e6c6ee424b2432e02fb56
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
Log Message:
-----------
[Clang] Search for 'offload-arch' only next to the clang driver (#150965)
Summary:
Previously, querying for the offload architecture tool would invoke the
user's PATH, which is bad when potentially using the driver from a
direct path. This patch change this to *only* consider the
`offload-arch` that's supposed to live next to the driver executable.
Now we will no longer pick up a potentially conflicting version of this
tool and it should always be found (Since it's a clang tool that's
installazed alongside the driver)
Commit: fc2850fc7657c2ac8bff48818e797929f46168fc
https://github.com/llvm/llvm-project/commit/fc2850fc7657c2ac8bff48818e797929f46168fc
Author: Alexander Richardson <alexrichardson at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2VecTest] Avoid magic constants
Instead make the members of Vocabulary public. This was causing test
failures with https://github.com/llvm/llvm-project/pull/139357.
Reviewed By: svkeerthy, boomanaiden154
Pull Request: https://github.com/llvm/llvm-project/pull/150878
Commit: c03b0dd9f4d8750437500931b6e5c4ba1a6eb2ad
https://github.com/llvm/llvm-project/commit/c03b0dd9f4d8750437500931b6e5c4ba1a6eb2ad
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/TargetParser/Triple.h
M llvm/lib/TargetParser/Triple.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
Log Message:
-----------
Add MTIA and META to triple (#150236)
Ref:
https://ai.meta.com/blog/next-generation-meta-training-inference-accelerator-AI-MTIA/
This PR contains
1. MTIA: Meta Training and Inference Accelerator as Environment.
2. Meta as the vendor.
### Testing
Added a unittest for the relevant changes
### Reviewers
@clayborg , @jeffreytan81 , @Jlalond
Commit: 2368be38a10c4b9cbad01927fe3338fd08b42751
https://github.com/llvm/llvm-project/commit/2368be38a10c4b9cbad01927fe3338fd08b42751
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/test/Driver/hip-binding.hip
Log Message:
-----------
[HIP] Always respect `--gpu-bundle-output` in the new driver (#150989)
Summary:
This is a bit of an awkward transition point for the new and old
drivers. Previously AMDGPU uses this to generate offloading bundles, but
the new driver much prefers to output the file itself. This patch
changes the behavior to always respect `--gpu-bundle-output` instead of
having it be the default behavior. This means that we effectively get to
override the default new driver behavior with this flag now. This should
hoepfully fix some errors in the downstream comgr tests.
Commit: 522ac23609abc8222dc6314e361aabd046fd0494
https://github.com/llvm/llvm-project/commit/522ac23609abc8222dc6314e361aabd046fd0494
Author: Jasmine Tang <jjasmine at igalia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fnma.ll
Log Message:
-----------
[WebAssembly] Add pattern for relaxed nmadd (#150684)
Following footstep of https://github.com/llvm/llvm-project/pull/147487
(support for madd), this PR adds support for nmadd.
https://github.com/llvm/llvm-project/issues/55932 tracks this
Commit: 3f3fac8478516ab340d24c8c4f3a5b0c9fd7ee41
https://github.com/llvm/llvm-project/commit/3f3fac8478516ab340d24c8c4f3a5b0c9fd7ee41
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
Log Message:
-----------
[mlir][linalg] Enable pack consumer fusion for all perfect tiling cases. (#150672)
It was disabled because there may be artificial padding. After [refining the pack op semantics](https://github.com/llvm/llvm-project/commit/773e158c64735a80b814f20be6b959d9577531f8),
we can assume that there is no artificial padding. Thus, the check can
be removed, and we can unconditionally enable the consumer fusion if it
is a perfect tiling case.
Signed-off-by: hanhanW <hanhan0912 at gmail.com>
Commit: ac31d64a64e8a648f6834f4cf9de10c56c8d1083
https://github.com/llvm/llvm-project/commit/ac31d64a64e8a648f6834f4cf9de10c56c8d1083
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lld/COFF/SymbolTable.cpp
A lld/test/COFF/alternatename-alias.s
A lld/test/COFF/alternatename-antidep.s
A lld/test/COFF/alternatename-lib.s
M lld/test/COFF/arm64ec-altnames.s
Log Message:
-----------
[LLD][COFF] Avoid resolving symbols with -alternatename if the target is undefined (#149496)
This change fixes an issue with the use of `-alternatename` in the MSVC
CRT on ARM64EC, where both mangled and demangled symbol names are
specified. Without this patch, the demangled name could be resolved to
an anti-dependency alias of the target. Since chaining anti-dependency
aliases is not allowed, this results in an undefined symbol.
The root cause isn't specific to ARM64EC, it can affect other targets as
well, even when anti-dependency aliases aren't involved. The
accompanying test case demonstrates a scenario where the symbol could be
resolved from an archive. However, because the archive member is pulled
in after the first pass of alternate name resolution, and archive
members don't override weak aliases, eager resolution would incorrectly
skip it.
Commit: eba0c574116c45392fdd6d581fbb94be29756341
https://github.com/llvm/llvm-project/commit/eba0c574116c45392fdd6d581fbb94be29756341
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[llvm][utils] Add summary formatter for SmallBitVector (#150542)
Originally implemented in https://github.com/swiftlang/swift/pull/29014.
I've made a couple changes:
1. Use the target's address size, not lldb
2. Replaced the loop with a format string
Commit: 741df45bc351b4ce0bf9bf2c879b0bb4a58bf206
https://github.com/llvm/llvm-project/commit/741df45bc351b4ce0bf9bf2c879b0bb4a58bf206
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mbsnrtowcs.cpp
A libc/src/wchar/mbsnrtowcs.h
A libc/src/wchar/mbsrtowcs.cpp
A libc/src/wchar/mbsrtowcs.h
A libc/src/wchar/mbstowcs.cpp
A libc/src/wchar/mbstowcs.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mbsnrtowcs_test.cpp
A libc/test/src/wchar/mbsrtowcs_test.cpp
A libc/test/src/wchar/mbstowcs_test.cpp
Log Message:
-----------
[libc] Reland #149423 "wchar string conversion functions mb to wc" (#150667)
Added missing includes in the test files for null check
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 35693daa705e920036f1183091663158c587735b
https://github.com/llvm/llvm-project/commit/35693daa705e920036f1183091663158c587735b
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/test/CodeGenCUDA/bf16.cu
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/aggregate-return.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/i128-param.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/idioms.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
Log Message:
-----------
[NVPTX] Fix v2i8 call lowering, use generic ld/st nodes for call params (#146930)
Commit: 0efcb83626362213fb6cc99c4af42a93e74e6afe
https://github.com/llvm/llvm-project/commit/0efcb83626362213fb6cc99c4af42a93e74e6afe
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/docs/LanguageExtensions.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/test/Headers/__cpuidex_conflict.c
A clang/test/Preprocessor/builtin_aux_info.cpp
Log Message:
-----------
[Clang] Reland '__has_builtin should return false for aux triple builtins' (#126324)
Reland https://github.com/llvm/llvm-project/pull/121839 based on the
results of the Discourse discussion
[here](https://discourse.llvm.org/t/rfc-has-builtin-behavior-on-offloading-targets/84964).
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 33465bb2bb75f26b7ad42ab87ccb2464c0245476
https://github.com/llvm/llvm-project/commit/33465bb2bb75f26b7ad42ab87ccb2464c0245476
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/docs/Dialects/Vector.md
M mlir/docs/Tutorials/transform/Ch0.md
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/int-range-interface.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/GPU/Vulkan/vector-interleave.mlir
M mlir/test/Integration/GPU/Vulkan/vector-shuffle.mlir
Log Message:
-----------
[mlir][Vector] Remove `vector.extractelement` and `vector.insertelement` ops (#149603)
This PR removes `vector.extractelement` and `vector.insertelement` ops
from the code base in favor of the `vector.extract` and `vector.insert`
counterparts.
See RFC:
https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops
Commit: 18302d02fb4026002e7b0cf950c99e0d44573f4e
https://github.com/llvm/llvm-project/commit/18302d02fb4026002e7b0cf950c99e0d44573f4e
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-new-mlir-op-builder.cpp
Log Message:
-----------
[clang-tidy][mlir] Make rewrite more conservative. (#150757)
Don't create a fix where object invoked on is a temporary object as
create method requires a reference.
Commit: ae0614de05ac4278b80a02ae49f657c8ce1db13b
https://github.com/llvm/llvm-project/commit/ae0614de05ac4278b80a02ae49f657c8ce1db13b
Author: Paulius Velesko <pvelesko at pglc.io>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/HIPSPV.cpp
A clang/test/Driver/hipspv-link-static-library.hip
Log Message:
-----------
HIPSPV: Unbundle SDL (#136412)
This fixes the issue of rdc linking static libraries with device code
https://github.com/CHIP-SPV/chipStar/issues/984
---------
Co-authored-by: Henry Linjamäki <henry.linjamaki at gmail.com>
Commit: 7ca23754c486a8ed5b6739456a4562bc09909913
https://github.com/llvm/llvm-project/commit/7ca23754c486a8ed5b6739456a4562bc09909913
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/pthread_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/pthread_barrier_t.h
A libc/hdr/types/pthread_barrierattr_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__barrier_type.h
A libc/include/llvm-libc-types/pthread_barrier_t.h
A libc/include/llvm-libc-types/pthread_barrierattr_t.h
M libc/include/pthread.yaml
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/barrier.cpp
A libc/src/__support/threads/linux/barrier.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_barrier_destroy.cpp
A libc/src/pthread/pthread_barrier_destroy.h
A libc/src/pthread/pthread_barrier_init.cpp
A libc/src/pthread/pthread_barrier_init.h
A libc/src/pthread/pthread_barrier_wait.cpp
A libc/src/pthread/pthread_barrier_wait.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_barrier_test.cpp
Log Message:
-----------
[libc] Implement barriers for pthreads (#148948)
Implemented barrier synchronization for pthreads
- Uses condition variables internally for platform independence
(platform-specific work is handled by the condition variable
implementation)
- Does NOT currently handle barrierattr pshared, this is a goal for a
future patch
Commit: 82ad67b13850599275f296a3e8cb16481be463ff
https://github.com/llvm/llvm-project/commit/82ad67b13850599275f296a3e8cb16481be463ff
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv64.ll
Log Message:
-----------
[RISCV] Rewrite vlseg tests to avoid riscv.tuple.extract [nfc] (#151003)
Motivated by https://github.com/llvm/llvm-project/pull/150049, we can
directly return the tuple instead of extracting one segment.
(I wrote a quick script to rewrite these; this wasn't done by hand.)
Commit: 2762a079ee7d676a1026b15b445f75365832b2be
https://github.com/llvm/llvm-project/commit/2762a079ee7d676a1026b15b445f75365832b2be
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/test/CIR/CodeGen/complex-cast.cpp
Log Message:
-----------
[CIR] Implement LValueBitcast for ComplexType (#150668)
This change adds support for LValueBitcast for ComplexType
https://github.com/llvm/llvm-project/issues/141365
Commit: 5846381133aa001496833310aa26d52a132b6b95
https://github.com/llvm/llvm-project/commit/5846381133aa001496833310aa26d52a132b6b95
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
Log Message:
-----------
[RISCV] Move definitions of decodeZcmpRlist/decodeXqccmpRlistS0 to their declarations. NFC
These don't need anything from RISCVDisassemblerTables.inc so we
can define them earlier.
Commit: a4a0832899303d989772340404a01f6a4f1f6c99
https://github.com/llvm/llvm-project/commit/a4a0832899303d989772340404a01f6a4f1f6c99
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
R libc/hdr/pthread_macros.h
M libc/hdr/types/CMakeLists.txt
R libc/hdr/types/pthread_barrier_t.h
R libc/hdr/types/pthread_barrierattr_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
R libc/include/llvm-libc-types/__barrier_type.h
R libc/include/llvm-libc-types/pthread_barrier_t.h
R libc/include/llvm-libc-types/pthread_barrierattr_t.h
M libc/include/pthread.yaml
M libc/src/__support/threads/linux/CMakeLists.txt
R libc/src/__support/threads/linux/barrier.cpp
R libc/src/__support/threads/linux/barrier.h
M libc/src/pthread/CMakeLists.txt
R libc/src/pthread/pthread_barrier_destroy.cpp
R libc/src/pthread/pthread_barrier_destroy.h
R libc/src/pthread/pthread_barrier_init.cpp
R libc/src/pthread/pthread_barrier_init.h
R libc/src/pthread/pthread_barrier_wait.cpp
R libc/src/pthread/pthread_barrier_wait.h
M libc/test/integration/src/pthread/CMakeLists.txt
R libc/test/integration/src/pthread/pthread_barrier_test.cpp
Log Message:
-----------
Revert "[libc] Implement barriers for pthreads" (#151014)
Reverts llvm/llvm-project#148948
Commit: 1381ad497b9a6d3da630cbef53cbfa9ddf117bb6
https://github.com/llvm/llvm-project/commit/1381ad497b9a6d3da630cbef53cbfa9ddf117bb6
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
R libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/wchar/CMakeLists.txt
R libc/src/wchar/mbsnrtowcs.cpp
R libc/src/wchar/mbsnrtowcs.h
R libc/src/wchar/mbsrtowcs.cpp
R libc/src/wchar/mbsrtowcs.h
R libc/src/wchar/mbstowcs.cpp
R libc/src/wchar/mbstowcs.h
M libc/test/src/wchar/CMakeLists.txt
R libc/test/src/wchar/mbsnrtowcs_test.cpp
R libc/test/src/wchar/mbsrtowcs_test.cpp
R libc/test/src/wchar/mbstowcs_test.cpp
Log Message:
-----------
Revert "[libc] Reland #149423 "wchar string conversion functions mb to wc"" (#151016)
Reverts llvm/llvm-project#150667
Commit: 6107e3aa229368190207093298c2ac1ec5eec7c0
https://github.com/llvm/llvm-project/commit/6107e3aa229368190207093298c2ac1ec5eec7c0
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libcxx] Install runner last when building CI containers
This patch changes when we install the GHA runner in the CI containers. Instead
of having it in the base image, we install it last. This will enable a follow up
patch that will do some setup enabling building the full container image with an
existing base image, thus enabling updating the GHA runner without modifying the
important bits.
Reviewers: EricWF, ldionne
Reviewed By: ldionne
Pull Request: https://github.com/llvm/llvm-project/pull/148072
Commit: b33f9f64c7e7fbc92db2413dcac6f650ddebf80d
https://github.com/llvm/llvm-project/commit/b33f9f64c7e7fbc92db2413dcac6f650ddebf80d
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-containers.yml
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
Log Message:
-----------
[libcxx] Enable installing new runner binary on existing container
This patch does some refactoring to enable installing a new GHA runner binary
into an existing libcxx image. We achieve this by pushing the base image to the
registry and enabling control over the base image used for building the actions
image. This will always build and push both images even if an existing image is
being used for the actions image, but this should not impact anything as the
SHAs are pinned everywhere and space/build time is not a large concern.
Reviewers: ldionne, EricWF, #reviewers-libcxx
Reviewed By: ldionne
Pull Request: https://github.com/llvm/llvm-project/pull/148073
Commit: 30532c13d2fb592af9cb651f6571beca4b48b705
https://github.com/llvm/llvm-project/commit/30532c13d2fb592af9cb651f6571beca4b48b705
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/secondary.h
Log Message:
-----------
[scudo] Fix secondary caching for mte (#150156)
The current code always unmaps a secondary allocation when MTE is
enabled. Fix this to match the comment, namely only unmap if MTE was
enabled and is no longer enabled after acquiring the lock.
In addition, allow quaratine to work in the secondary even if MTE is not
enabled.
Commit: 88389cce5381b3386c8fe1c45c33390f69a726e9
https://github.com/llvm/llvm-project/commit/88389cce5381b3386c8fe1c45c33390f69a726e9
Author: Aiden Grossman <aidengrossman at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
Log Message:
-----------
[CI][Github] Bump CI Container Runner to v2.327.1
This came out a couple days ago. Upgrading to be proactive.
Commit: ea480cc665a427cfaf09d15fea57c2a6bc1d4f93
https://github.com/llvm/llvm-project/commit/ea480cc665a427cfaf09d15fea57c2a6bc1d4f93
Author: satyanarayana reddy janga <satyajanga at fb.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
Log Message:
-----------
[lldb] support ieee_single and ieee_double gdbtypes for registers (#150268)
Some gdb remote servers send target.xml that contains
```
<reg name='ft0' bitsize='32' type='ieee_single' dwarf_regnum='32'/>
<reg name='ft1' bitsize='32' type='ieee_single' dwarf_regnum='33'/>
<reg name='ft2' bitsize='32' type='ieee_single' dwarf_regnum='34'/>
<reg name='ft3' bitsize='32' type='ieee_single' dwarf_regnum='35'/>
<reg name='ft4' bitsize='32' type='ieee_single' dwarf_regnum='36'/>
<reg name='ft5' bitsize='32' type='ieee_single' dwarf_regnum='37'/>
<reg name='ft6' bitsize='32' type='ieee_single' dwarf_regnum='38'/>
<reg name='ft7' bitsize='32' type='ieee_single' dwarf_regnum='39'/>
```
it seems like a valid and supported type in gdb.
from gdb16.3/gdb/target_descriptions.c (could not find a way to link
it).
```
case TDESC_TYPE_IEEE_SINGLE:
m_type = init_float_type (alloc, -1, "builtin_type_ieee_single",
floatformats_ieee_single);
return;
case TDESC_TYPE_IEEE_DOUBLE:
m_type = init_float_type (alloc, -1, "builtin_type_ieee_double",
floatformats_ieee_double);
return;
```
### Testplan
updated unittest to test this.
Reviewers: @clayborg , @jeffreytan81 , @Jlalond
Commit: e650c4b9efd900bff56de878ba28f866b2f7b989
https://github.com/llvm/llvm-project/commit/e650c4b9efd900bff56de878ba28f866b2f7b989
Author: Daniil Fukalov <dfukalov at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
Log Message:
-----------
[NFC][AMDGPU] Move cmp+select arguments optimization to SIISelLowering. (#150929)
As requested in #148740.
Commit: ccc96e64845ba5b5608915f6eca434af3a6de31d
https://github.com/llvm/llvm-project/commit/ccc96e64845ba5b5608915f6eca434af3a6de31d
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
Log Message:
-----------
[LV] Add tests where vector trip count is known equal to VFxUF.
Add additional tests to cover the case where the trip count isn't equal
to VFxUF, but the vector trip count is.
Commit: c46336b396e4482c51ed4bfdfa55c22ab35a6ad1
https://github.com/llvm/llvm-project/commit/c46336b396e4482c51ed4bfdfa55c22ab35a6ad1
Author: Prabhu Rajasekaran <prabhukr at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
A llvm/test/CodeGen/MIR/X86/call-site-info-ambiguous-indirect-call-typeid.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-direct-calls-typeid.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-typeid.mir
Log Message:
-----------
Reapply "[llvm] Add CalleeTypeIds field to CallSiteInfo" (#150335) (#150990)
This reverts commit 05e08cdb3e576cc0887d1507ebd2f756460c7db7.
Adding the missing -mtriple flags in MIR/X86 test files which caused
these tests to fail which was the reason for reverting the patch.
Commit: 379949d79f14b7854b6b2b8caebda835dcc3fe6d
https://github.com/llvm/llvm-project/commit/379949d79f14b7854b6b2b8caebda835dcc3fe6d
Author: Mahé <mahe5397 at hotmail.fr>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/test/CodeGen/BPF/BTF/map-def-2.ll
M llvm/test/CodeGen/BPF/BTF/map-def-3.ll
A llvm/test/CodeGen/BPF/BTF/map-def-nested-array.ll
Log Message:
-----------
[BPF] Visit nested map array during BTF generation (#150608)
Fixes missing inner map struct type definitions [^1]. We should visit
the type of nested array of maps like we do for global maps. This patch
adds a boolean to convey the information to visitTypeEntry and
visitDerivedType that the pointee is a map definition and should be
treated as such.
It ressembles and works with commit 0d21c956a5c1 ("[BPF] Handle nested
wrapper structs in BPF map definition traversal (#144097)") which
focused on directly nested wrapper structs.
Before that patch, this ARRAY_OF_MAPS definition would lead to the BTF
information include the 'missing_type' as "FWD 'missing_type'
fwd_kind=struct":
struct missing_type { uint64_t foo; };
struct {
__uint(type, BPF_MAP_TYPE_ARRAY_OF_MAPS);
[...]
__array(
values, struct {
[...]
__type(value, struct missing_type);
});
} map SEC(".maps");
Which lead to errors while trying to load the map:
libbpf: map 'outer_map.inner': can't determine value size for type [N]:
-22.
To solve this issue, users had to use the struct in a dummy variable or
in a dummy function for the BTF to be generated correctly [^2].
[^1]: https://lore.kernel.org/netdev/aH_cGvgC20iD8qs9@gmail.com/T/#u
[^2]:
https://github.com/cilium/ebpf/discussions/1658#discussioncomment-12491339
---------
Signed-off-by: Mahe Tardy <mahe.tardy at gmail.com>
Co-authored-by: Eduard Zingerman <eddyz87 at gmail.com>
Commit: 67e2faa50c09813921fc1ce86ca10cb4c1612d16
https://github.com/llvm/llvm-project/commit/67e2faa50c09813921fc1ce86ca10cb4c1612d16
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] MC support for async load and store on gfx1250 (#151030)
Commit: c93d166c58f0f4ac69c58ec54fb08668b462de03
https://github.com/llvm/llvm-project/commit/c93d166c58f0f4ac69c58ec54fb08668b462de03
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
Log Message:
-----------
[VPlan] Simplify (MUL %x, 0) -> 0.
Simplify trivial multiplies.
https://alive2.llvm.org/ce/z/DabRkA
Commit: ced3b90738ff6a4c2f5f264e5085477dc59ffcf8
https://github.com/llvm/llvm-project/commit/ced3b90738ff6a4c2f5f264e5085477dc59ffcf8
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Change map to vector to avoid unstable iteration (#151039)
We iterate over a std::map indexed by FuncInfo, which is a pair of a
pointer and a clone number. In the ThinLTO case, this isn't an issue as
the function pointer always points to the same FunctionSummary object.
However, for regular LTO, this is a pointer to a Function object, which
is different for each clone. This will lead to unstable iteration order.
This was exposed in a test case added for PR150735, which added a new
instance of iteration over this map.
Since these function clones are added and numbered sequentially, change
this to a vector indexed by clone number, which points to a structure
containing the clone FuncInfo and the call map (the old map's key and
value, respectively).
Commit: 6bcff9eb13f226b89bb6ebc80bb0f3e80b7868f7
https://github.com/llvm/llvm-project/commit/6bcff9eb13f226b89bb6ebc80bb0f3e80b7868f7
Author: Alex Voicu <alexandru.voicu at amd.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
A llvm/test/Transforms/HipStdPar/math-fixup.ll
Log Message:
-----------
[HIPSTDPAR] Add handling for math builtins (#140158)
When compiling in `--hipstdpar` mode, the builtins corresponding to the
standard library might end up in code that is expected to execute on the
accelerator (e.g. by using the `std::` prefixed functions from
`<cmath>`). We do not have uniform handling for this in AMDGPU, and the
errors that obtain are quite arcane. Furthermore, the user-space changes
required to work around this tend to be rather intrusive.
This patch adds an additional `--hipstdpar` specific pass which forwards
to the run time component of HIPSTDPAR the intrinsics / libcalls which
result from the use of the math builtins, and which are not properly
handled. In the long run we will want to stop relying on this and handle
things in the compiler, but it is going to be a rather lengthy journey,
which makes this medium term escape hatch necessary.
The paired change in the run time component is here
<https://github.com/ROCm/rocThrust/pull/551>.
Commit: 4c8e79f81582a757ed4333f8ff2ad4da18bab39a
https://github.com/llvm/llvm-project/commit/4c8e79f81582a757ed4333f8ff2ad4da18bab39a
Author: jimingham <jingham at apple.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M lldb/bindings/python/python-wrapper.swig
M lldb/include/lldb/API/SBSymbolContext.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/lldb-forward.h
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/resolver.py
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
Log Message:
-----------
Switch the ScriptedBreakpointResolver over to the ScriptedInterface form (#150720)
This is NFC, I'm modernizing the interface before I add to it in a
subsequent commit.
Commit: ee63c1f3520bca0acb859fcb4da49d3eb667c1ad
https://github.com/llvm/llvm-project/commit/ee63c1f3520bca0acb859fcb4da49d3eb667c1ad
Author: Jonathon Penix <jpenix at quicinc.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[clang][Driver] Prefer non-Linux emulations for baremetal Arm/AArch64 targets (#149235)
I'm unsure if there is an official source for which targets use/support
which emulations, but for the baremetal GNU Arm/AArch64 toolchains or
binutils builds I've tried to use, GNU ld either did not support the
Linux emulations (resulting in errors unless overriding the emulation)
or the Linux emulations were supported but GCC passed the non-Linux
emulations by default.
These emulations all seem to be accepted by lld as well, so try to align
with what it seems GCC is doing and prefer the non-Linux emulations for
baremetal Arm/AArch64 targets.
Commit: 8ecbfa66cd314df805e2910783ded37f2f8621b4
https://github.com/llvm/llvm-project/commit/8ecbfa66cd314df805e2910783ded37f2f8621b4
Author: sivadeilra <ardavis at microsoft.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
Log Message:
-----------
Hot-patch __ref_* variables should be placed in .rdata, not .data (#151008)
This is a refinment of #145565 . That PR added support for "Windows
Secure Hot-patching". In this design, functions that are compiled for
hot-patching need to be modified when they access mutable global
variables. The modification is to insert a level of indirection, the
so-called `__ref_*` variables.
Ref variables are supposed to be inserted into the `.rdata` section, not
`.data`. This provides a degree of protection against modification
(accidental or malicious) of ref variables during program execution.
When the Windows hot-patch subsystem loads a module as a hot-patch, it
finds all ref variables and changes the page protections for the pages
containing them to read/write. Then it sets the ref variables to point
to the real variable locations within the base image. Then it changes
page protections back to read-only.
This relies on the variables being placed in the `.rdata` section, not
`.data`.
However, it is still important that the LLVM `GlobalVariable` that is
created for the ref variable be created with `isConstant = false`. This
prevents LLVM from optimizing accesses to the `GlobalVariable`, i.e.
assuming that the variable can never change and thus inlining its value
into expressions that would ordinarily dereference it. That optimization
would defeat the purpose of hot-patching, so `isConstant = false` is
still the correct value for these ref variables.
Commit: f3761ab340448603fe9cabc99f49a3f04ac254b3
https://github.com/llvm/llvm-project/commit/f3761ab340448603fe9cabc99f49a3f04ac254b3
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
A llvm/test/ThinLTO/X86/memprof_func_assign_fix.ll
A llvm/test/Transforms/MemProfContextDisambiguation/func_assign_fix.ll
Log Message:
-----------
Reapply "[MemProf] Ensure all callsite clones are assigned a function clone" (#150856) (#151055)
This reverts commit 314e22bcab2b0f3d208708431a14215058f0718f, reapplying
PR150735 with a fix for the unstable iteration order exposed by the new
tests (PR151039).
Commit: bcd0d972247154336dd1321f1fded818e46671d1
https://github.com/llvm/llvm-project/commit/bcd0d972247154336dd1321f1fded818e46671d1
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
R libclc/clc/include/clc/math/unary_def_via_fp32.inc
M libclc/clc/lib/generic/math/clc_erf.cl
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_tgamma.cl
Log Message:
-----------
[libclc] Simplify unary_def_scalarize.inc's use in __clc_erf/erfc/tgamma (#150181)
Also delete unary_def_via_fp32.inc. There are small changes in
amdgcn--amdhsa.bc due to vector conversion is scalarized, e.g.
%2 = fpext <4 x half> %0 to <4 x float>
%3 = extractelement <4 x float> %2, i64 0
%4 = tail call float @llvm.fabs.f32(float %3)
->
%2 = extractelement <4 x half> %0, i64 0
%3 = tail call half @llvm.fabs.f16(half %2)
%4 = fpext half %3 to float
Commit: 5223317210cca7705d43fde4005270f5bb45215b
https://github.com/llvm/llvm-project/commit/5223317210cca7705d43fde4005270f5bb45215b
Author: Wenju He <wenju.he at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libclc/clc/lib/generic/geometric/clc_normalize.inc
Log Message:
-----------
[libclc] Add generic native half implementation of __clc_normalize (#150165)
This is ported from
https://github.com/intel/llvm/blob/sycl/libclc/libspirv/lib/generic/geometric/normalize.cl
and can pass a closed-source OpenCL CTS
"test_geometrics geom_normalize --half CL_DEVICE_TYPE_GPU" on intel GPU.
llvm-diff amdgcn--amdhsa.bc shows fpext/fptrunc insts are now removed
from normalize function.
Commit: 21836f4a49e1296c048ae96dd55fd5299dae61e2
https://github.com/llvm/llvm-project/commit/21836f4a49e1296c048ae96dd55fd5299dae61e2
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/ARM/fp16.ll
Log Message:
-----------
[SelectionDAG] Remove `UnsafeFPMath` in LegalizeDAG (#146316)
These global flags hinder further improvements like [[RFC] Honor pragmas
with
-ffp-contract=fast](https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast)
and pass concurrency support. Remove them incrementally.
Commit: 7162f191b8ce68dddb60e3f129f786afb08b2bbb
https://github.com/llvm/llvm-project/commit/7162f191b8ce68dddb60e3f129f786afb08b2bbb
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/Demangle/DemangleConfig.h
Log Message:
-----------
[llvm] ensure DEMANGLE_ABI is properly defined (#151023)
## Overview
Include `llvm-config.h` from `DemangleConfig.h` so
`LLVM_ENABLE_LLVM_EXPORT_ANNOTATIONS` is defined correctly. The presence
of this definition controls the definition of `LLVM_ABI` on Windows DLL
builds. This include was missed in #147564.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307).
Commit: 0d05e55f69426c38f42f911a11ac540896577e06
https://github.com/llvm/llvm-project/commit/0d05e55f69426c38f42f911a11ac540896577e06
Author: Jin Huang <jinhuang1102 at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M libc/src/wchar/wcspbrk.cpp
Log Message:
-----------
[libc] Correct include path for wchar_utils.h in libc/src/wchar/wcspbrk.cpp (#151059)
A previous change incorrectly included `wchar_util.h` using a broken
relative path. This change corrects the path to `#include
"src/wchar/wchar_utils.h"`.
Commit: 5949f4596ea0f01c8072713c0a082b0e09c459cc
https://github.com/llvm/llvm-project/commit/5949f4596ea0f01c8072713c0a082b0e09c459cc
Author: Jaden Angella <ajaden at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/docs/Dialects/emitc.md
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
M mlir/include/mlir/Conversion/Passes.td
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc.mlir
Log Message:
-----------
[mlir][EmitC]Expand the MemRefToEmitC pass - Lowering `AllocOp` (#148257)
This aims to lower `memref.alloc` to `emitc.call_opaque “malloc” ` or
`emitc.call_opaque “aligned_alloc” `
From:
```
module{
func.func @allocating() {
%alloc_5 = memref.alloc() : memref<999xi32>
return
}
}
```
To:
```
module {
emitc.include <"stdlib.h">
func.func @allocating() {
%0 = emitc.call_opaque "sizeof"() {args = [i32]} : () -> !emitc.size_t
%1 = "emitc.constant"() <{value = 999 : index}> : () -> index
%2 = emitc.mul %0, %1 : (!emitc.size_t, index) -> !emitc.size_t
%3 = emitc.call_opaque "malloc"(%2) : (!emitc.size_t) -> !emitc.ptr<!emitc.opaque<"void">>
%4 = emitc.cast %3 : !emitc.ptr<!emitc.opaque<"void">> to !emitc.ptr<i32>
return
}
}
```
Which is then translated as:
```
#include <stdlib.h>
void allocating() {
size_t v1 = sizeof(int32_t);
size_t v2 = 999;
size_t v3 = v1 * v2;
void* v4 = malloc(v3);
int32_t* v5 = (int32_t*) v4;
return;
}
```
Commit: 28c2c1e06e2dc73df03cfc2d797fa70365d481f2
https://github.com/llvm/llvm-project/commit/28c2c1e06e2dc73df03cfc2d797fa70365d481f2
Author: Austin <zhenhangwang at huawei.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
Log Message:
-----------
[clang-tools-extra] using wrapper llvm::sort(nfc) (#150998)
using wrapper llvm::sort(nfc)
Commit: a5deb59dfef13cb5eb8e3defc7e94904ea132a34
https://github.com/llvm/llvm-project/commit/a5deb59dfef13cb5eb8e3defc7e94904ea132a34
Author: Shoreshen <372660931 at qq.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/include/llvm/IR/Metadata.h
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-expect-id.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-parse.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-undefine-matadata.mir
Log Message:
-----------
[AMDGPU] Add NoaliasAddrSpace to AAMDnodes (#149247)
This is the following PR of
https://github.com/llvm/llvm-project/pull/136553 which calculate
NoaliasAddrSpace.
This PR carries the info calculated into MIR by adding it into AAMDnodes
Commit: e654d4e8fd7fc744215084c47e9accce2428346d
https://github.com/llvm/llvm-project/commit/e654d4e8fd7fc744215084c47e9accce2428346d
Author: Evan Liu <liuyievan at gmail.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotModuleBufferize.h
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/TensorCopyInsertion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
A mlir/test/Dialect/Bufferization/Transforms/one-shot-non-module-bufferize.mlir
M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
A mlir/test/lib/Dialect/Bufferization/TestOneShotModuleBufferize.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir] Generalize OneShotModuleBufferize to operate on any Operation (#148327)
As part of 2646c36a864aa6a62bc1280e9a8cd2bcd2695349,
`OneShotModuleBufferize` no longer descends into nested symbol tables,
recommending users who wish to do this should do so in a pass
pipeline/custom pass. This did not support the use case of ops that
weren't ModuleOps. The patch updates `OneShotModuleBufferize` to work on
any general op.
Commit: 255bba013600a5624ab9f894404d06c8df17462e
https://github.com/llvm/llvm-project/commit/255bba013600a5624ab9f894404d06c8df17462e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[memprof] Fix a warning
This patch fixes:
llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp:4771:9:
error: non-void lambda does not return a value in all control paths
[-Werror,-Wreturn-type]
Commit: 217f9e57d1cc46de51d3b36177c4ba4049aaa805
https://github.com/llvm/llvm-project/commit/217f9e57d1cc46de51d3b36177c4ba4049aaa805
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/AsmParser/DialectSymbolParser.cpp
M mlir/lib/AsmParser/Lexer.cpp
M mlir/lib/AsmParser/Lexer.h
Log Message:
-----------
[mlir] Make parser not rely on terminating null. (#151007)
Used in follow up to parse slices of buffer.
Commit: 2bebbe166b1d5c6803b5d0f8794df3a18eff8e03
https://github.com/llvm/llvm-project/commit/2bebbe166b1d5c6803b5d0f8794df3a18eff8e03
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
Log Message:
-----------
MCFragment: Migrate away from appendContents
The fixed-size content of the MCFragment object will be stored as
trailing data (#150846). Any post-assembler-layout adjustments must
target the variable-size tail.
Commit: 7c14c5380a510d8df20be8c681821c1ed558e39c
https://github.com/llvm/llvm-project/commit/7c14c5380a510d8df20be8c681821c1ed558e39c
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M .github/CODEOWNERS
Log Message:
-----------
[github/CODEOWNERS] Add yozhu as BOLT reviewer
Commit: b39160ddfb625bd57f9113471b15cda748151a10
https://github.com/llvm/llvm-project/commit/b39160ddfb625bd57f9113471b15cda748151a10
Author: Yanzuo Liu <zwuis at outlook.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/test/Parser/cxx23-assume.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
Log Message:
-----------
[Clang][Sema] Expression in assumption attribute should be full expression (#150814)
Add missing `ActOnFinishFullExpr` to `BuildCXXAssumeExpr`. We did it
during template instantiation but forgot non-template case.
Commit: ce86ff105b506aa0f150f676f59ee43abc00a213
https://github.com/llvm/llvm-project/commit/ce86ff105b506aa0f150f676f59ee43abc00a213
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
Log Message:
-----------
[GlobalISel] Remove `UnsafeFPMath` references (#146319)
This is the GlobalISel part to remove `UnsafeFPMath` flag in CodeGen
pipeline.
Commit: 19ba224fb8a925d095d84836bc9896bf564dfd99
https://github.com/llvm/llvm-project/commit/19ba224fb8a925d095d84836bc9896bf564dfd99
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M compiler-rt/lib/builtins/crtbegin.c
Log Message:
-----------
[PAC][compiler-rt] Fix init/fini array signing schema (#150691)
When `ptrauth_calls` is present but `ptrauth_init_fini` is not, compiler
emits raw unsigned pointers in `.init_array`/`.fini_array` sections.
Previously, `__do_init`/`__do_fini` pointers, which are explicitly added
to the sections, were implicitly signed (due to the presense of
`ptrauth_calls`), while all the other pointers in the sections were
implicitly added by the compiler and thus non-signed.. As a result, the
sections contained a mix of unsigned function pointers and function
pointers signed with default signing schema.
This patch introduces use of inline assembly for this particular case,
so we can manually specify that we do not want to sign the pointers.
Note that we cannot use `__builtin_ptrauth_strip` for this purpose since
its result is not a constant expression.
Commit: dbcbdc4da0a9f4627562c305492b4464afe5b467
https://github.com/llvm/llvm-project/commit/dbcbdc4da0a9f4627562c305492b4464afe5b467
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
Log Message:
-----------
[RISCV] Add IsSignExtendingOpW to P-ext CLS, CLSW, and ABSW instructions. (#151037)
This matches other W instructions. CLS is included since it can only
return 0-64 which has bits [63:31] as zero. This is similar to CLZ.
This doesn't do anything yet since we don't have CodeGen support for P.
Commit: b103311c1d75bb00845e0160fce76d75fe2377d3
https://github.com/llvm/llvm-project/commit/b103311c1d75bb00845e0160fce76d75fe2377d3
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Check destination instruction predicates in CompressInstEmitter. (#151061)
In addition to checking the predicate from the CompressPat, also check
the destination instruction. This prevents creating bad instructions if
CompressPat isn't a proper subset of the destination instruction. This
prevents mistakes that we can't catch at compile time.
We are able to verify RegisterClass hierarchy at compile time so don't
have to check the destination register class.
I've added comments for the operand names to make auditing easier.
Commit: 769b0e6f5c28a09ed5dd7eba2e82457a0064a9e2
https://github.com/llvm/llvm-project/commit/769b0e6f5c28a09ed5dd7eba2e82457a0064a9e2
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
Log Message:
-----------
XCOFF: Simplify R_REF and remove a MCFragment::addFixup use
Simplify the code added by https://reviews.llvm.org/D144356
Commit: adcad6adc981f83b42551160386d7d01367057b2
https://github.com/llvm/llvm-project/commit/adcad6adc981f83b42551160386d7d01367057b2
Author: paperchalice <liujunchang97 at outlook.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/test/CodeGen/AArch64/aarch64-combine-fmul-fsub.mir
M llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
M llvm/test/CodeGen/AArch64/fcsel-zero.ll
M llvm/test/CodeGen/AArch64/machine-combiner-reassociate.mir
M llvm/test/CodeGen/AArch64/machine-combiner.ll
M llvm/test/CodeGen/AArch64/machine-combiner.mir
M llvm/test/CodeGen/AArch64/sched-past-vector-ldst.ll
M llvm/test/CodeGen/AArch64/sqrt-fastmath.ll
Log Message:
-----------
[AArch64] Remove `UnsafeFPMath` (#150876)
We should always use fast math flags, remove these global flags
incrementally.
See also
https://discourse.llvm.org/t/rfc-honor-pragmas-with-ffp-contract-fast/80797
Commit: 96a9e8c9fa4ed8e53c5a13669e9dea16a566c48a
https://github.com/llvm/llvm-project/commit/96a9e8c9fa4ed8e53c5a13669e9dea16a566c48a
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
Log Message:
-----------
ARM: Migrate away from MCFragment::addFixup
Commit: f36ce53adf9294556c5d5f5f55c484c923f0c286
https://github.com/llvm/llvm-project/commit/f36ce53adf9294556c5d5f5f55c484c923f0c286
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
A llvm/test/MC/ELF/many-instructions.s
Log Message:
-----------
MCFragment: Use trailing data for fixed-size part
The fixed-size content of the MCFragment object is now stored as
trailing data, replacing ContentStart/ContentEnd with ContentSize. The
available space for trailing data is tracked using `FragSpace`. If the
available space is insufficient, a new block is allocated within the
bump allocator `MCObjectStreamer::FragStorage`.
FragList::Tail cannot be reused when switching sections or subsections,
as it is not associated with the fragment space tracked by `FragSpace`.
Instead, allocate a new fragment, which becomes less expensive after #150574.
Data can only be appended to the tail fragment of a subsection, not to
fragments in the middle. Post-assembler-layout adjustments (such as
.llvm_addrsig and .llvm.call-graph-profile) have been updated to use the
variable-size part instead.
Pull Request: https://github.com/llvm/llvm-project/pull/150846
Commit: 2b8696b58e25f53f23d35a3904c111c1ae61d6f4
https://github.com/llvm/llvm-project/commit/2b8696b58e25f53f23d35a3904c111c1ae61d6f4
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
Log Message:
-----------
[CIR][NFC] Reformat Attr to use common CIR_ prefix and traits style (#150694)
This mirror incubator changes from https://github.com/llvm/clangir/pull/1746
Commit: 3ecefba52d3ea7e0d028dd4b745766cb5627121f
https://github.com/llvm/llvm-project/commit/3ecefba52d3ea7e0d028dd4b745766cb5627121f
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MC: Restore emitInstToData optimization
Accidentally dropped by f36ce53adf9294556c5d5f5f55c484c923f0c286
Commit: 267eb81d5b92294275881f149a9e6bc5b87c0546
https://github.com/llvm/llvm-project/commit/267eb81d5b92294275881f149a9e6bc5b87c0546
Author: Fangrui Song <i at maskray.me>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/include/llvm/MC/MCSection.h
Log Message:
-----------
MCSection: Remove unused isEncoded
Commit: 8b020d5434078145e2fd2b4f1a48bb1c78ace491
https://github.com/llvm/llvm-project/commit/8b020d5434078145e2fd2b4f1a48bb1c78ace491
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/Frontend/FrontendAction.h
M clang/include/clang/Lex/Preprocessor.h
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
A clang/test/Preprocessor/preprocess-cpp-output.c
A clang/test/Preprocessor/preprocess-pragma-cpp-output.c
Log Message:
-----------
[Preprocessor] Do not expand macros if the input is already preprocessed (#137665)
Preprocessing the preprocessor output again interacts poorly with some
flag combinations when we perform a separate preprocessing stage. In our
case, `-no-integrated-cpp -dD` triggered this issue; but I guess that
other flags could also trigger problems (`-save-temps` instead of
`-no-integrated-cpp`).
Full context (which is quite weird I'll admit):
* To cache OpenCL kernel compilation results, we use the
`-no-integrated-cpp` for the driver to generate a separate preprocessing
command (`clang -E`) before the rest of the compilation.
* Some OpenCL C language features are implemented as macro definitions
(in `opencl-c-base.h`). The semantic analysis queries the preprocessor
to check if these are defined or not, for example, when we checks if a
builtin is available when using `-fdeclare-opencl-builtins`.
* To preserve these `#define` directives, on the preprocessor's output,
we use `-dD`. However, other `#define` directives are also maintained
besides OpenCL ones; which triggers the issue shown in this PR.
A better fix for our particular case could have been to move the
language features implemented as macros into some sort of a flag to be
used together with `-fdeclare-opencl-builtins`.
But I also thought that not preprocessing preprocessor outputs seemed
like something desirable. I hope to work on this on a follow up.
Commit: dcff52312375bbaa1edc65e0ace9c15623a9c8ab
https://github.com/llvm/llvm-project/commit/dcff52312375bbaa1edc65e0ace9c15623a9c8ab
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-07-28 (Mon, 28 Jul 2025)
Changed paths:
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[TableGen] Use ListSeparator to handle joining condition checks in CompressInstEmitter. NFC (#151089)
This avoids needing to remove the leading indentation and trailing '
&&\n' when we are done with all conditions.
While there remove a few extra parentheses and fix a case where 6
spaces of indentation was used instead of 8.
Commit: 3ea3e334cc19cdd34416b546ac4b4a24b2018a28
https://github.com/llvm/llvm-project/commit/3ea3e334cc19cdd34416b546ac4b4a24b2018a28
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/Headers/avx10_2_512niintrin.h
M clang/lib/Headers/avx10_2niintrin.h
M clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
Log Message:
-----------
[X86][AVX10.2] Fix VNNIINT16 maskz intrinsics arguments order (#151077)
For maskz intrinsics, the first argument is always the mask.
Commit: 8c8749608bf44dd6e528305b242c7bd238cfb405
https://github.com/llvm/llvm-project/commit/8c8749608bf44dd6e528305b242c7bd238cfb405
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix bazel build by build by adding missing deps. (#151090)
This was broken by #150661, which added includes to `wcspbrk.cpp` and
`wcschr.cpp` that weren't in the dependencies of the corresponding
targets.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 144ae251aaf5f36310b9e3ef67e9d6d6e2fbf9c0
https://github.com/llvm/llvm-project/commit/144ae251aaf5f36310b9e3ef67e9d6d6e2fbf9c0
Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/docs/TableGen/ProgRef.rst
M llvm/include/llvm/TableGen/Record.h
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/test/TableGen/getsetop.td
M llvm/test/TableGen/unsetop.td
Log Message:
-----------
[TableGen] Improve handling for dag op names (#149248)
There are currently no ways to add names to dag
operators other than when defining them. Furthermore a !con operation as
well as some others, drops the operator names.
This patch propagates the name from the LHS dag
for !con and adds a way to get and set the operator name for a dag
(!getdagopname, !setdagopname).
---------
Co-authored-by: Nemanja Ivanovic <nemanja at synopsys.com>
Commit: 59013d44058ef423a117f95092150e16e16fdb09
https://github.com/llvm/llvm-project/commit/59013d44058ef423a117f95092150e16e16fdb09
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
[mlir][llvm] Add intrinsic arg and result attribute support (#150783)
This patch extends the LLVM dialect's intrinsic infra to support
argument and result attributes. Initial support is added for the memory
intrinsics `llvm.intr.memcpy`, `llvm.intr.memmove`, and
`llvm.intr.memset`.
Additionally, an ArgAndResultAttrsOpInterface is factored out of
CallOpInterface and CallableOpInterface, enabling operations to have
argument and result attributes without requiring them to be a call or a
callable operation.
Commit: 3eee9fc2c4d1973904b1a26fa96a8c7473ef6a5e
https://github.com/llvm/llvm-project/commit/3eee9fc2c4d1973904b1a26fa96a8c7473ef6a5e
Author: Konstantin Varlamov <varconsteq at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M .github/workflows/libcxx-build-and-test.yaml
A libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/include/__config
M libcxx/include/__cxx03/__config
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
Log Message:
-----------
[libc++][hardening] Introduce assertion semantics. (#149459)
Assertion semantics closely mimic C++26 Contracts evaluation semantics.
This brings our implementation closer in line with C++26 Library Hardening
(one particular benefit is that using the `observe` semantic makes adopting
hardening easier for projects).
Commit: 4745637e44bc1aaac342bd78d1f13a92caa59fde
https://github.com/llvm/llvm-project/commit/4745637e44bc1aaac342bd78d1f13a92caa59fde
Author: Ingo Müller <ingomueller at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Fix bazel build by build by adding missing deps. (#151093)
This adds two dependencies that I wanted to be part of #151090 but
forgot to add them before the last push, which related to `wcschr.cpp`
and were originally broken by #150661.
Signed-off-by: Ingo Müller <ingomueller at google.com>
Commit: 6fbc397964340ebc9cb04a094fd04bef9a53abc3
https://github.com/llvm/llvm-project/commit/6fbc397964340ebc9cb04a094fd04bef9a53abc3
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[IR] Add new CreateVectorInterleave interface (#150931)
This PR adds a new interface to IRBuilder called CreateVectorInterleave,
which can be used to create vector.interleave intrinsics of factors 2-8.
For convenience I have also moved getInterleaveIntrinsicID and
getDeinterleaveIntrinsicID from VectorUtils.cpp to Intrinsics.cpp where
it can be used by IRBuilder.
Commit: ab1f6ce482487d0f276159a57775c0b3917da6ec
https://github.com/llvm/llvm-project/commit/ab1f6ce482487d0f276159a57775c0b3917da6ec
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/docs/LangRef.rst
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/test/CodeGen/X86/swap.ll
Log Message:
-----------
[IR][SDAG] Remove lifetime size handling from SDAG (#150944)
Split out from https://github.com/llvm/llvm-project/pull/150248:
Specify that the argument of lifetime.start/lifetime.end is ignored and
will be removed in the future.
Remove lifetime size handling from SDAG. The size was previously
discarded during isel, so was always ignored for stack coloring anyway.
Where necessary, obtain the size of the full frame index.
Commit: fc90685354ca36c935ebb0f315bb18592598a83b
https://github.com/llvm/llvm-project/commit/fc90685354ca36c935ebb0f315bb18592598a83b
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
A llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alloca.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-debuginfo.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
Log Message:
-----------
[WebAssemblyLowerEmscriptenEHSjLj] Avoid lifetime of phi (#150932)
After #149310 lifetime intrinsics require an alloca argument, an
invariant that this pass can break.
I've fixed this in two ways:
* First, move static allocas into the entry block. Currently, the way
the pass splits the entry block makes all allocas dynamic, which I
assume was not actually intended. This will avoid unnecessary SSA
reconstruction for allocas as well, and thus avoid the problem.
* If this fails (for dynamic allocas) drop all lifetime intrinsics if
any one of them would require a rewrite during SSA reconstruction.
Fixes https://github.com/llvm/llvm-project/issues/150498.
Commit: d5985905ae8e5b2e108d1b2772b554134db162dd
https://github.com/llvm/llvm-project/commit/d5985905ae8e5b2e108d1b2772b554134db162dd
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/Sema/SemaARM.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Sema/SemaARM.cpp
A clang/test/Sema/builtins-arm-exclusive-124.c
A clang/test/Sema/builtins-arm-exclusive-4.c
A clang/test/Sema/builtins-arm-exclusive-none.c
M clang/test/Sema/builtins-arm-exclusive.c
Log Message:
-----------
[Clang][ARM][Sema] Reject bad sizes of __builtin_arm_ldrex (#150419)
Depending on the particular version of the AArch32 architecture,
load/store exclusive operations might be available for various subset of
8, 16, 32, and 64-bit quantities. Sema knew nothing about this and was
accepting all four sizes, leading to a compiler crash at isel time if
you used a size not available on the target architecture.
Now the Sema checking stage emits a more sensible diagnostic, pointing
at the location in the code.
In order to allow Sema to query the set of supported sizes, I've moved
the enum of LDREX_x sizes out of its Arm-specific header into
`TargetInfo.h`.
Also, in order to allow the diagnostic to specify the correct list of
supported sizes, I've filled it with `%select{}`. (The alternative was
to make separate error messages for each different list of sizes.)
Commit: 0d21522c00e2bda466834b43af5839eedc4e36bd
https://github.com/llvm/llvm-project/commit/0d21522c00e2bda466834b43af5839eedc4e36bd
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/test/Conversion/GPUToSPIRV/rotate.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/ops.mlir
Log Message:
-----------
[mlir][gpu] Make offset and width in gpu.rotate as attributes (#150901)
`offset` and `width` must be constants and there are constraints on
their values. Update the operation definition to use attributes instead
of operands.
Commit: 5dab1fa1fa174085a9f265ff25763a31af97c9e3
https://github.com/llvm/llvm-project/commit/5dab1fa1fa174085a9f265ff25763a31af97c9e3
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
Log Message:
-----------
[BranchFolding] Follow up #149999 crash fix
fbf6271c7da20356d7b34583b3711b4126ca1dbb introduced an assertion failure as
setDebugValueUndef was called on DBG_LABELs, which isn't allowed and doesn't
make sense. Fix by skipping the call for DBG_LABELs and hoisting, in line with
the original behaviour.
Commit: 2780b8f22058b35a8e70045858b87a1966df8df3
https://github.com/llvm/llvm-project/commit/2780b8f22058b35a8e70045858b87a1966df8df3
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
M mlir/include/mlir/Interfaces/CallInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/LLVMImportInterface.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Target/LLVMIR/Import/intrinsic.ll
M mlir/test/Target/LLVMIR/llvmir-intrinsics.mlir
Log Message:
-----------
Revert "[mlir][llvm] Add intrinsic arg and result attribute support (… (#151099)
…#150783)"
This reverts commit 59013d44058ef423a117f95092150e16e16fdb09.
The change breaks a flang build bot:
https://lab.llvm.org/buildbot/#/builders/207/builds/4441
Commit: 68152f1301cd7196377f62c1e58e9a67cfa833f1
https://github.com/llvm/llvm-project/commit/68152f1301cd7196377f62c1e58e9a67cfa833f1
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
M llvm/test/CodeGen/WebAssembly/vector-reduce.ll
Log Message:
-----------
[WebAssembly] v16i8 mul support (#150209)
During target DAG combine, use two i16x8.extmul_low_i8x16 and a shuffle
for v16i8 mul.
On my AArch64 machine, using V8, I observe a 3.14% geomean improvement
across 65 benchmarks, including: 9.2% for spec2017.x264, 6% for libyuv
and 1.8% for ncnn.
Commit: 3b9ea7bbc5efbefd854ac462252e4261560dcdcb
https://github.com/llvm/llvm-project/commit/3b9ea7bbc5efbefd854ac462252e4261560dcdcb
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
Log Message:
-----------
Fix build warnings after 6fbc397964340ebc9cb04a094fd04bef9a53abc3 (#151100)
Commit: 9f00ab411a60cc41a261fe8829aa190e1b15981e
https://github.com/llvm/llvm-project/commit/9f00ab411a60cc41a261fe8829aa190e1b15981e
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
Log Message:
-----------
[libc++] Add [[nodiscard]] to the vector accessor functions (#150615)
Commit: a749e68ac4119b99701fc740b40631351fda05da
https://github.com/llvm/llvm-project/commit/a749e68ac4119b99701fc740b40631351fda05da
Author: A. Jiang <de34 at live.cn>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libcxx/include/CMakeLists.txt
M libcxx/include/__format/concepts.h
A libcxx/include/__format/fmt_pair_like.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_format.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/module.modulemap.in
Log Message:
-----------
[libc++][format][NFC] Granularize `__fmt_pair_like` (#150583)
`<optional>` needs `format_kind` and `range_format` since C++26, but it
shouldn't drag in too many other stuffs necessary for
`<__format/concepts.h>`.
Commit: c59cc542844b5b4a25cd222ad0127ca2e74953ad
https://github.com/llvm/llvm-project/commit/c59cc542844b5b4a25cd222ad0127ca2e74953ad
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
Log Message:
-----------
[gn build] Port a749e68ac411
Commit: 9bf3e615a2c6db6e2a00ee2004ebcb21daf1334b
https://github.com/llvm/llvm-project/commit/9bf3e615a2c6db6e2a00ee2004ebcb21daf1334b
Author: b10902118 <b10902118 at ntu.edu.tw>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
Log Message:
-----------
[lldb][AArch64] Fix arm64 hardware breakpoint/watchpoint to arm32 process. (#147198)
When debugging arm32 process on arm64 machine, arm64 lldb-server will
use `NativeRegisterContextLinux_arm`, but the server should keep using
64-bit ptrace commands for hardware watchpoint/breakpoint, even when
debugging a 32-bit tracee.
See:
https://github.com/torvalds/linux/commit/5d220ff9420f8b1689805ba2d938bedf9e0860a4
There have been many conditional compilation handling arm32 tracee on
arm64, but this one is missed out.
To reuse the 64-bit implementation, I separate the shared code from
`NativeRegisterContextLinux_arm64.cpp` to
`NativeRegisterContextLinux_arm64dbreg.cpp`, with other adjustments to
share data structures of debug registers.
Commit: 0fbcbda77a9545f2404024dc1ad946218489f140
https://github.com/llvm/llvm-project/commit/0fbcbda77a9545f2404024dc1ad946218489f140
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
Log Message:
-----------
[gn build] Port 9bf3e615a2c6
Commit: 3e42146fbce5362c94f5dd854779e5bbc8630dce
https://github.com/llvm/llvm-project/commit/3e42146fbce5362c94f5dd854779e5bbc8630dce
Author: kkent030315 <hrn832 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lld/COFF/Options.td
Log Message:
-----------
[LLD][COFF] Add ignored linker flags (#150815)
These flags were treated as explicit errors, which could cause
compatibility issues with MS link.exe. To address this, LLD was updated
to ignore them, aligning its behavior with MS link.exe. The latter two
options affect how MS link.exe generates metadata for its PGO. LLD
doesn't generate any such metadata right now (and doesn't work with the
MSVC PGO feature), so those options are kept as no-ops.
- Added `/emittoolversioninfo[:no]` flag in LLD/COFF options
- This flag emits a rich header between DOS stub and PE header. LLVM
does not emit the rich header at all.
- Added `/novcfeature` flag in LLD/COFF options
- Added `/nocoffgrpinfo` flag in LLD/COFF options
Commit: 75964244d62f0c42e7b2df3d72245e8f29a29809
https://github.com/llvm/llvm-project/commit/75964244d62f0c42e7b2df3d72245e8f29a29809
Author: Martin Erhart <martin.erhart at sifive.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/SymbolInterfaces.td
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/unittests/IR/SymbolTableTest.cpp
Log Message:
-----------
[mlir][SymbolOpInterface] Easier visibility overriding (#151036)
When overriding 'getVisibility and/or 'setVisibility' the interface
methods calling them do not pick up the overriden version. Instead it is
necessary to override all the other methods as well. This adjusts these
interface methods to use the overriden version when available.
Commit: be17791f2624f22b3ed24a2539406164a379125d
https://github.com/llvm/llvm-project/commit/be17791f2624f22b3ed24a2539406164a379125d
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
A llvm/test/CodeGen/AMDGPU/gfx1250-no-scope-cu-stores.ll
M llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test
Log Message:
-----------
[AMDGPU][gfx1250] Add `cu-store` subtarget feature (#150588)
Determines whether we can use `SCOPE_CU` stores (on by default), or
whether all stores must be done at `SCOPE_SE` minimum.
Commit: af44d87e0d80cda78451d8de723c974bf58ccac0
https://github.com/llvm/llvm-project/commit/af44d87e0d80cda78451d8de723c974bf58ccac0
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
Log Message:
-----------
[clang][SME] Remove folding of `__arm_in_streaming_mode()` (NFC) (#150917)
This is handled by the instcombine added in #147930; there is no need
for any clang-specific folding. NFC as all clang tests for
`__arm_in_streaming_mode()` used -O1, which applies the LLVM
instcombines.
Commit: 11a959bf98fe91b1cafb0a3f4e98f76ca29fe92b
https://github.com/llvm/llvm-project/commit/11a959bf98fe91b1cafb0a3f4e98f76ca29fe92b
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
A llvm/test/Transforms/InstCombine/recurrence-binary-intrinsic.ll
Log Message:
-----------
[InstCombine] Introduce test for PR149858 (NFC)
Commit: ef51514c38e6bd658153230769cfb62de9384bce
https://github.com/llvm/llvm-project/commit/ef51514c38e6bd658153230769cfb62de9384bce
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
Log Message:
-----------
[FunctionAttrs] Don't bail out on unknown calls (#150958)
When inferring attributes, we should not bail out early on unknown calls
(such as virtual calls), as we may still have call-site attributes that
can be used for inference.
Fixes https://github.com/llvm/llvm-project/issues/150817.
Commit: 76bebb5be9daf9ca035777b17fa63d4ce13e79b9
https://github.com/llvm/llvm-project/commit/76bebb5be9daf9ca035777b17fa63d4ce13e79b9
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libclc/CMakeLists.txt
M libclc/cmake/modules/AddLibclc.cmake
Log Message:
-----------
[libclc] Fix building top-level 'libclc' target (#150972)
With libclc being a 'runtime', the top-level build assumes that there is
a corresopnding 'libclc' target. We previously weren't providing this,
leading to a build failure if the user tried to build it.
This commit remedies this by adding support for building the 'libclc'
target. It does so by adding dependencies from the OpenCL builtins to
this target. It uses a configurable in-between target -
libclc-opencl-builtins - to ease the possibility of adding non-OpenCL
builtin libraries in the future.
Commit: ace42cf063a52d097f505b7d9afeb53d02bc04db
https://github.com/llvm/llvm-project/commit/ace42cf063a52d097f505b7d9afeb53d02bc04db
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Support/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/standalone-opt.cpp
M mlir/examples/toy/Ch5/CMakeLists.txt
M mlir/examples/toy/Ch5/toyc.cpp
M mlir/examples/toy/Ch6/CMakeLists.txt
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/CMakeLists.txt
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/examples/transform-opt/CMakeLists.txt
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/CAPI/RegisterEverything/CMakeLists.txt
M mlir/lib/CMakeLists.txt
A mlir/lib/RegisterAllDialects.cpp
A mlir/lib/RegisterAllExtensions.cpp
A mlir/lib/RegisterAllPasses.cpp
M mlir/tools/mlir-lsp-server/CMakeLists.txt
M mlir/tools/mlir-lsp-server/mlir-lsp-server.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-query/CMakeLists.txt
M mlir/tools/mlir-reduce/CMakeLists.txt
M mlir/tools/mlir-rewrite/CMakeLists.txt
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
M mlir/unittests/ExecutionEngine/CMakeLists.txt
M mlir/unittests/Target/LLVM/CMakeLists.txt
Log Message:
-----------
[mlir][core] Move `InitAll***` implementation into static library. (#150805)
`InitAll***` functions are used by `opt`-style tools to init all MLIR
dialects/passes/extensions. Currently they are implemeted as inline
functions and include essentially the entire MLIR header tree. Each file
which includes this header (~10 currently) takes 10+ sec and multiple GB
of ram to compile (tested with clang-19), which limits amount of
parallel compiler jobs which can be run. Also, flang just includes this
file into one of its headers.
Move the actual registration code to the static library, so it's
compiled only once.
Discourse thread
https://discourse.llvm.org/t/rfc-moving-initall-implementation-into-static-library/87559
Commit: 7057eee4819a31aef06fc05bfef43919861ef2e9
https://github.com/llvm/llvm-project/commit/7057eee4819a31aef06fc05bfef43919861ef2e9
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Support/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/standalone-opt.cpp
M mlir/examples/toy/Ch5/CMakeLists.txt
M mlir/examples/toy/Ch5/toyc.cpp
M mlir/examples/toy/Ch6/CMakeLists.txt
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/CMakeLists.txt
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/examples/transform-opt/CMakeLists.txt
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/CAPI/RegisterEverything/CMakeLists.txt
M mlir/lib/CMakeLists.txt
R mlir/lib/RegisterAllDialects.cpp
R mlir/lib/RegisterAllExtensions.cpp
R mlir/lib/RegisterAllPasses.cpp
M mlir/tools/mlir-lsp-server/CMakeLists.txt
M mlir/tools/mlir-lsp-server/mlir-lsp-server.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-query/CMakeLists.txt
M mlir/tools/mlir-reduce/CMakeLists.txt
M mlir/tools/mlir-rewrite/CMakeLists.txt
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
M mlir/unittests/ExecutionEngine/CMakeLists.txt
M mlir/unittests/Target/LLVM/CMakeLists.txt
Log Message:
-----------
Revert "[mlir][core] Move `InitAll***` implementation into static library." (#151118)
Reverts llvm/llvm-project#150805
Some bots are failing.
Commit: 1a3e857c6bfc2962a6951e25c33246eec24b5174
https://github.com/llvm/llvm-project/commit/1a3e857c6bfc2962a6951e25c33246eec24b5174
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/test/Headers/__clang_hip_math.hip
Log Message:
-----------
[Clang] Regenerate test checks (NFC)
The attribute numbering here has changed, resulting in lots of
spurious diffs when the test is regenerated.
Commit: d64240b5c69e0a36fd86605812860c9f1116f8c9
https://github.com/llvm/llvm-project/commit/d64240b5c69e0a36fd86605812860c9f1116f8c9
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-sret-demotion.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-cse.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bswap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-non-pow2-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vacopy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-invariant.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant-32bit.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uniform-load-noclobber.mir
M llvm/test/CodeGen/AMDGPU/freeze.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
M llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memcpy.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/load.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s32.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s64.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/store.mir
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-memop-scalar-32.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-undef.mir
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
M llvm/test/CodeGen/X86/GlobalISel/x86_64-irtranslator-struct-return.ll
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
Log Message:
-----------
[GISel] Introduce MachineIRBuilder::(build|materialize)ObjectPtrOffset (#150392)
These functions are for building G_PTR_ADDs when we know that the base
pointer and the result are both valid pointers into (or just after) the
same object. They are similar to SelectionDAG::getObjectPtrOffset.
This PR also changes call sites of the generic (build|materialize)PtrAdd
functions that implement pointer arithmetic to split large memory
accesses to the new functions. Since memory accesses have to fit into an
object in memory, pointer arithmetic to an offset into a large memory
access also yields an address in that object.
Currently, these (build|materialize)ObjectPtrOffset functions only add
"nuw" to the generated G_PTR_ADD, but I intend to introduce an
"inbounds" MIFlag in a later PR (analogous to a concurrent effort in
SDAG: #131862, related: #140017, #141725) that will also be set in the
(build|materialize)ObjectPtrOffset functions.
Most test changes just add "nuw" to G_PTR_ADDs. Exceptions are AMDGPU's
call-outgoing-stack-args.ll, flat-scratch.ll, and freeze.ll tests, where
offsets are now folded into scratch instructions, and cases where the
behavior of the check regeneration script changed, resulting, e.g., in
better checks for "nusw G_PTR_ADD" instructions, matched empty lines,
and the use of "CHECK-NEXT" in MIPS tests.
For SWDEV-516125.
Commit: d1054e801c1e1eb5614b571e1ba9c6d68497a4bd
https://github.com/llvm/llvm-project/commit/d1054e801c1e1eb5614b571e1ba9c6d68497a4bd
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
Log Message:
-----------
[mlir][NFC] Use range-based overload of `llvm::sort` (#150934)
Replace explicit begin/end iterator pairs with the range-based overload
of `llvm::sort`, which simplifies the code and improves readability.
Commit: 250f2a63676b2dc6cd7266882468c4e48a72e0c7
https://github.com/llvm/llvm-project/commit/250f2a63676b2dc6cd7266882468c4e48a72e0c7
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
Log Message:
-----------
[DAG] Remove AssertZext if the input is masked (#146052)
Remove AssertZext if the input ensures the assert cannot fail.
Commit: 50f3a6b897271af6aca960b5f53dc723b87834ff
https://github.com/llvm/llvm-project/commit/50f3a6b897271af6aca960b5f53dc723b87834ff
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
A llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
Log Message:
-----------
[AMDGPU] Add tests for workgroup/workitem intrinsic optimizations (#146053)
Commit: b30034da0ffaf67a144d062607e8f627e14227d1
https://github.com/llvm/llvm-project/commit/b30034da0ffaf67a144d062607e8f627e14227d1
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/test/Dialect/Linalg/canonicalize.mlir
Log Message:
-----------
[mlir][linalg] Add folder for broadcast(broadcast) -> broadcast (#150825)
Back to back `linalg.broadcast` can be rewritten to a single broadcast.
Commit: b6a98b934f63431243ba062aa9e07a52aae05f70
https://github.com/llvm/llvm-project/commit/b6a98b934f63431243ba062aa9e07a52aae05f70
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/Support/ToolUtilities.h
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/Support/ToolUtilities.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
A mlir/test/IR/diagnostic-nosplit.mlir
M mlir/test/IR/top-level.mlir
M mlir/tools/mlir-pdll/mlir-pdll.cpp
Log Message:
-----------
[mlir] Report line number from file rather than split (#150982)
Add convention for lexer if the last file is contained in the first,
then the first is used for error reporting. This requires that these two
overlap to make it easy to find the corresponding spots. Enables going
from
```
within split at mlir/test/IR/invalid.mlir::10 offset :6:9: error: reference to an undefined block
```
to
```
mlir/test/IR/invalid.mlir:15:9: error: reference to an undefined block
```
This does change the split to not produce always null terminated buffers
and tools that need it, need to do so themselves (which is mostly by copying -
this may have little actual impact as previously this was a copy too).
Commit: e8b7183d866f9d51511d5570f5f1f632046ef983
https://github.com/llvm/llvm-project/commit/e8b7183d866f9d51511d5570f5f1f632046ef983
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M .github/workflows/release-tasks.yml
M llvm/utils/release/github-upload-release.py
Log Message:
-----------
[llvm][release] Add links to commonly used release packages (#147719)
This adds download links to the GitHub release pages for common
platforms. The automatically built packages' links are automatically
revealed once the builds are complete. For packages built by hand,
hidden links are included in the text for release uploaders to reveal
later.
The approach taken:
* "LLVM x.y.z Release" becomes the title for this links section.
* Automatically built packages are commented out with special markers so
we can find them to uncomment them later.
* There is placeholder text for the time between release creation and
release tasks finishing.
* Hand built packages have release links but these will need to be
un-commented by release uploaders.
* I have used vendor names for the architectures, that casual users
would recognise.
* Their signature file is linked as well. I expect most will ignore this
but better to show it to remind people it exists.
* I called it "signature" as a generic term to cover the .jsonl and .sig
files. Instructions to use these were added to the text in a previous
change.
Commit: 1528ddbe76acbd80e3da44b3f248fc566d6ab40b
https://github.com/llvm/llvm-project/commit/1528ddbe76acbd80e3da44b3f248fc566d6ab40b
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/SCCP/no-fold-fcmp-dynamic-denormal-mode-issue114947.ll
Log Message:
-----------
[ConstantFolding][SVE] Do not fold fcmp of denormal without known mode. (#150614)
This is a follow on to
https://github.com/llvm/llvm-project/pull/115407 that introduced code
which bypasses the splat handling for scalable vectors. To maintain
existing tests I have moved the early return until after the splat
handling so all vector types are treated equally.
Commit: 3ede2decbe271270e081e31ce26e3acd42de2f2c
https://github.com/llvm/llvm-project/commit/3ede2decbe271270e081e31ce26e3acd42de2f2c
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
Log Message:
-----------
[LLVM][LV] Improve UF calculation for vscale based scalar loops. (#146102)
Update getSmallConstantTripCount() to return scalable ElementCount
values that is used to acurrately determine the maximum value for UF,
namely:
TripCount / VF ==> X * VScale / Y * VScale ==> X / Y
This improves the chances of being able to remove the scalar loop and
also fixes an issue where a UF=2 is choosen for a scalar loop with
exactly VF(= X * VScale) iterations.
Commit: 315e2e28b13285a352d409b739ba31fb453d661b
https://github.com/llvm/llvm-project/commit/315e2e28b13285a352d409b739ba31fb453d661b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/C/C23/n3037.c
Log Message:
-----------
[C23] Handle type compatibility for enumerations better (#150282)
An enumeration is compatible with its underlying type, which means that
code like the following should be accepted:
struct A { int h; };
void func() {
extern struct A x;
enum E : int { e };
struct A { enum E h; };
extern struct A x;
}
because the structures are declared in different scopes, the two
declarations of 'x' are both compatible.
Note, the structural equivalence checker does not take scope into
account, but that is something the C standard requires. This means we
are accepting code we should be rejecting per the standard, like:
void func() {
struct A { int h; };
extern struct A x;
enum E : int { e };
struct A { enum E h; };
extern struct A x;
}
Because the structures are declared in the same scope, the type
compatibility rule require the structures to use the same types, not
merely compatible ones.
Fixes #149965
Commit: 586cacdbdd995d2a2f010f7152843745f4978b4b
https://github.com/llvm/llvm-project/commit/586cacdbdd995d2a2f010f7152843745f4978b4b
Author: Fraser Cormack <fraser at codeplay.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libclc/clc/lib/amdgcn/SOURCES
R libclc/clc/lib/amdgcn/math/clc_fmax.cl
R libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/math/clc_fmax.cl
M libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/r600/SOURCES
R libclc/clc/lib/r600/math/clc_fmax.cl
R libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_fmax.cl
A libclc/clc/lib/spirv/math/clc_fmin.cl
Log Message:
-----------
[libclc] Optimize generic CLC fmin/fmax (#128506)
With this commit, the CLC fmin/fmax builtins use clang's
__builtin_elementwise_(min|max)imumnum which helps us generate LLVM
minimumnum/maximumnum intrinsics directly. These intrinsics uniformly
select the non-NaN input over the (quiet or signalling) NaN input, which
corresponds to what the OpenCL CTS tests.
These intrinsics maintain the vector types, as opposed to scalarizing,
which was previously happening. This commit therefore helps to optimize
codegen for those targets.
Note that there is ongoing discussion regarding how these builtins
should handle signalling NaNs in the OpenCL specification and whether
they should be able to return a quiet NaN as per the IEEE behaviour. If
the specification and/or CTS is ever updated to allow or mandate
returning a qNAN, these builtins could/should be updated to use
__builtin_elementwise_(min|max)num instead which would lower to LLVM
minnum/maxnum intrinsics.
The SPIR-V targets maintain the old implementations, as the LLVM ->
SPIR-V translator can't currently handle the LLVM intrinsics. The
implementation has been simplifies to consistently use clang builtins,
as opposed to before where the half version was explicitly defined.
[1] https://github.com/KhronosGroup/OpenCL-CTS/pull/2285
Commit: 1249ab9a0364805c84dc57b57fc4e85c1c7d5d69
https://github.com/llvm/llvm-project/commit/1249ab9a0364805c84dc57b57fc4e85c1c7d5d69
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenBuiltin.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/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_bit.cpp
M clang/test/CIR/Transforms/bit.cir
Log Message:
-----------
[CIR] Add bit ffs operation (#150997)
This patch adds the `cir.ffs` operation which corresponds to the
`__builtin_ffs` family of builtin functions.
This operation was not included in the previous PRs because the call to
`__builtin_ffs` would be transformed into a library call to `ffs`. At
the time of authoring this patch, this behavior has been changed and now
we can properly lower calls to `__builtin_ffs` to `cir.ffs`.
Commit: 29e02d792b8cc1bf9017a9ca90b3d9f7cff56fb6
https://github.com/llvm/llvm-project/commit/29e02d792b8cc1bf9017a9ca90b3d9f7cff56fb6
Author: Sam Parker <sam.parker at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
A llvm/test/CodeGen/WebAssembly/narrow-simd-mul.ll
Log Message:
-----------
[NFC][WebAssembly] Precommit test for v8i8 mul (#151139)
Commit: b5fe3eb2d17b711fded1a8c2fbd05a9e4dc06a7f
https://github.com/llvm/llvm-project/commit/b5fe3eb2d17b711fded1a8c2fbd05a9e4dc06a7f
Author: Mészáros Gergely <gergely.meszaros at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/Headers/opencl-c.h
Log Message:
-----------
[OpenCL] Add decls for cl_intel_bfloat16_conversions (#150393)
These map to SPIR-V instructions, which are long supported by the llvm
SPIR-V target [1] and the llvm-spirv translator [2].
Intel's offline compiler (ocloc) and OpenCL implementation trivially
supports these, by having these same declarations [3] and relying on
llvm-spirv to map calls to them to their corresponding SPIR-V
instructions.
[1]:
https://github.com/llvm/llvm-project/blob/531cf8298b08eacdf670bac8c28db97a5dc8cb01/llvm/lib/Target/SPIRV/SPIRVBuiltins.td#L1546C11-L1546C27
[2]:
https://github.com/KhronosGroup/SPIRV-LLVM-Translator/blob/10c7569b3c4cb456fbfdcc86c3de45d46c7f5fa8/lib/SPIRV/OCLUtil.h#L327
[3]:
https://github.com/intel/intel-graphics-compiler/blob/342c4fb729ff6a20a41e19adc8329ad18ba05660/IGC/BiFModule/Languages/OpenCL/opencl_cth_released.h#L6899
Commit: f73b0d04f39acad00cdad22fb88a440463c84fb6
https://github.com/llvm/llvm-project/commit/f73b0d04f39acad00cdad22fb88a440463c84fb6
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/test/CodeGen/M68k/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
Log Message:
-----------
[M68k][GISel] Fix buildbot failure caused by additional MIFlags (#151147)
PR #150392 added the nuw flag to some G_PTR_ADD MIR instructions, this
patch updates the tests for the experimental M68k backend to expect
them.
Should fix buildbot failures like
https://lab.llvm.org/buildbot/#/builders/27/builds/13793
Commit: 8bb3095c24b1636ecd9bedc36186a8d9de9d7274
https://github.com/llvm/llvm-project/commit/8bb3095c24b1636ecd9bedc36186a8d9de9d7274
Author: Jack Frankland <jack.frankland at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir
Log Message:
-----------
[mlir][spirv]: Add ImageSupport in ABI Lowering (#150996)
Add support for generating shader arguments as global variables in the
SPIR-V module when the argument in question is a SPIR-V image.
Add lit tests to execute the new logic and check global variables are
being generated.
---------
Signed-off-by: Jack Frankland <jack.frankland at arm.com>
Commit: 910f6ad15abd0c812ba5df73232215bc7533f7d1
https://github.com/llvm/llvm-project/commit/910f6ad15abd0c812ba5df73232215bc7533f7d1
Author: Victor Campos <victor.campos at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/Driver/ToolChain.cpp
A clang/test/Driver/arm-aarch64-multilib-invalid-arch.c
Log Message:
-----------
[Clang][Driver] Valid `-march` value is not mandatory in AArch64 multilib (#151103)
If a user passed an invalid value to `-march`, an assertion failure
happened in the AArch64 multilib logic.
But an invalid `-march` value is an expected case that should be handled
via error messages.
This patch removes the requirement that the `-march` value must be
valid.
Commit: 74001beded5395f3653aac60c84a10dae277b8b7
https://github.com/llvm/llvm-project/commit/74001beded5395f3653aac60c84a10dae277b8b7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
Log Message:
-----------
[DSE] Use MemoryLocation API to get lifetime.end size (NFC)
Commit: 46526f879f1f8dd62dd1ea4051bdf1ae413d1fdc
https://github.com/llvm/llvm-project/commit/46526f879f1f8dd62dd1ea4051bdf1ae413d1fdc
Author: David Green <david.green at arm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
Log Message:
-----------
[ARM] Use -cost-kind=all for arith-overflow.ll, arith-ssat.ll and arith-usat.ll. NFC
Commit: fa6965f722e0573f62e4d1e533dfa5b3a2ce2c4f
https://github.com/llvm/llvm-project/commit/fa6965f722e0573f62e4d1e533dfa5b3a2ce2c4f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[SCCP] Extract PredicateInfo handling into separate method (NFC)
Commit: 73245b06b3da19ef70e04cf0f0a0d0df1ba82a57
https://github.com/llvm/llvm-project/commit/73245b06b3da19ef70e04cf0f0a0d0df1ba82a57
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/test/CodeGen/RISCV/rvv/pr141907.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[RISCV] Rewrite deinterleave load as vlse optimization as DAG combine (#150049)
This reworks an existing optimization on the fixed vector (shuffle
based) deinterleave lowering into a DAG combine. This has the effect of
making it kick in much more widely - in particular on the deinterleave
intrinsic (i.e. scalable) path, deinterleaveN (without load) lowering,
but also the intrinsic lowering paths.
Commit: 8e7b02fc0cd5f63a14f4117866f860b7f174baf3
https://github.com/llvm/llvm-project/commit/8e7b02fc0cd5f63a14f4117866f860b7f174baf3
Author: Alexandru Lorinti <alexandru.lorinti at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/IR/StorageUniquerSupport.h
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/mlir-tblgen/attrdefs.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/unittests/IR/AttributeTest.cpp
Log Message:
-----------
Avoid copies in getChecked (#147721)
Following-up on #68067 ; adding std::move to getChecked method as well.
Commit: e68a20e0b7623738d6af736d3aa02625cba6126a
https://github.com/llvm/llvm-project/commit/e68a20e0b7623738d6af736d3aa02625cba6126a
Author: Ivan Butygin <ivan.butygin at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/lib/Optimizer/Support/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/standalone-opt.cpp
M mlir/examples/toy/Ch5/CMakeLists.txt
M mlir/examples/toy/Ch5/toyc.cpp
M mlir/examples/toy/Ch6/CMakeLists.txt
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/CMakeLists.txt
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/examples/transform-opt/CMakeLists.txt
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/InitAllPasses.h
M mlir/lib/CAPI/RegisterEverything/CMakeLists.txt
M mlir/lib/CMakeLists.txt
A mlir/lib/RegisterAllDialects.cpp
A mlir/lib/RegisterAllExtensions.cpp
A mlir/lib/RegisterAllPasses.cpp
M mlir/tools/mlir-lsp-server/CMakeLists.txt
M mlir/tools/mlir-lsp-server/mlir-lsp-server.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-query/CMakeLists.txt
M mlir/tools/mlir-reduce/CMakeLists.txt
M mlir/tools/mlir-rewrite/CMakeLists.txt
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
M mlir/unittests/ExecutionEngine/CMakeLists.txt
M mlir/unittests/Target/LLVM/CMakeLists.txt
Log Message:
-----------
[mlir] Reland `Move InitAll*** implementation into static library` (#151150)
Reland https://github.com/llvm/llvm-project/pull/150805
Shared libs build was broken.
Add `${dialect_libs}` and `${conversion_libs}` to
`MLIRRegisterAllExtensions` because it depends on
`registerConvert***ToLLVMInterface` functions.
Commit: 30ad2e24ab3392b1b1f022422255f010ed6dbd63
https://github.com/llvm/llvm-project/commit/30ad2e24ab3392b1b1f022422255f010ed6dbd63
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features-readonly.cl
A clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
Log Message:
-----------
[AMDGPU] Allow readonly features to be written to IR when there is no target (#148141)
Fixes: SWDEV-541399
Commit: d4562a19911e05cf9d81c6857e94cfb1307d4315
https://github.com/llvm/llvm-project/commit/d4562a19911e05cf9d81c6857e94cfb1307d4315
Author: Teresa Johnson <tejohnson at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[MemProf] Use DenseMap for call map (NFC) (#151161)
There is no reason to use std::map for the call maps maintained for
function clones during function clone assignment, as we don't iterate
over them and don't need deterministic ordering, so use the more
efficient DenseMap.
Commit: 84576c7b5d4f838d9154640bbaf36b703bc552f5
https://github.com/llvm/llvm-project/commit/84576c7b5d4f838d9154640bbaf36b703bc552f5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
Log Message:
-----------
[ExecutionEngine] Remove an unnecessary cast (NFC) (#151082)
BaseObj is already of const MachOObjectFile &.
Commit: 5e150bb78185b424a8e6e01aa2c4907dde409777
https://github.com/llvm/llvm-project/commit/5e150bb78185b424a8e6e01aa2c4907dde409777
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Support/Unix/Path.inc
Log Message:
-----------
[Support] Remove an unnecessary cast (NFC) (#151083)
NumRead is already of ssize_t.
Commit: e874615a62e6a5cb7be0be67b0c4c66c4719f67a
https://github.com/llvm/llvm-project/commit/e874615a62e6a5cb7be0be67b0c4c66c4719f67a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/tools/llc/llc.cpp
Log Message:
-----------
[llc] Remove an unnecessary cast (NFC) (#151085)
getObjFileLowering() already returns TargetLoweringObjectFile *.
Commit: 99fda1a09cf7ce97fbd0ea74101e4fc3283f3428
https://github.com/llvm/llvm-project/commit/99fda1a09cf7ce97fbd0ea74101e4fc3283f3428
Author: Kazu Hirata <kazu at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/Basic/FileManager.h
M clang/lib/Basic/FileManager.cpp
Log Message:
-----------
[Basic] Remove getVirtualFile (#151086)
This patch removes getVirtualFile because it has been deprecated for
more than 10 months since:
commit b1aea98cfa357e23f4bb52232da5f41781f23bff
Author: Jan Svoboda <jan_svoboda at apple.com>
Date: Wed Sep 25 10:36:44 2024 -0700
I'm not aware of any downstream use AFAICT.
Commit: 1a974527bb986d73afdb62b57ead54e33b54f8ca
https://github.com/llvm/llvm-project/commit/1a974527bb986d73afdb62b57ead54e33b54f8ca
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/NewGVN.cpp
Log Message:
-----------
[NewGVN] Slightly clean up the predicate swap handling (NFC)
I found the naming here confusing. This is not something generic
for intrinsics, it's specifically about predicates, and serves to
remember a previous swap choice.
Commit: 3b66d4a987bff6d9d3e8a0932604cb40850136eb
https://github.com/llvm/llvm-project/commit/3b66d4a987bff6d9d3e8a0932604cb40850136eb
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
Log Message:
-----------
[AMDGPU] Support builtin/intrinsics for async loads/stores on gfx1250 (#151058)
Commit: 860b1e68ea180672d0e02fa8328f4a7c45e16f0f
https://github.com/llvm/llvm-project/commit/860b1e68ea180672d0e02fa8328f4a7c45e16f0f
Author: Tim Blechmann <tim at klingt.org>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/include/llvm/Support/Windows/WindowsSupport.h
M llvm/lib/Support/Windows/Threading.inc
Log Message:
-----------
Windows: use EcoQoS for ThreadPriority::Background (#148797)
The SetThreadInformation API allows threads to be scheduled on the most
efficient cores on the most efficient frequency.
Using this API for ThreadPriority::Background should make clangd-based
IDEs a little less CPU hungry.
---------
Co-authored-by: Alexandre Ganea <aganea at havenstudios.com>
Commit: a5db2c28443559f5a19f76f9a91ef3280231a969
https://github.com/llvm/llvm-project/commit/a5db2c28443559f5a19f76f9a91ef3280231a969
Author: Andres-Salamanca <andrealebarbaritos at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
A clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
Log Message:
-----------
[CIR] Add support for -ffine-grained-bitfield-accesses (#150687)
This PR adds support for `-ffine-grained-bitfield-accesses`. I reused
the tests from classic CodeGen, available here:
[https://github.com/llvm/llvm-project/blob/c2c881fcc85e0c2d7a050b0199d4dadf8f556b9e/clang/test/CodeGenCXX/finegrain-bitfield-access.cpp](https://github.com/llvm/llvm-project/blob/c2c881fcc85e0c2d7a050b0199d4dadf8f556b9e/clang/test/CodeGenCXX/finegrain-bitfield-access.cpp)
We produce almost exactly the same codegen, except when returning a
variable: we emit an extra variable to hold the return value, whereas
classic CodeGen does not. Also, the GEP instructions use slightly
different syntax compared to classic CodeGen.
Commit: 9bd2aacc68a1c7632abb9410640400dcc09ef50b
https://github.com/llvm/llvm-project/commit/9bd2aacc68a1c7632abb9410640400dcc09ef50b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineInstrBundle.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/include/llvm/Support/AArch64AttributeParser.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/include/llvm/Transforms/Utils/Mem2Reg.h
M llvm/include/llvm/Transforms/Utils/ProfileVerify.h
M llvm/lib/Object/SFrameParser.cpp
Log Message:
-----------
[llvm] annotate recently added interfaces for DLL export (#150101)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates symbols that were recently
added to LLVM without proper annotations. The annotations currently have
no meaningful impact on the LLVM build; however, they are a prerequisite
to support an LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS:
- Add `LLVM_EXPORT_TEMPLATE` and `LLVM_TEMPLATE_ABI` annotations to
explicitly instantiated instances of `llvm::object::SFrameParser`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 83dfdd8f5485f6b50213c88f02878f86b3f53852
https://github.com/llvm/llvm-project/commit/83dfdd8f5485f6b50213c88f02878f86b3f53852
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
A cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
Log Message:
-----------
[Dexter] Add DAP support for Dexter, including lldb-dap (#149394)
This patch adds a new variety of driver to Dexter, allowing it to work
with DAP-based interfaces for debuggers. The first concrete instance of
this is implemented in this patch, adding support for an `lldb-dap`
debugger. This is functionally very similar to the existing LLDB
debugger support*, but uses lldb-dap as its executable instead of lldb.
This has been tested successfully against the existing feature_test
suite, and manually tested against some other inputs; support is
essentially complete, although any further DAP-based debuggers may
require additional hooks inserted into the base class to deal with any
idiosyncrasies they exhibit (as with the several that have been inserted
for lldb-dap).
NB: There are some small differences resulting from differences between
lldb-dap's use of the lldb API and Dexter's use in its lldb driver; one
small example of this is when evaluating variables, lldb-dap will try to
first use `GetValueForVariablePath` and fallback to `EvaluateExpression`
if necessary, while Dexter will always use `EvaluateExpression`; these
can give slightly different results, resulting in different output from
Dexter for the same input.
Commit: 15980624ac516ae2dbbf1f2cd24d63de0f9fd2be
https://github.com/llvm/llvm-project/commit/15980624ac516ae2dbbf1f2cd24d63de0f9fd2be
Author: Sergio Afonso <safonsof at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M flang/docs/OpenMPSupport.md
Log Message:
-----------
[Flang][OpenMP][Docs] Update target-related support in Flang docs, NFC (#150443)
Update docs to state that reduction is supported on OpenMP `loop` and
`teams` standalone and compound constructs.
Commit: 2abd58cb7e817767e69f3c71512ff5c4b79bc881
https://github.com/llvm/llvm-project/commit/2abd58cb7e817767e69f3c71512ff5c4b79bc881
Author: Leandro Lacerda <leandrolcampos at yahoo.com.br>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/LLVMLibm.c
R offload/unittests/Conformance/device_code/sin.c
A offload/unittests/Conformance/include/mathtest/CommandLine.hpp
A offload/unittests/Conformance/include/mathtest/CommandLineExtras.hpp
A offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
A offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
A offload/unittests/Conformance/include/mathtest/ErrorHandling.hpp
A offload/unittests/Conformance/include/mathtest/ExhaustiveGenerator.hpp
A offload/unittests/Conformance/include/mathtest/GpuMathTest.hpp
A offload/unittests/Conformance/include/mathtest/HostRefChecker.hpp
A offload/unittests/Conformance/include/mathtest/IndexedRange.hpp
A offload/unittests/Conformance/include/mathtest/InputGenerator.hpp
A offload/unittests/Conformance/include/mathtest/Numerics.hpp
A offload/unittests/Conformance/include/mathtest/OffloadForward.hpp
A offload/unittests/Conformance/include/mathtest/Support.hpp
A offload/unittests/Conformance/include/mathtest/TestConfig.hpp
A offload/unittests/Conformance/include/mathtest/TestResult.hpp
A offload/unittests/Conformance/include/mathtest/TestRunner.hpp
A offload/unittests/Conformance/include/mathtest/TypeExtras.hpp
A offload/unittests/Conformance/lib/CMakeLists.txt
A offload/unittests/Conformance/lib/CommandLineExtras.cpp
A offload/unittests/Conformance/lib/DeviceContext.cpp
A offload/unittests/Conformance/lib/DeviceResources.cpp
A offload/unittests/Conformance/lib/ErrorHandling.cpp
A offload/unittests/Conformance/lib/TestConfig.cpp
R offload/unittests/Conformance/sin.cpp
A offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/LogfTest.cpp
Log Message:
-----------
[Offload] Add framework for math conformance tests (#149242)
This PR introduces the initial version of a C++ framework for the
conformance testing of GPU math library functions, building upon the
skeleton provided in #146391.
The main goal of this framework is to systematically measure the
accuracy of math functions in the GPU libc, verifying correctness or at
least conformance to standards like OpenCL via exhaustive or random
accuracy tests.
Commit: 0a4c6522a6a48cf053d334445b919e769e64ab9b
https://github.com/llvm/llvm-project/commit/0a4c6522a6a48cf053d334445b919e769e64ab9b
Author: Akash Banerjee <akash.banerjee at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
Log Message:
-----------
[MLIR] Add conversion support for more ops from ComplexToROCDLLibraryCalls (#151166)
Commit: 32779cd6989e5b30a9ecd4e3c1db62fa551caefb
https://github.com/llvm/llvm-project/commit/32779cd6989e5b30a9ecd4e3c1db62fa551caefb
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/test/CIR/CodeGen/call.c
A clang/test/CIR/CodeGen/no-prototype.c
M clang/test/CIR/IR/func.cir
Log Message:
-----------
[CIR] Add proper handling for no prototype function calls (#150553)
This adds standard-comforming handling for calls to functions that were
declared in C source in the no prototype form.
Commit: 111edfcab89b8e36e1fc791ac052133b5de4b2a2
https://github.com/llvm/llvm-project/commit/111edfcab89b8e36e1fc791ac052133b5de4b2a2
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/src/math/CMakeLists.txt
A libc/src/math/fabsbf16.h
M libc/src/math/generic/CMakeLists.txt
A libc/src/math/generic/fabsbf16.cpp
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fabsbf16_test.cpp
Log Message:
-----------
[libc][math][c++23] Add fabsbf16 math function (#148398)
This PR implements fabsbf16 math function for BFloat16 type along with
the tests.
---------
Signed-off-by: krishna2803 <kpandey81930 at gmail.com>
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 88620aee98dd677bfb94712f957c752bfab2077f
https://github.com/llvm/llvm-project/commit/88620aee98dd677bfb94712f957c752bfab2077f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/test/CIR/CodeGen/array-ctor.cpp
A clang/test/CIR/CodeGen/array-dtor.cpp
A clang/test/CIR/IR/array-dtor.cir
Log Message:
-----------
[CIR] Add support for array cleanups (#150499)
This adds support for array cleanups, including the ArrayDtor op.
Commit: f925ecbf19d459ff3ea77c40169a4572381082f2
https://github.com/llvm/llvm-project/commit/f925ecbf19d459ff3ea77c40169a4572381082f2
Author: Sam Elliott <aelliott at qti.qualcomm.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/test/MC/RISCV/xqcisync-valid.s
Log Message:
-----------
[RISCV] Use Hints for Xqcisim/Xqcisync Aliases (#151040)
My aim here is to make these a little easier to maintain by relying on
aliases where these instructions overlap with the Hint instructions they
are based on.
The following instructions have not been converted to aliases as they
have complex mappings from ther immediate encodings to the immediate
encoding of the underlying instruction (setting high bits):
- qc.pputci
- qc.sync, qc.sync, qc.syncwf, qc.syncwl
- qc.c.sync, qc.c.syncr, qc.c.syncwf, qc.syncwl
Co-authored-by: Sudharsan Veeravalli <quic_svs at quicinc.com>
Commit: e1e312e6af34803d1686d9ce5a441446811f425d
https://github.com/llvm/llvm-project/commit/e1e312e6af34803d1686d9ce5a441446811f425d
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
R cross-project-tests/debuginfo-tests/dexter/dex/debugger/DAP.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/DebuggerControllers/ConditionalController.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/Debuggers.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/__init__.py
M cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb/LLDB.py
Log Message:
-----------
Revert "[Dexter] Add DAP support for Dexter, including lldb-dap (#149394)"
This reverts commit 83dfdd8f5485f6b50213c88f02878f86b3f53852.
Temporary revert, as the above patch contains some python code requiring at
least version 3.10, when the minimum required by LLVM is 3.8.
Commit: 875491f59e688f2f7dea437a2425ed7bed1a0708
https://github.com/llvm/llvm-project/commit/875491f59e688f2f7dea437a2425ed7bed1a0708
Author: davidtrevelyan <davidtrevelyan at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan][compiler-rt] Fix ioctl test causing segfault on exit (#151182)
I was observing segfaults at executable exit in the rtsan instrumented
unit tests. Bisecting the offending test led to observing that this test
is not using our safe test fixture for anything involving a file
descriptor. Changing to use the fixture eliminated the segfault on exit.
Commit: 335dbba741aaee369c3c8d11224a63255a6ecb85
https://github.com/llvm/llvm-project/commit/335dbba741aaee369c3c8d11224a63255a6ecb85
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OMPIRBuilder] Don't drop debug loc from LocationDescription. (#148713)
`LocationDescription` contains both the insertion point and the debug
location. When `LocationDescription` is available, it is better to use
`updateToLocation` which will update both. This PR replaces
`restoreIP(Loc.IP)` with `updateToLocation(Loc)` as former may not
update debug location in all cases.
I am not checking the return value of `updateToLocation` because that is
checked just a few lines above in all cases and we would have returned
early if it failed.
Commit: a653934b581b2132b1f67ddfb304d5f12681180d
https://github.com/llvm/llvm-project/commit/a653934b581b2132b1f67ddfb304d5f12681180d
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/mbsnrtowcs.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mbsnrtowcs.cpp
A libc/src/wchar/mbsnrtowcs.h
A libc/src/wchar/mbsrtowcs.cpp
A libc/src/wchar/mbsrtowcs.h
A libc/src/wchar/mbstowcs.cpp
A libc/src/wchar/mbstowcs.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mbsnrtowcs_test.cpp
A libc/test/src/wchar/mbsrtowcs_test.cpp
A libc/test/src/wchar/mbstowcs_test.cpp
Log Message:
-----------
[libc] Reland wchar string conversion mb to wc (#151048)
Added crash on nullptr to mbstowcs
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: a1aba84c2bc23d98a25e265678dd4752f78c5b3f
https://github.com/llvm/llvm-project/commit/a1aba84c2bc23d98a25e265678dd4752f78c5b3f
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/pthread_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/pthread_barrier_t.h
A libc/hdr/types/pthread_barrierattr_t.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__barrier_type.h
A libc/include/llvm-libc-types/pthread_barrier_t.h
A libc/include/llvm-libc-types/pthread_barrierattr_t.h
M libc/include/pthread.yaml
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/barrier.cpp
A libc/src/__support/threads/linux/barrier.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_barrier_destroy.cpp
A libc/src/pthread/pthread_barrier_destroy.h
A libc/src/pthread/pthread_barrier_init.cpp
A libc/src/pthread/pthread_barrier_init.h
A libc/src/pthread/pthread_barrier_wait.cpp
A libc/src/pthread/pthread_barrier_wait.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_barrier_test.cpp
Log Message:
-----------
[libc] Reland #148948 "Implement barriers for pthreads" (#151021)
Fixed build dependencies for pthread_barrier_t (add __barrier_type to
cmake dependencies)
Commit: 330a7e1136f536bf7cd642e460734d0bd6e0d0bb
https://github.com/llvm/llvm-project/commit/330a7e1136f536bf7cd642e460734d0bd6e0d0bb
Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/test/Dialect/Linalg/vectorization/extract-with-patterns.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
Log Message:
-----------
[mlir][Vector] Make elementwise-on-broadcast sinking handle splat consts (#150867)
There is a pattern that rewrites
elementwise_op(broadcast(x1 : T to U), broadcast(x2 : T to U), ...) to
broadcast(elementwise_op(x1, x2, ...) : T to U).
This pattern did not, however, account for the case where a broadcast
constant is represented as a SplatElementsAttr, which can safely be
reshaped or scalarized but is not a `vector.broadcast` or `vector.splat`
operation.
This patch fixes this oversight, prenting premature broadcasting.
This did result in the need to update some linalg dialect tests, which
now feature a less-broadcast computation and/or more constant folding.
Commit: 6184ef1c2fccce14cd5c0924ee3cced830e1541b
https://github.com/llvm/llvm-project/commit/6184ef1c2fccce14cd5c0924ee3cced830e1541b
Author: Changpeng Fang <changpeng.fang at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
Log Message:
-----------
[AMDGPU] Support f64 atomics on gfx1250 (#151172)
- BUF/FLAT/GLOBAL_ADD/MIN/MAX_F64
- DS_ADD_F64
Co-authored-by: Konstantin Zhuravlyov <Konstantin Zhuravlyov at amd.com>
Commit: 8a1b252a994dee0c30238f2e6c07516ec523cb70
https://github.com/llvm/llvm-project/commit/8a1b252a994dee0c30238f2e6c07516ec523cb70
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/ctor-alias.cpp
M clang/test/CIR/CodeGen/dtor-alias.cpp
Log Message:
-----------
[CIR] Upstream proper function alias lowering (#150520)
This change implements correct lowering of function aliases to the LLVM
dialect.
Commit: dc6d7f0637e7c80e39e8b7f0e8b61515b4961b0f
https://github.com/llvm/llvm-project/commit/dc6d7f0637e7c80e39e8b7f0e8b61515b4961b0f
Author: Vivian Zhang <zhyuhang88 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
Log Message:
-----------
[mlir][linalg] Fix padding shape computation in PadTilingInterface for convs (#149576)
This PR fixes the computation of padded shapes for convolution-style
affine maps (e.g., d0 + d1) in `PadTilingInterface`. Previously, the
codes used the direct sum of loop upper bounds, leading to over-padding.
For example, the following `conv_2d_nhwc_fhwc` op, if only padding the c
dimensions to multiples of 16, it also incorrectly pads the convolved
dimensions and generates the wrong input shape as:
```
%padded = tensor.pad %arg0 low[0, 0, 0, 0] high[0, 1, 1, 12] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst : f32
} : tensor<1x16x16x4xf32> to tensor<1x17x17x16xf32>
%padded_0 = tensor.pad %arg1 low[0, 0, 0, 0] high[0, 0, 0, 12] {
^bb0(%arg3: index, %arg4: index, %arg5: index, %arg6: index):
tensor.yield %cst : f32
} : tensor<16x3x3x4xf32> to tensor<16x3x3x16xf32>
%0 = linalg.conv_2d_nhwc_fhwc {dilations = dense<1> : tensor<2xi64>, strides = dense<1> : tensor<2xi64>} ins(%padded, %padded_0 : tensor<1x17x17x16xf32>, tensor<16x3x3x16xf32>) outs(%arg2 : tensor<1x14x14x16xf32>) -> tensor<1x14x14x16xf32>
return %0 : tensor<1x14x14x16xf32>
```
The new implementation uses the maximum accessed index as the input for
affine map and then adds 1 after aggregating all the terms to get the
final padded size. This fixed
https://github.com/llvm/llvm-project/issues/148679.
Commit: 28b319005371afa1392fb405c53139c4ae2b3066
https://github.com/llvm/llvm-project/commit/28b319005371afa1392fb405c53139c4ae2b3066
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/test/Preprocessor/Inputs/llvm-windres.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/CodeGen/X86/stack-protector.ll
M llvm/test/CodeGen/X86/win32-ssp.ll
M llvm/test/tools/llvm-rc/windres-preproc.test
M llvm/tools/llvm-rc/llvm-rc.cpp
Log Message:
-----------
[LLVM][Cygwin] Enable conditions that are shared with MinGW (#149638)
Cygwin and MinGW share the auto import behavior that could result in
__stack_check_guard being non-dso-local. Allow windres to assume a
Cygwin target as well as a MinGW one, so defines like _WIN32 would not
be present on Cygwin.
Commit: a3228b6bf98c3efce3722700cf71f8b093e7870c
https://github.com/llvm/llvm-project/commit/a3228b6bf98c3efce3722700cf71f8b093e7870c
Author: jeremyd2019 <github at jdrake.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/test/CodeGen/ms_struct-long-double.c
M clang/test/Preprocessor/init-x86.c
Log Message:
-----------
[Clang][Cygwin] Enable few conditions that are shared with MinGW (#149637)
The Cygwin target is generally very similar to the MinGW target. The
default auto-import behavior, the default calling convention, the
`.dll.a` import library extension, the `__GXX_TYPEINFO_EQUALITY_INLINE`
pre-define by `g++`, and the long double configuration.
Co-authored-by: Mateusz Mikuła <oss at mateuszmikula.dev>
Commit: 2a3f72ee6e435382dd5bc46f2961c3698ac20eec
https://github.com/llvm/llvm-project/commit/2a3f72ee6e435382dd5bc46f2961c3698ac20eec
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx11.ll
Log Message:
-----------
[AMDGPU][CodeGen][True16] Correct size calculation for d16 insts (#151042)
D16 pesudo instructions are introduced in true16 mode to represet a D16
load/store. In MC lowering, the pesudo instructions are lowered to the
corresponding D16 Lo/Hi MC Inst respecting the register allocation.
However, the pesudo instruction has size 0 and cause an issue in the
Inst size estimation. Use D16 Lo when calculating inst size
Commit: 4128cf3b26cff997f1f315ee571cbc7110bc250c
https://github.com/llvm/llvm-project/commit/4128cf3b26cff997f1f315ee571cbc7110bc250c
Author: Razvan Lupusoru <razvan.lupusoru at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M flang/include/flang/Lower/OpenACC.h
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
A flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
Log Message:
-----------
[flang][acc] Lower do and do concurrent loops specially in acc regions (#149614)
When OpenACC is enabled and Fortran loops are annotated with `acc loop`,
they are lowered to `acc.loop` operation. And rest of the contained
loops use the normal FIR lowering path.
Hovever, the OpenACC specification has special provisions related to
contained loops and their induction variable. In order to adhere to
this, we convert all valid contained loops to `acc.loop` in order to
store this information appropriately.
The provisions in the spec that motivated this change (line numbers are
from OpenACC 3.4):
- 1353 Loop variables in Fortran do statements within a compute
construct are predetermined to be private to the thread that executes
the loop.
- 3783 When do concurrent appears without a loop construct in a kernels
construct it is treated as if it is annotated with loop auto. If it
appears in a parallel construct or an accelerator routine then it is
treated as if it is annotated with loop independent.
By valid loops - we convert do loops and do concurrent loops which have
induction variable. Loops which are unstructured are not handled.
Commit: a28e7f1aad3edf3397a8887ff8c487826fc99fe7
https://github.com/llvm/llvm-project/commit/a28e7f1aad3edf3397a8887ff8c487826fc99fe7
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M lldb/docs/resources/lldbgdbremote.md
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
A lldb/source/Plugins/Process/wasm/CMakeLists.txt
A lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
A lldb/source/Plugins/Process/wasm/ProcessWasm.h
A lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
A lldb/source/Plugins/Process/wasm/ThreadWasm.h
A lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
A lldb/source/Plugins/Process/wasm/UnwindWasm.h
M lldb/source/Target/Platform.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
Log Message:
-----------
[lldb] Add WebAssembly Process Plugin (#150143)
Extend support in LLDB for WebAssembly. This PR adds a new Process
plugin (ProcessWasm) that extends ProcessGDBRemote for WebAssembly
targets. It adds support for WebAssembly's memory model with separate
address spaces, and the ability to fetch the call stack from the
WebAssembly runtime.
I have tested this change with the WebAssembly Micro Runtime (WAMR,
https://github.com/bytecodealliance/wasm-micro-runtime) which implements
a GDB debug stub and supports the qWasmCallStack packet.
```
(lldb) process connect --plugin wasm connect://localhost:4567
Process 1 stopped
* thread #1, name = 'nobody', stop reason = trace
frame #0: 0x40000000000001ad
wasm32_args.wasm`main:
-> 0x40000000000001ad <+3>: global.get 0
0x40000000000001b3 <+9>: i32.const 16
0x40000000000001b5 <+11>: i32.sub
0x40000000000001b6 <+12>: local.set 0
(lldb) b add
Breakpoint 1: where = wasm32_args.wasm`add + 28 at test.c:4:12, address = 0x400000000000019c
(lldb) c
Process 1 resuming
Process 1 stopped
* thread #1, name = 'nobody', stop reason = breakpoint 1.1
frame #0: 0x400000000000019c wasm32_args.wasm`add(a=<unavailable>, b=<unavailable>) at test.c:4:12
1 int
2 add(int a, int b)
3 {
-> 4 return a + b;
5 }
6
7 int
(lldb) bt
* thread #1, name = 'nobody', stop reason = breakpoint 1.1
* frame #0: 0x400000000000019c wasm32_args.wasm`add(a=<unavailable>, b=<unavailable>) at test.c:4:12
frame #1: 0x40000000000001e5 wasm32_args.wasm`main at test.c:12:12
frame #2: 0x40000000000001fe wasm32_args.wasm
```
This PR is based on an unmerged patch from Paolo Severini:
https://reviews.llvm.org/D78801. I intentionally stuck to the
foundations to keep this PR small. I have more PRs in the pipeline to
support the other features/packets.
My motivation for supporting Wasm is to support debugging Swift compiled
to WebAssembly:
https://www.swift.org/documentation/articles/wasm-getting-started.html
Commit: efbbc0b319120d238d64b2b412305fcff72025fd
https://github.com/llvm/llvm-project/commit/efbbc0b319120d238d64b2b412305fcff72025fd
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/shared/math.h
M libc/shared/math/asinf16.h
A libc/shared/math/asinhf16.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/asinhf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/asinhf16.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor asinhf16 implementation to header-only in src/__support/math folder. (#150849)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: bc605f4ce85eea02cc7d79c7575b4437ef1a8a95
https://github.com/llvm/llvm-project/commit/bc605f4ce85eea02cc7d79c7575b4437ef1a8a95
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
Log Message:
-----------
[bazel] Port #151150: Move InitAll*** implementation into static library (#151183)
And prune deps when splitting
Commit: 59c3fe65054fd3fb9be62ef326d1540cc375e913
https://github.com/llvm/llvm-project/commit/59c3fe65054fd3fb9be62ef326d1540cc375e913
Author: Tony Varghese <tonypalampalliyil at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/test/CodeGen/PowerPC/xxeval-vselect-x-and.ll
Log Message:
-----------
[PowerPC] Exploit xxeval instruction for ternary patterns - ternary(A, X, and(B,C)) (#141733)
## Description
<!--- Title/Description will be Subject/Body of commit message. -->
<!--- Please be concise and limit the subject line to 50 characters, -->
<!--- and wrap the Description at 72 characters. -->
<!--- Describe why this is required, what problem it solves. -->
Adds support for ternary equivalent operations of the form `ternary(A,
X, and(B,C))` where `X=[xor(B,C)| nor(B,C)| eqv(B,C)| not(B)| not(C)]`.
List of `xxeval` equivalent ternary operations added and the
corresponding `imm` value required:
Ternary Operator| Imm Value
--|--
ternary(A, xor(B,C), and(B,C)) | 22
ternary(A, nor(B,C), and(B,C)) | 24
ternary(A, eqv(B,C), and(B,C)) | 25
ternary(A, not(C), and(B,C)) | 26
ternary(A, not(B), and(B,C)) | 28
eg. `xxeval XT,XA,XB,XC,22`
- performs `XA ? xor(XB, XC) : and(XB,XC)`and places the result in `XT`.
Co-authored-by: Tony Varghese <tony.varghese at ibm.com>
Commit: 4a44a85c89af48d74c1b54f1429dc4d78c1071d5
https://github.com/llvm/llvm-project/commit/4a44a85c89af48d74c1b54f1429dc4d78c1071d5
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
Log Message:
-----------
[clang][bytecode] Add Pointer::initializeAllElements() (#151151)
To initialize all elements of a primitive array at once. This saves us
from creating the InitMap just to destroy it again after all elements
have been initialized.
Commit: d2361e43d12d51b744a4131be7fab2aa3a79feab
https://github.com/llvm/llvm-project/commit/d2361e43d12d51b744a4131be7fab2aa3a79feab
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/lib/AST/ASTStructuralEquivalence.cpp
A clang/test/ASTMerge/enum/Inputs/enum3.c
A clang/test/ASTMerge/enum/Inputs/enum4.c
A clang/test/ASTMerge/enum/test2.c
M clang/test/C/C23/n3037.c
Log Message:
-----------
[C23] More improved type compatibility for enumerations (#150946)
The structural equivalence checker was not paying attention to whether
enumerations had compatible fixed underlying types or not.
Fixes #150594
Commit: 20d992d36628ffb246ad7a67af46d83e358b8c43
https://github.com/llvm/llvm-project/commit/20d992d36628ffb246ad7a67af46d83e358b8c43
Author: Krishna Pandey <kpandey81930 at gmail.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/src/__support/FPUtil/cast.h
Log Message:
-----------
[libc][math] Fix buildbot fails (#151186)
Signed-off-by: Krishna Pandey <kpandey81930 at gmail.com>
Co-authored-by: OverMighty <its.overmighty at gmail.com>
Commit: 6a22580305d779e2d712900d49578de9a5cb14e8
https://github.com/llvm/llvm-project/commit/6a22580305d779e2d712900d49578de9a5cb14e8
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
Log Message:
-----------
Switch sanity check to assert; NFC (#151181)
This was written out of an abundance of caution because the changes were
being added to the release branch. Now we can be a little less cautious
and switch to using an assert. No behavioral changes are expected.
Commit: 5ae79baab3ed30161654999adfd4a01d5b977726
https://github.com/llvm/llvm-project/commit/5ae79baab3ed30161654999adfd4a01d5b977726
Author: Sang Ik Lee <sang.ik.lee at intel.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.h
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/XeVM/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/xevm.mlir
Log Message:
-----------
[MLIR][XeVM] Add XeVM to LLVMIR translation. (#150696)
Add XeVM dialect to LLVMIR translation.
Currently no ops are translated.
Only xevm.DecorationCacheControl are translated to metadata for spirv
decoration - !spirv.DecorationCacheControlINTEL.
Co-authored-by: Artem Kroviakov artem.kroviakov at intel.com
Commit: 30a5d569b2102bba1cfb5d253bd73ec2ebce7ee0
https://github.com/llvm/llvm-project/commit/30a5d569b2102bba1cfb5d253bd73ec2ebce7ee0
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/test/ASTMerge/enum/test2.c
Log Message:
-----------
[C23] AST equivalence of attributes (#151196)
Implicitly declared types (like __NSConstantString_tag, etc) will be
declared with visibility attributes. This causes problems when merging
ASTs because we currently reject declaration merging for declarations
with attributes.
This relaxes that restriction somewhat; implicit declarations can now
have attributes when merging; we assume that if the compiler generated
it, it's fine.
Commit: 551dcc3e829599dd5f0e6690cb5d33c2e9c163af
https://github.com/llvm/llvm-project/commit/551dcc3e829599dd5f0e6690cb5d33c2e9c163af
Author: Muhammad Bassiouni <60100307+bassiounix at users.noreply.github.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M libc/shared/math.h
A libc/shared/math/atan.h
M libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/atan.h
A libc/src/__support/math/atan_utils.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/atan.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f128.cpp
R libc/src/math/generic/atan_utils.h
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][math] Refactor atan implementation to header-only in src/__support/math folder. (#150852)
Part of #147386
in preparation for: https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: bd66fd0d010cb31167d7284731ca286eb0235770
https://github.com/llvm/llvm-project/commit/bd66fd0d010cb31167d7284731ca286eb0235770
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/fround.ll
Log Message:
-----------
[CostModel/RISCV] Fix costs of vector [l](lrint|lround) (#146058)
Take the actual instruction cost into account, and don't fallthrough to
code that doesn't apply to [l]lrint. Also strip invalid costs for
[b]f16, as a companion to #146507, and unify it with [l]lround costs as
a companion to #147713.
Commit: 13366759c3b9db9366659d870cc73c938422b020
https://github.com/llvm/llvm-project/commit/13366759c3b9db9366659d870cc73c938422b020
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
Log Message:
-----------
[VectorUtils] Trivially vectorize ldexp, [l]lround (#145545)
Commit: 052b836d2384c8a583ae5f945dcdcfba2004bbb0
https://github.com/llvm/llvm-project/commit/052b836d2384c8a583ae5f945dcdcfba2004bbb0
Author: Jordan Rupprecht <rupprecht at google.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Port #150696: XeVM to LLVMIR (#151207)
Commit: f37fec5a9a76596dcd60af29b8cb7a469eecacd2
https://github.com/llvm/llvm-project/commit/f37fec5a9a76596dcd60af29b8cb7a469eecacd2
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-07-29 (Tue, 29 Jul 2025)
Changed paths:
A .ci/metrics/metrics_test.py
M .git-blame-ignore-revs
M .github/CODEOWNERS
M .github/workflows/check-ci.yml
M .github/workflows/containers/github-action-ci-windows/Dockerfile
M .github/workflows/containers/github-action-ci/Dockerfile
M .github/workflows/libc-fullbuild-tests.yml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-build-containers.yml
M .github/workflows/premerge.yaml
M .github/workflows/release-asset-audit.yml
M .github/workflows/release-tasks.yml
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Rewrite/RewriteInstance.cpp
M bolt/test/X86/debug-fission-single-convert.s
M bolt/test/X86/debug-fission-single.s
M bolt/test/X86/inlined-function-mixed.test
M bolt/test/X86/unclaimed-jt-entries.s
M clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/assets/clang-doc-mustache.css
M clang-tools-extra/clang-doc/assets/class-template.mustache
M clang-tools-extra/clang-doc/assets/comment-template.mustache
M clang-tools-extra/clang-doc/assets/function-template.mustache
M clang-tools-extra/clang-tidy/llvm/CMakeLists.txt
M clang-tools-extra/clang-tidy/llvm/UseNewMLIROpBuilderCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseDesignatedInitializersCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUsingCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.h
M clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
M clang-tools-extra/clang-tidy/tool/run-clang-tidy.py
M clang-tools-extra/clang-tidy/utils/FormatStringConverter.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/CodeComplete.cpp
M clang-tools-extra/clangd/Config.h
M clang-tools-extra/clangd/ConfigCompile.cpp
M clang-tools-extra/clangd/ConfigFragment.h
M clang-tools-extra/clangd/ConfigYAML.cpp
M clang-tools-extra/clangd/Hover.cpp
M clang-tools-extra/clangd/Hover.h
M clang-tools-extra/clangd/refactor/tweaks/CMakeLists.txt
A clang-tools-extra/clangd/refactor/tweaks/OverridePureVirtuals.cpp
M clang-tools-extra/clangd/support/Markup.cpp
M clang-tools-extra/clangd/support/Markup.h
A clang-tools-extra/clangd/test/signature-help-unescaped.test
M clang-tools-extra/clangd/unittests/CMakeLists.txt
M clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/support/MarkupTests.cpp
A clang-tools-extra/clangd/unittests/tweaks/OverridePureVirtualsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/use-new-mlir-op-builder.rst
M clang-tools-extra/docs/clang-tidy/checks/readability/qualified-auto.rst
M clang-tools-extra/test/clang-doc/Inputs/basic-project/include/Circle.h
M clang-tools-extra/test/clang-doc/basic-project.mustache.test
M clang-tools-extra/test/clang-doc/json/class.cpp
M clang-tools-extra/test/clang-doc/json/concept.cpp
M clang-tools-extra/test/clang-tidy/checkers/llvm/use-new-mlir-op-builder.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-designated-initializers.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-format.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-absl.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-std-print-custom.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/qualified-auto.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/run-clang-tidy.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer-config.cpp
M clang-tools-extra/test/clang-tidy/infrastructure/static-analyzer.cpp
M clang/cmake/caches/Fuchsia-stage2.cmake
M clang/cmake/caches/Fuchsia.cmake
M clang/docs/ClangFormatStyleOptions.rst
M clang/docs/CommandGuide/clang.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/analyzer/checkers/unix_malloc_example.c
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/Type.h
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsWebAssembly.def
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/DiagnosticASTKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/FileManager.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/TargetInfo.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypeConstraints.td
M clang/include/clang/CIR/Dialect/Passes.h
M clang/include/clang/CIR/MissingFeatures.h
M clang/include/clang/Driver/Driver.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/Format/Format.h
M clang/include/clang/Frontend/FrontendAction.h
M clang/include/clang/Lex/DependencyDirectivesScanner.h
M clang/include/clang/Lex/Preprocessor.h
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaARM.h
M clang/include/clang/Sema/SemaWasm.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTStructuralEquivalence.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.h
M clang/lib/AST/ByteCode/Pointer.cpp
M clang/lib/AST/ByteCode/Pointer.h
M clang/lib/AST/ByteCode/Program.cpp
M clang/lib/AST/ByteCode/Program.h
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ExprObjC.cpp
M clang/lib/AST/OSLog.cpp
M clang/lib/AST/RecordLayoutBuilder.cpp
M clang/lib/Basic/FileManager.cpp
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/ARM.h
M clang/lib/Basic/Targets/WebAssembly.cpp
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
A clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
A clang/lib/CIR/CodeGen/EHScopeStack.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
M clang/lib/CIR/Lowering/CIRPasses.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/SanitizerHandler.h
M clang/lib/CodeGen/TargetBuiltins/AMDGPU.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetBuiltins/WebAssembly.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/SanitizerArgs.cpp
M clang/lib/Driver/ToolChain.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.h
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Format/Format.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Frontend/FrontendActions.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Frontend/Rewrite/FrontendActions.cpp
M clang/lib/Headers/avx10_2_512niintrin.h
M clang/lib/Headers/avx10_2niintrin.h
M clang/lib/Headers/opencl-c-base.h
M clang/lib/Headers/opencl-c.h
M clang/lib/Lex/PPMacroExpansion.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaOpenACC.cpp
M clang/lib/Sema/SemaOpenACCAtomic.cpp
M clang/lib/Sema/SemaOpenACCClause.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateInstantiate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaWasm.cpp
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
A clang/test/ASTMerge/enum/Inputs/enum3.c
A clang/test/ASTMerge/enum/Inputs/enum4.c
A clang/test/ASTMerge/enum/test2.c
M clang/test/Analysis/Inputs/expected-plists/NewDelete-path-notes.cpp.plist
M clang/test/Analysis/Inputs/expected-plists/malloc-plist.c.plist
M clang/test/Analysis/Inputs/overloaded-delete-in-header.h
M clang/test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/NewDelete-intersections.mm
M clang/test/Analysis/NewDelete-path-notes.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/diagnostics/dtors.cpp
M clang/test/Analysis/dtor.cpp
M clang/test/Analysis/getline-alloc.c
M clang/test/Analysis/gmalloc.c
M clang/test/Analysis/malloc-annotations.c
M clang/test/Analysis/malloc-annotations.cpp
M clang/test/Analysis/malloc-free-after-return.cpp
M clang/test/Analysis/malloc-interprocedural.c
M clang/test/Analysis/malloc-plist.c
M clang/test/Analysis/malloc-refcounted.c
M clang/test/Analysis/malloc.c
M clang/test/Analysis/malloc.mm
M clang/test/Analysis/new.cpp
M clang/test/Analysis/retain-count-alloc.cpp
M clang/test/Analysis/self-assign.cpp
M clang/test/Analysis/stack-frame-context-revision.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/std-string.cpp
M clang/test/C/C23/n3037.c
A clang/test/CIR/CodeGen/array-ctor.cpp
A clang/test/CIR/CodeGen/array-dtor.cpp
M clang/test/CIR/CodeGen/builtin_bit.cpp
M clang/test/CIR/CodeGen/call.c
A clang/test/CIR/CodeGen/cleanup.cpp
M clang/test/CIR/CodeGen/complex-cast.cpp
M clang/test/CIR/CodeGen/complex.cpp
M clang/test/CIR/CodeGen/ctor-alias.cpp
A clang/test/CIR/CodeGen/dtor-alias.cpp
A clang/test/CIR/CodeGen/finegrain-bitfield-access.cpp
A clang/test/CIR/CodeGen/no-prototype.c
A clang/test/CIR/CodeGen/struct-init.cpp
M clang/test/CIR/CodeGenOpenACC/host_data.c
A clang/test/CIR/IR/array-ctor.cir
A clang/test/CIR/IR/array-dtor.cir
M clang/test/CIR/IR/func.cir
A clang/test/CIR/Lowering/poison.cir
A clang/test/CIR/Transforms/bit.cir
M clang/test/CIR/Transforms/canonicalize.cir
A clang/test/CXX/basic/basic.link/p19.cppm
M clang/test/CodeGen/X86/avx10_2_512ni-builtins.c
M clang/test/CodeGen/X86/avx10_2ni-builtins.c
M clang/test/CodeGen/bounds-checking-debuginfo.c
M clang/test/CodeGen/builtins-wasm.c
M clang/test/CodeGen/cfi-icall-generalize-debuginfo.c
M clang/test/CodeGen/cfi-icall-normalize2-debuginfo.c
M clang/test/CodeGen/ms_struct-long-double.c
M clang/test/CodeGen/ubsan-trap-debugloc.c
A clang/test/CodeGen/ubsan-trap-reason-add-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-alignment-assumption.c
A clang/test/CodeGen/ubsan-trap-reason-builtin-unreachable.c
A clang/test/CodeGen/ubsan-trap-reason-cfi-check-fail.c
A clang/test/CodeGen/ubsan-trap-reason-crash.cpp
A clang/test/CodeGen/ubsan-trap-reason-div-rem-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-dynamic-type-cache-miss.cpp
A clang/test/CodeGen/ubsan-trap-reason-flag.c
A clang/test/CodeGen/ubsan-trap-reason-float-cast-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-function-type-mismatch.c
A clang/test/CodeGen/ubsan-trap-reason-implicit-conversion.c
A clang/test/CodeGen/ubsan-trap-reason-invalid-builtin.c
A clang/test/CodeGen/ubsan-trap-reason-invalid-objc-cast.m
A clang/test/CodeGen/ubsan-trap-reason-load-invalid-value.c
A clang/test/CodeGen/ubsan-trap-reason-missing-return.cpp
A clang/test/CodeGen/ubsan-trap-reason-mul-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-negate-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-nonnull-arg.c
A clang/test/CodeGen/ubsan-trap-reason-nonnull-return.c
A clang/test/CodeGen/ubsan-trap-reason-nullability-arg.c
A clang/test/CodeGen/ubsan-trap-reason-nullability-return.c
A clang/test/CodeGen/ubsan-trap-reason-out-of-bounds.c
A clang/test/CodeGen/ubsan-trap-reason-pointer-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-shift-out-of-bounds.c
A clang/test/CodeGen/ubsan-trap-reason-sub-overflow.c
A clang/test/CodeGen/ubsan-trap-reason-type-mismatch.c
A clang/test/CodeGen/ubsan-trap-reason-vla-bound-not-positive.c
M clang/test/CodeGenCUDA/bf16.cu
M clang/test/CodeGenCXX/delete.cpp
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenOpenCL/amdgpu-features-readonly.cl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
A clang/test/CodeGenOpenCL/amdgpu-readonly-features-written-with-no-target.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-async-load-store-lds.cl
A clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250-load-monitor.cl
M clang/test/CodeGenOpenCL/builtins-amdgcn-gfx1250.cl
M clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-aarch64-multilib-invalid-arch.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/hip-binding.hip
A clang/test/Driver/hipspv-link-static-library.hip
M clang/test/Driver/modules.mm
M clang/test/Headers/__clang_hip_math.hip
M clang/test/Headers/__cpuidex_conflict.c
A clang/test/Modules/Exposure-2.cppm
A clang/test/Modules/Exposure.cppm
A clang/test/Modules/specializations-lazy-load-parentmap-crash.cpp
M clang/test/Parser/cxx23-assume.cpp
A clang/test/Parser/dep_template_spec_type.cpp
M clang/test/Preprocessor/Inputs/llvm-windres.h
A clang/test/Preprocessor/builtin_aux_info.cpp
M clang/test/Preprocessor/init-x86.c
A clang/test/Preprocessor/preprocess-cpp-output.c
A clang/test/Preprocessor/preprocess-pragma-cpp-output.c
A clang/test/Preprocessor/riscv-target-features-cv.c
M clang/test/Preprocessor/riscv-target-features-sifive.c
A clang/test/Preprocessor/riscv-target-features-thead.c
M clang/test/Preprocessor/riscv-target-features.c
M clang/test/Sema/attr-nonstring.c
A clang/test/Sema/builtins-arm-exclusive-124.c
A clang/test/Sema/builtins-arm-exclusive-4.c
A clang/test/Sema/builtins-arm-exclusive-none.c
M clang/test/Sema/builtins-arm-exclusive.c
M clang/test/Sema/builtins-wasm.c
M clang/test/SemaCXX/constant-expression-p2280r4.cpp
M clang/test/SemaCXX/cxx23-assume.cpp
M clang/test/SemaCXX/cxx2b-deducing-this.cpp
M clang/test/SemaCXX/warn-unused-result.cpp
A clang/test/SemaObjC/attr-nodiscard.m
A clang/test/SemaObjCXX/attr-nodiscard.mm
M clang/test/SemaOpenACC/atomic-construct.cpp
M clang/test/SemaOpenACC/compute-construct-reduction-clause.c
M clang/test/SemaOpenACC/compute-construct-reduction-clause.cpp
M clang/test/SemaOpenACC/data-construct-use_device-clause.c
M clang/test/SemaOpenACC/data-construct.cpp
M clang/test/SemaOpenACC/declare-construct.cpp
M clang/test/SemaOpenACC/loop-construct-reduction-clause.cpp
M clang/test/SemaOpenCL/builtins-amdgcn-error-gfx1250-param.cl
M clang/tools/cir-lsp-server/CMakeLists.txt
M clang/tools/cir-opt/cir-opt.cpp
M clang/unittests/Format/ConfigParseTest.cpp
M clang/unittests/Format/FormatTest.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M compiler-rt/lib/builtins/crtbegin.c
M compiler-rt/lib/fuzzer/FuzzerDriver.cpp
M compiler-rt/lib/fuzzer/FuzzerFlags.def
M compiler-rt/lib/fuzzer/FuzzerOptions.h
M compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp
M compiler-rt/lib/fuzzer/FuzzerUtilPosix.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h
M compiler-rt/lib/scudo/standalone/secondary.h
A compiler-rt/test/fuzzer/SigTrapTest.cpp
A compiler-rt/test/fuzzer/sig-trap.test
M compiler-rt/test/msan/msan_check_mem_is_initialized.cpp
A compiler-rt/test/rtsan/pthread_cond_wait.cpp
M flang-rt/cmake/modules/AddFlangRT.cmake
M flang-rt/include/flang-rt/runtime/io-stmt.h
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/edit-input.cpp
M flang-rt/lib/runtime/io-stmt.cpp
M flang-rt/test/NonGtestUnit/lit.cfg.py
M flang-rt/unittests/CMakeLists.txt
M flang-rt/unittests/Runtime/NumericalFormatTest.cpp
M flang/docs/F202X.md
M flang/docs/OpenMPSupport.md
M flang/docs/ReleaseNotes.md
M flang/include/flang/Common/target-rounding.h
M flang/include/flang/Frontend/TargetOptions.h
M flang/include/flang/Lower/DirectivesCommon.h
M flang/include/flang/Lower/OpenACC.h
M flang/include/flang/Lower/Support/ReductionProcessor.h
M flang/include/flang/Optimizer/Builder/Complex.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
M flang/include/flang/Optimizer/Dialect/Support/FIRContext.h
M flang/include/flang/Optimizer/Support/InitFIR.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Testing/fp-testing.h
M flang/lib/Evaluate/intrinsics.cpp
M flang/lib/Frontend/CMakeLists.txt
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/Atomic.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
M flang/lib/Optimizer/Dialect/FIRDialect.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/Support/FIRContext.cpp
M flang/lib/Optimizer/Dialect/Support/KindMapping.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
M flang/lib/Optimizer/OpenACC/Support/FIROpenACCTypeInterfaces.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/FunctionFiltering.cpp
M flang/lib/Optimizer/OpenMP/GenericLoopConversion.cpp
M flang/lib/Optimizer/OpenMP/LowerWorkshare.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Support/CMakeLists.txt
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Testing/fp-testing.cpp
M flang/test/CMakeLists.txt
A flang/test/Fir/FirToSCF/if.fir
M flang/test/Lower/Intrinsics/c_f_pointer.f90
A flang/test/Lower/OpenACC/Todo/do-loops-to-acc-loops-todo.f90
A flang/test/Lower/OpenACC/do-loops-to-acc-loops.f90
A flang/test/Lower/OpenMP/atomic-control-options.f90
A flang/test/Lower/OpenMP/optional-argument-map-3.f90
M flang/test/NonGtestUnit/lit.cfg.py
A flang/test/Parser/OpenMP/block-construct.f90
A flang/test/Parser/OpenMP/construct-prefix-conflict.f90
M flang/test/Semantics/c_f_pointer.f90
A flang/test/Semantics/resolve126.f90
M flang/unittests/Frontend/CodeGenActionTest.cpp
M flang/unittests/Optimizer/Builder/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/ComplexTest.cpp
M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
M flang/unittests/Optimizer/Builder/HLFIRToolsTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/CharacterTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/NumericTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/ReductionTest.cpp
M flang/unittests/Optimizer/Builder/Runtime/RuntimeCallTestBase.h
M flang/unittests/Optimizer/Builder/Runtime/TransformationalTest.cpp
M libc/config/baremetal/aarch64/entrypoints.txt
M libc/config/baremetal/arm/entrypoints.txt
M libc/config/baremetal/riscv/entrypoints.txt
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/x86_64/entrypoints.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/config/windows/entrypoints.txt
M libc/fuzzing/math/CMakeLists.txt
A libc/fuzzing/math/f16sqrt_fuzz.cpp
A libc/fuzzing/math/fsqrt_fuzz.cpp
A libc/fuzzing/math/hypot_fuzz.cpp
M libc/hdr/CMakeLists.txt
A libc/hdr/pthread_macros.h
M libc/hdr/types/CMakeLists.txt
M libc/hdr/types/jmp_buf.h
A libc/hdr/types/pthread_barrier_t.h
A libc/hdr/types/pthread_barrierattr_t.h
A libc/hdr/types/sigjmp_buf.h
M libc/include/CMakeLists.txt
M libc/include/llvm-libc-macros/pthread-macros.h
M libc/include/llvm-libc-types/CMakeLists.txt
A libc/include/llvm-libc-types/__barrier_type.h
A libc/include/llvm-libc-types/__jmp_buf.h
M libc/include/llvm-libc-types/jmp_buf.h
A libc/include/llvm-libc-types/pthread_barrier_t.h
A libc/include/llvm-libc-types/pthread_barrierattr_t.h
A libc/include/llvm-libc-types/sigjmp_buf.h
M libc/include/pthread.yaml
M libc/include/wchar.yaml
M libc/shared/math.h
A libc/shared/math/acospif16.h
A libc/shared/math/asin.h
A libc/shared/math/asinf.h
A libc/shared/math/asinf16.h
A libc/shared/math/asinhf.h
A libc/shared/math/asinhf16.h
A libc/shared/math/atan.h
M libc/shared/math/exp10f16.h
M libc/src/__support/FPUtil/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/cast.h
M libc/src/__support/FPUtil/generic/add_sub.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/macros/CMakeLists.txt
M libc/src/__support/macros/null_check.h
M libc/src/__support/macros/sanitizer.h
M libc/src/__support/math/CMakeLists.txt
M libc/src/__support/math/acos.h
M libc/src/__support/math/acosf.h
M libc/src/__support/math/acosf16.h
M libc/src/__support/math/acoshf.h
M libc/src/__support/math/acoshf16.h
A libc/src/__support/math/acospif16.h
A libc/src/__support/math/asin.h
A libc/src/__support/math/asinf.h
A libc/src/__support/math/asinf16.h
A libc/src/__support/math/asinhf.h
A libc/src/__support/math/asinhf16.h
A libc/src/__support/math/atan.h
A libc/src/__support/math/atan_utils.h
M libc/src/__support/math/erff.h
M libc/src/__support/math/exp.h
M libc/src/__support/math/exp10.h
M libc/src/__support/math/exp10f.h
M libc/src/__support/math/exp10f16.h
M libc/src/__support/math/exp10f16_utils.h
M libc/src/__support/math/exp10f_utils.h
M libc/src/__support/math/exp_utils.h
M libc/src/__support/math/expf.h
M libc/src/__support/math/expf16.h
M libc/src/__support/math/expf16_utils.h
M libc/src/__support/math/frexpf.h
M libc/src/__support/math/frexpf128.h
M libc/src/__support/math/frexpf16.h
M libc/src/__support/math/ldexpf.h
M libc/src/__support/math/ldexpf128.h
M libc/src/__support/math/ldexpf16.h
M libc/src/__support/threads/linux/CMakeLists.txt
A libc/src/__support/threads/linux/barrier.cpp
A libc/src/__support/threads/linux/barrier.h
M libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/mbsnrtowcs.h
A libc/src/__support/wchar/wcsnrtombs.h
M libc/src/math/CMakeLists.txt
A libc/src/math/fabsbf16.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/acospif16.cpp
M libc/src/math/generic/asin.cpp
M libc/src/math/generic/asinf.cpp
M libc/src/math/generic/asinf16.cpp
M libc/src/math/generic/asinhf.cpp
M libc/src/math/generic/asinhf16.cpp
M libc/src/math/generic/atan.cpp
M libc/src/math/generic/atan2.cpp
M libc/src/math/generic/atan2f128.cpp
R libc/src/math/generic/atan_utils.h
A libc/src/math/generic/fabsbf16.cpp
M libc/src/math/generic/range_reduction_double_common.h
M libc/src/pthread/CMakeLists.txt
A libc/src/pthread/pthread_barrier_destroy.cpp
A libc/src/pthread/pthread_barrier_destroy.h
A libc/src/pthread/pthread_barrier_init.cpp
A libc/src/pthread/pthread_barrier_init.h
A libc/src/pthread/pthread_barrier_wait.cpp
A libc/src/pthread/pthread_barrier_wait.h
M libc/src/setjmp/aarch64/CMakeLists.txt
M libc/src/setjmp/arm/CMakeLists.txt
M libc/src/setjmp/darwin/CMakeLists.txt
M libc/src/setjmp/darwin/sigsetjmp_epilogue.cpp
M libc/src/setjmp/linux/CMakeLists.txt
M libc/src/setjmp/linux/sigsetjmp_epilogue.cpp
M libc/src/setjmp/riscv/CMakeLists.txt
M libc/src/setjmp/sigsetjmp.h
M libc/src/setjmp/sigsetjmp_epilogue.h
M libc/src/setjmp/x86_64/CMakeLists.txt
M libc/src/stdio/baremetal/CMakeLists.txt
M libc/src/stdio/scanf_core/CMakeLists.txt
M libc/src/string/allocating_string_utils.h
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/mblen.cpp
A libc/src/wchar/mblen.h
A libc/src/wchar/mbrlen.cpp
A libc/src/wchar/mbrlen.h
A libc/src/wchar/mbsinit.cpp
A libc/src/wchar/mbsinit.h
A libc/src/wchar/mbsnrtowcs.cpp
A libc/src/wchar/mbsnrtowcs.h
A libc/src/wchar/mbsrtowcs.cpp
A libc/src/wchar/mbsrtowcs.h
A libc/src/wchar/mbstowcs.cpp
A libc/src/wchar/mbstowcs.h
M libc/src/wchar/wchar_utils.h
M libc/src/wchar/wcschr.cpp
A libc/src/wchar/wcsdup.cpp
A libc/src/wchar/wcsdup.h
A libc/src/wchar/wcsnrtombs.cpp
A libc/src/wchar/wcsnrtombs.h
M libc/src/wchar/wcspbrk.cpp
A libc/src/wchar/wcsrtombs.cpp
A libc/src/wchar/wcsrtombs.h
M libc/src/wchar/wcstok.cpp
A libc/src/wchar/wcstombs.cpp
A libc/src/wchar/wcstombs.h
M libc/test/integration/src/pthread/CMakeLists.txt
A libc/test/integration/src/pthread/pthread_barrier_test.cpp
M libc/test/integration/src/stdlib/gpu/malloc_stress.cpp
M libc/test/shared/CMakeLists.txt
M libc/test/shared/shared_math_test.cpp
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/wcsnrtombs_test.cpp
M libc/test/src/math/FmaTest.h
M libc/test/src/math/HypotTest.h
M libc/test/src/math/generic/CMakeLists.txt
M libc/test/src/math/smoke/CMakeLists.txt
A libc/test/src/math/smoke/fabsbf16_test.cpp
M libc/test/src/math/smoke/nan_test.cpp
M libc/test/src/math/smoke/nanf128_test.cpp
M libc/test/src/math/smoke/nanf16_test.cpp
M libc/test/src/math/smoke/nanf_test.cpp
M libc/test/src/math/smoke/nanl_test.cpp
M libc/test/src/stdfix/IdivTest.h
M libc/test/src/string/memchr_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/mempcpy_test.cpp
M libc/test/src/string/memrchr_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/stpncpy_test.cpp
M libc/test/src/string/strcat_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strcpy_test.cpp
M libc/test/src/string/strsep_test.cpp
M libc/test/src/string/strspn_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/mblen_test.cpp
A libc/test/src/wchar/mbrlen_test.cpp
A libc/test/src/wchar/mbsinit_test.cpp
A libc/test/src/wchar/mbsnrtowcs_test.cpp
A libc/test/src/wchar/mbsrtowcs_test.cpp
A libc/test/src/wchar/mbstowcs_test.cpp
M libc/test/src/wchar/wcpncpy_test.cpp
M libc/test/src/wchar/wcscmp_test.cpp
A libc/test/src/wchar/wcsdup_test.cpp
M libc/test/src/wchar/wcsncmp_test.cpp
A libc/test/src/wchar/wcsnrtombs_test.cpp
M libc/test/src/wchar/wcspbrk_test.cpp
M libc/test/src/wchar/wcsrchr_test.cpp
A libc/test/src/wchar/wcsrtombs_test.cpp
M libc/test/src/wchar/wcstol_test.cpp
M libc/test/src/wchar/wcstoll_test.cpp
A libc/test/src/wchar/wcstombs_test.cpp
M libc/test/src/wchar/wcstoul_test.cpp
M libc/test/src/wchar/wcstoull_test.cpp
M libc/test/src/wchar/wmemcmp_test.cpp
M libc/test/src/wchar/wmemmove_test.cpp
M libclc/CMakeLists.txt
R libclc/clc/include/clc/math/unary_def_via_fp32.inc
M libclc/clc/lib/amdgcn/SOURCES
R libclc/clc/lib/amdgcn/math/clc_fmax.cl
R libclc/clc/lib/amdgcn/math/clc_fmin.cl
M libclc/clc/lib/generic/geometric/clc_normalize.inc
M libclc/clc/lib/generic/math/clc_erf.cl
M libclc/clc/lib/generic/math/clc_erfc.cl
M libclc/clc/lib/generic/math/clc_fmax.cl
M libclc/clc/lib/generic/math/clc_fmin.cl
M libclc/clc/lib/generic/math/clc_tgamma.cl
M libclc/clc/lib/r600/SOURCES
R libclc/clc/lib/r600/math/clc_fmax.cl
R libclc/clc/lib/r600/math/clc_fmin.cl
M libclc/clc/lib/spirv/SOURCES
A libclc/clc/lib/spirv/math/clc_fmax.cl
A libclc/clc/lib/spirv/math/clc_fmin.cl
M libclc/cmake/modules/AddLibclc.cmake
A libcxx/cmake/caches/Generic-hardening-mode-extensive-observe-semantic.cmake
M libcxx/docs/Hardening.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/UserDocumentation.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/copy.h
M libcxx/include/__algorithm/copy_backward.h
M libcxx/include/__algorithm/find.h
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/for_each_n_segment.h
M libcxx/include/__algorithm/move.h
M libcxx/include/__algorithm/move_backward.h
M libcxx/include/__config
M libcxx/include/__cxx03/__config
M libcxx/include/__format/concepts.h
A libcxx/include/__format/fmt_pair_like.h
M libcxx/include/__format/range_default_formatter.h
M libcxx/include/__format/range_format.h
M libcxx/include/__format/range_formatter.h
M libcxx/include/__iterator/segmented_iterator.h
A libcxx/include/__log_hardening_failure
M libcxx/include/__vector/vector.h
M libcxx/include/__vector/vector_bool.h
M libcxx/include/deque
M libcxx/include/module.modulemap.in
M libcxx/include/tuple
M libcxx/src/CMakeLists.txt
A libcxx/src/experimental/log_hardening_failure.cpp
A libcxx/test/libcxx/assertions/log_hardening_failure.pass.cpp
R libcxx/test/libcxx/containers/associative/map/find.modules.compile.pass.mm
M libcxx/test/libcxx/containers/sequences/deque/segmented_iterator.compile.pass.cpp
R libcxx/test/libcxx/containers/sequences/forwardlist/bool-conversion.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/erase.modules.compile.pass.mm
R libcxx/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
R libcxx/test/libcxx/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
M libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
M libcxx/test/libcxx/ranges/range.adaptors/range.join/segmented_iterator.compile.pass.cpp
M libcxx/test/libcxx/thread/thread.barrier/assert.arrive.pass.cpp
M libcxx/test/libcxx/thread/thread.latch/assert.arrive_and_wait.pass.cpp
A libcxx/test/std/containers/associative/map/find.modules.compile.pass.mm
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
A libcxx/test/std/containers/sequences/vector/erase.modules.compile.pass.mm
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
M libcxx/test/std/library/description/conventions/customization.point.object/cpo.compile.pass.cpp
M libcxx/test/support/check_assertion.h
M libcxx/test/support/test.support/test_check_assertion.pass.cpp
M libcxx/utils/ci/Dockerfile
M libcxx/utils/ci/docker-compose.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/params.py
M libcxx/vendor/llvm/default_assertion_handler.in
M libcxxabi/src/demangle/DemangleConfig.h
M lld/COFF/DLL.cpp
M lld/COFF/Driver.cpp
M lld/COFF/InputFiles.cpp
M lld/COFF/Options.td
M lld/COFF/PDB.cpp
M lld/COFF/SymbolTable.cpp
M lld/COFF/SymbolTable.h
M lld/ELF/Target.h
A lld/test/COFF/alternatename-alias.s
A lld/test/COFF/alternatename-antidep.s
A lld/test/COFF/alternatename-lib.s
M lld/test/COFF/arm64ec-altnames.s
M lld/test/COFF/arm64ec-delayimport.test
M lld/test/COFF/arm64x-delayimport.test
M lld/test/COFF/delayimports.test
M lld/test/COFF/delayimporttables.yaml
A lld/test/COFF/embed-bitcode.test
M lld/test/COFF/giats.s
M lld/test/COFF/nodefaultlib.test
A lld/test/COFF/pdb-empty-sec.s
M lld/test/COFF/pdb-options.test
M lld/test/COFF/pdb-type-server-invalid-signature.yaml
M lld/test/COFF/wrap-lto-2.ll
M lld/test/COFF/wrap-with-archive.s
M lld/test/ELF/aarch64-build-attributes-malformed.s
M lld/test/wasm/lto/save-temps.ll
M lldb/bindings/python/python-wrapper.swig
M lldb/cmake/modules/LLDBConfig.cmake
M lldb/docs/index.rst
M lldb/docs/resources/build.rst
M lldb/docs/resources/lldbgdbremote.md
M lldb/include/lldb/API/SBSymbolContext.h
M lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h
M lldb/include/lldb/Core/ModuleList.h
A lldb/include/lldb/Interpreter/Interfaces/ScriptedBreakpointInterface.h
M lldb/include/lldb/Interpreter/ScriptInterpreter.h
M lldb/include/lldb/Target/Process.h
M lldb/include/lldb/Target/StackFrameList.h
M lldb/include/lldb/lldb-forward.h
M lldb/packages/Python/lldbsuite/test/lldbgdbclient.py
M lldb/packages/Python/lldbsuite/test/lldbtest.py
M lldb/source/API/SBType.cpp
M lldb/source/API/SBTypeFilter.cpp
M lldb/source/API/SBTypeNameSpecifier.cpp
M lldb/source/API/SBTypeSynthetic.cpp
M lldb/source/API/SBValue.cpp
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/BreakpointResolverName.cpp
M lldb/source/Breakpoint/BreakpointResolverScripted.cpp
M lldb/source/Commands/CommandCompletions.cpp
M lldb/source/Commands/CommandObjectCommands.cpp
M lldb/source/Commands/CommandObjectFrame.cpp
M lldb/source/Core/IOHandlerCursesGUI.cpp
M lldb/source/Core/ModuleList.cpp
M lldb/source/DataFormatters/FormatManager.cpp
M lldb/source/DataFormatters/TypeCategoryMap.cpp
M lldb/source/DataFormatters/ValueObjectPrinter.cpp
M lldb/source/Host/common/FileSystem.cpp
M lldb/source/Host/windows/MainLoopWindows.cpp
M lldb/source/Interpreter/CommandInterpreter.cpp
M lldb/source/Interpreter/ScriptInterpreter.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.h
M lldb/source/Plugins/InstrumentationRuntime/Utility/Utility.cpp
M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.cpp
M lldb/source/Plugins/Language/CPlusPlus/MsvcStl.h
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
M lldb/source/Plugins/Process/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/NativeRegisterContextFreeBSD_arm64.cpp
M lldb/source/Plugins/Process/Linux/CMakeLists.txt
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.cpp
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm.h
M lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.cpp
A lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64dbreg.h
M lldb/source/Plugins/Process/Utility/AuxVector.cpp
M lldb/source/Plugins/Process/Utility/AuxVector.h
M lldb/source/Plugins/Process/Utility/NativeRegisterContextDBReg.h
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.cpp
M lldb/source/Plugins/Process/Utility/RegisterFlagsDetector_arm64.h
M lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
M lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp
A lldb/source/Plugins/Process/wasm/CMakeLists.txt
A lldb/source/Plugins/Process/wasm/ProcessWasm.cpp
A lldb/source/Plugins/Process/wasm/ProcessWasm.h
A lldb/source/Plugins/Process/wasm/ThreadWasm.cpp
A lldb/source/Plugins/Process/wasm/ThreadWasm.h
A lldb/source/Plugins/Process/wasm/UnwindWasm.cpp
A lldb/source/Plugins/Process/wasm/UnwindWasm.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptInterpreterPythonInterfaces.h
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.cpp
A lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedBreakpointPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/Interfaces/ScriptedPythonInterface.h
M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
M lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp
M lldb/source/Plugins/SymbolLocator/DebugSymbols/SymbolLocatorDebugSymbols.cpp
M lldb/source/Plugins/SystemRuntime/MacOSX/AbortWithPayloadFrameRecognizer.cpp
M lldb/source/Symbol/Type.cpp
M lldb/source/Target/InstrumentationRuntime.cpp
M lldb/source/Target/Platform.cpp
M lldb/source/Target/StackFrameList.cpp
M lldb/source/Target/StackFrameRecognizer.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Target/ThreadPlanStepRange.cpp
M lldb/test/API/commands/register/register/aarch64_mte_ctrl_register/TestMTECtrlRegister.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/TestScriptedResolver.py
M lldb/test/API/functionalities/breakpoint/scripted_bkpt/resolver.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/TestDataFormatterStdStringView.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/string_view/main.cpp
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/Makefile
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/TestDataFormatterStdU8StringView.py
A lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/u8string_view/main.cpp
M lldb/test/API/functionalities/gdb_remote_client/TestGDBServerTargetXML.py
M lldb/test/API/functionalities/gdb_remote_client/TestWasm.py
M lldb/test/API/linux/aarch64/mte_core_file/TestAArch64LinuxMTEMemoryTagCoreFile.py
M lldb/test/API/linux/aarch64/mte_core_file/core.mte
M lldb/test/API/linux/aarch64/mte_core_file/core.nomte
M lldb/test/API/linux/aarch64/mte_core_file/main.c
M lldb/tools/debugserver/source/RNBRemote.cpp
M lldb/tools/lldb-rpc-gen/RPCCommon.cpp
M lldb/tools/lldb-rpc-gen/RPCCommon.h
M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
M llvm/CMakeLists.txt
M llvm/Maintainers.md
M llvm/cmake/modules/LLVMProcessSources.cmake
M llvm/docs/AMDGPUUsage.rst
M llvm/docs/CodingStandards.rst
M llvm/docs/GettingStarted.rst
M llvm/docs/LangRef.rst
M llvm/docs/ProgrammersManual.rst
M llvm/docs/ReleaseNotes.md
M llvm/docs/TableGen/ProgRef.rst
M llvm/docs/YamlIO.rst
M llvm/include/llvm/ADT/ArrayRef.h
M llvm/include/llvm/ADT/DenseMapInfo.h
M llvm/include/llvm/Analysis/DXILResource.h
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/include/llvm/Analysis/ScalarEvolutionPatternMatch.h
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/include/llvm/BinaryFormat/SFrame.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/include/llvm/CodeGen/CommandFlags.h
M llvm/include/llvm/CodeGen/GCMetadata.h
M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
M llvm/include/llvm/CodeGen/MIRYamlMapping.h
M llvm/include/llvm/CodeGen/MachineFunction.h
M llvm/include/llvm/CodeGen/MachineFunctionAnalysis.h
M llvm/include/llvm/CodeGen/MachineInstrBundle.h
M llvm/include/llvm/CodeGen/SelectionDAG.h
M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/Demangle/DemangleConfig.h
M llvm/include/llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h
M llvm/include/llvm/ExecutionEngine/Orc/SpeculateAnalyses.h
M llvm/include/llvm/IR/DiagnosticInfo.h
M llvm/include/llvm/IR/GCStrategy.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Intrinsics.h
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/include/llvm/IR/Metadata.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/include/llvm/MC/DXContainerRootSignature.h
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCAsmInfoCOFF.h
M llvm/include/llvm/MC/MCAsmInfoDarwin.h
M llvm/include/llvm/MC/MCAsmInfoELF.h
M llvm/include/llvm/MC/MCAsmInfoGOFF.h
M llvm/include/llvm/MC/MCAsmInfoWasm.h
M llvm/include/llvm/MC/MCAsmInfoXCOFF.h
M llvm/include/llvm/MC/MCAssembler.h
M llvm/include/llvm/MC/MCContext.h
M llvm/include/llvm/MC/MCMachObjectWriter.h
M llvm/include/llvm/MC/MCObjectStreamer.h
M llvm/include/llvm/MC/MCSection.h
M llvm/include/llvm/MC/MCSectionCOFF.h
M llvm/include/llvm/MC/MCSectionDXContainer.h
M llvm/include/llvm/MC/MCSectionELF.h
M llvm/include/llvm/MC/MCSectionGOFF.h
M llvm/include/llvm/MC/MCSectionMachO.h
M llvm/include/llvm/MC/MCSectionSPIRV.h
M llvm/include/llvm/MC/MCSectionWasm.h
M llvm/include/llvm/MC/MCSectionXCOFF.h
M llvm/include/llvm/MC/MCStreamer.h
M llvm/include/llvm/MC/MCSymbolELF.h
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/MC/MCTargetOptionsCommandFlags.h
M llvm/include/llvm/MC/MCXCOFFStreamer.h
M llvm/include/llvm/Object/SFrameParser.h
M llvm/include/llvm/Support/AArch64AttributeParser.h
M llvm/include/llvm/Support/AMDHSAKernelDescriptor.h
M llvm/include/llvm/Support/CommandLine.h
M llvm/include/llvm/Support/Debug.h
A llvm/include/llvm/Support/DebugLog.h
M llvm/include/llvm/Support/ThreadPool.h
M llvm/include/llvm/Support/Windows/WindowsSupport.h
M llvm/include/llvm/TableGen/Record.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/include/llvm/Target/TargetSelectionDAG.td
M llvm/include/llvm/TargetParser/Triple.h
M llvm/include/llvm/TextAPI/SymbolSet.h
M llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
M llvm/include/llvm/Transforms/ObjCARC.h
M llvm/include/llvm/Transforms/Scalar/Reassociate.h
M llvm/include/llvm/Transforms/Utils/Mem2Reg.h
M llvm/include/llvm/Transforms/Utils/ProfileVerify.h
M llvm/include/module.modulemap
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/Analysis/DXILResource.cpp
M llvm/lib/Analysis/DependenceAnalysis.cpp
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/ProfileSummaryInfo.cpp
M llvm/lib/Analysis/TargetLibraryInfo.cpp
M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/CodeGen/AsmPrinter/AIXException.cpp
M llvm/lib/CodeGen/AsmPrinter/ARMException.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfCFIException.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/CommandFlags.cpp
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/lib/CodeGen/ExpandFp.cpp
M llvm/lib/CodeGen/GlobalISel/CallLowering.cpp
M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
M llvm/lib/CodeGen/InterleavedAccessPass.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.cpp
M llvm/lib/CodeGen/MIRParser/MILexer.h
M llvm/lib/CodeGen/MIRParser/MIParser.cpp
M llvm/lib/CodeGen/MIRParser/MIRParser.cpp
M llvm/lib/CodeGen/MIRPrinter.cpp
M llvm/lib/CodeGen/MachineFunction.cpp
M llvm/lib/CodeGen/MachineOperand.cpp
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
M llvm/lib/CodeGen/StackProtector.cpp
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/CodeGen/WindowsSecureHotPatching.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp
M llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOX86_64.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Intrinsics.cpp
M llvm/lib/IR/Metadata.cpp
M llvm/lib/MC/CMakeLists.txt
M llvm/lib/MC/ELFObjectWriter.cpp
M llvm/lib/MC/GOFFObjectWriter.cpp
M llvm/lib/MC/MCAsmInfoCOFF.cpp
M llvm/lib/MC/MCAsmInfoDarwin.cpp
M llvm/lib/MC/MCAsmInfoELF.cpp
M llvm/lib/MC/MCAsmInfoGOFF.cpp
M llvm/lib/MC/MCAsmInfoWasm.cpp
M llvm/lib/MC/MCAsmInfoXCOFF.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCAssembler.cpp
M llvm/lib/MC/MCContext.cpp
M llvm/lib/MC/MCELFStreamer.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCFragment.cpp
M llvm/lib/MC/MCGOFFStreamer.cpp
M llvm/lib/MC/MCMachOStreamer.cpp
M llvm/lib/MC/MCObjectStreamer.cpp
M llvm/lib/MC/MCParser/AsmParser.cpp
M llvm/lib/MC/MCParser/ELFAsmParser.cpp
M llvm/lib/MC/MCParser/MasmParser.cpp
M llvm/lib/MC/MCParser/WasmAsmParser.cpp
M llvm/lib/MC/MCSection.cpp
R llvm/lib/MC/MCSectionCOFF.cpp
R llvm/lib/MC/MCSectionDXContainer.cpp
R llvm/lib/MC/MCSectionELF.cpp
R llvm/lib/MC/MCSectionGOFF.cpp
M llvm/lib/MC/MCSectionMachO.cpp
R llvm/lib/MC/MCSectionWasm.cpp
R llvm/lib/MC/MCSectionXCOFF.cpp
M llvm/lib/MC/MCStreamer.cpp
M llvm/lib/MC/MCTargetOptions.cpp
M llvm/lib/MC/MCTargetOptionsCommandFlags.cpp
M llvm/lib/MC/MCWasmStreamer.cpp
M llvm/lib/MC/MCWin64EH.cpp
M llvm/lib/MC/MCWinCOFFStreamer.cpp
M llvm/lib/MC/MCXCOFFStreamer.cpp
M llvm/lib/MC/MachObjectWriter.cpp
M llvm/lib/MC/WasmObjectWriter.cpp
M llvm/lib/MC/WinCOFFObjectWriter.cpp
M llvm/lib/MC/XCOFFObjectWriter.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Object/SFrameParser.cpp
M llvm/lib/Passes/PassRegistry.def
M llvm/lib/ProfileData/InstrProfReader.cpp
M llvm/lib/Support/CommandLine.cpp
M llvm/lib/Support/Debug.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Windows/Threading.inc
M llvm/lib/TableGen/Record.cpp
M llvm/lib/TableGen/TGLexer.cpp
M llvm/lib/TableGen/TGLexer.h
M llvm/lib/TableGen/TGParser.cpp
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.h
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAttributor.cpp
M llvm/lib/Target/AMDGPU/AMDGPUGISel.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteAGPRCopyMFMA.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/BUFInstructions.td
M llvm/lib/Target/AMDGPU/DSInstructions.td
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/FLATInstructions.td
M llvm/lib/Target/AMDGPU/GCNRegPressure.cpp
M llvm/lib/Target/AMDGPU/GCNRegPressure.h
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.cpp
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/SIDefines.h
M llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.h
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SILowerSGPRSpills.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
M llvm/lib/Target/AMDGPU/SMInstructions.td
M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/BPF/BTFDebug.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/lib/Target/DirectX/DXILLegalizePass.cpp
M llvm/lib/Target/DirectX/DXILResourceAccess.cpp
M llvm/lib/Target/DirectX/DXILShaderFlags.cpp
M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
M llvm/lib/Target/Hexagon/HexagonMask.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsISelLowering.cpp
M llvm/lib/Target/Mips/MipsISelLowering.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCAsmInfo.h
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCInstrP10.td
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
M llvm/lib/Target/RISCV/RISCVInstrInfoP.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/lib/Target/RISCV/RISCVInstrInfoZc.td
M llvm/lib/Target/RISCV/RISCVInterleavedAccess.cpp
M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/SPIRV/SPIRVAPI.cpp
M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/WebAssembly.td
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrRef.td
M llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td
M llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp
M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
M llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
M llvm/lib/Target/X86/X86PassRegistry.def
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/TargetParser/RISCVISAInfo.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/lib/TextAPI/SymbolSet.cpp
M llvm/lib/Transforms/HipStdPar/HipStdPar.cpp
M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
M llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
M llvm/lib/Transforms/Instrumentation/PGOMemOPSizeOpt.cpp
M llvm/lib/Transforms/ObjCARC/CMakeLists.txt
R llvm/lib/Transforms/ObjCARC/ObjCARCAPElim.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/lib/Transforms/Scalar/LoopFuse.cpp
M llvm/lib/Transforms/Scalar/LoopInterchange.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/lib/Transforms/Scalar/NewGVN.cpp
M llvm/lib/Transforms/Scalar/Scalarizer.cpp
M llvm/lib/Transforms/Scalar/StructurizeCFG.cpp
M llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
M llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
M llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
M llvm/test/Analysis/CostModel/AArch64/sve-fcmp.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fpext.ll
M llvm/test/Analysis/CostModel/AArch64/sve-fptrunc.ll
M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
M llvm/test/Analysis/CostModel/RISCV/fround.ll
M llvm/test/Analysis/CostModel/RISCV/masked_ldst.ll
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/vp-intrinsics.ll
M llvm/test/Analysis/CostModel/X86/fshl.ll
M llvm/test/Analysis/CostModel/X86/fshr.ll
M llvm/test/Analysis/CostModel/X86/load-broadcast.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/X86/shuffle-load.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-reverse.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src-fp16.ll
M llvm/test/Analysis/CostModel/X86/shuffle-single-src.ll
M llvm/test/Analysis/CostModel/X86/shuffle-splat.ll
M llvm/test/Analysis/CostModel/X86/shuffle-two-src.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-ashr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-lshr-cost.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost-inseltpoison.ll
M llvm/test/Analysis/CostModel/X86/vshift-shl-cost.ll
M llvm/test/Analysis/DependenceAnalysis/Banerjee.ll
M llvm/test/Analysis/DependenceAnalysis/FlipFlopBaseAddress.ll
M llvm/test/Analysis/DependenceAnalysis/GCD.ll
M llvm/test/Analysis/DependenceAnalysis/NonAffineExpr.ll
M llvm/test/Analysis/DependenceAnalysis/Preliminary.ll
M llvm/test/Analysis/DependenceAnalysis/PreliminaryNoValidityCheckFixedSize.ll
M llvm/test/Analysis/DependenceAnalysis/SymbolicRDIV.ll
A llvm/test/Analysis/LoopAccessAnalysis/runtime-check-known-true.ll
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
M llvm/test/CMakeLists.txt
M llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-lowering-sret-demotion.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-cse.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator-ios.ll
M llvm/test/CodeGen/AArch64/GlobalISel/call-translator.ll
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy-forced.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memmove.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-memset.mir
M llvm/test/CodeGen/AArch64/GlobalISel/inline-small-memcpy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-and.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-bswap.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-constant.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fpext.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-non-pow2-load-store.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-or.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-vacopy.mir
M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xor.mir
M llvm/test/CodeGen/AArch64/aarch64-combine-fmul-fsub.mir
R llvm/test/CodeGen/AArch64/aarch64-combine-gather-lanes.mir
M llvm/test/CodeGen/AArch64/andcompare.ll
M llvm/test/CodeGen/AArch64/andorbrcompare.ll
M llvm/test/CodeGen/AArch64/arm64-ccmp.ll
M llvm/test/CodeGen/AArch64/arm64-fml-combines.ll
M llvm/test/CodeGen/AArch64/cmp-chains.ll
M llvm/test/CodeGen/AArch64/complex-deinterleaving-uniform-cases.ll
M llvm/test/CodeGen/AArch64/concat-vector.ll
M llvm/test/CodeGen/AArch64/dag-combine-select.ll
M llvm/test/CodeGen/AArch64/fcsel-zero.ll
M llvm/test/CodeGen/AArch64/fp-maximumnum-minimumnum.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_2op.ll
M llvm/test/CodeGen/AArch64/fsh.ll
A llvm/test/CodeGen/AArch64/late-taildup-computed-goto.ll
M llvm/test/CodeGen/AArch64/llvm.frexp.ll
M llvm/test/CodeGen/AArch64/machine-combiner-reassociate.mir
M llvm/test/CodeGen/AArch64/machine-combiner.ll
M llvm/test/CodeGen/AArch64/machine-combiner.mir
M llvm/test/CodeGen/AArch64/neon-dotreduce.ll
M llvm/test/CodeGen/AArch64/nontemporal.ll
M llvm/test/CodeGen/AArch64/preferred-function-alignment.ll
A llvm/test/CodeGen/AArch64/ptrauth-isel.ll
A llvm/test/CodeGen/AArch64/ptrauth-isel.mir
M llvm/test/CodeGen/AArch64/sched-past-vector-ldst.ll
M llvm/test/CodeGen/AArch64/sqrt-fastmath.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/bug-legalization-artifact-combiner-dead-def.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-post-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul-pre-legalize.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-add-mul.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/combine-fma-unmerge-values.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f32.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd.f64.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/function-returns.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-amdgpu_kernel.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-non-fixed.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call-return-values.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-function-args.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-invariant.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/irtranslator-sibling-call.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-extract-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-fptrunc.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-insert-vector-elt.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant-32bit.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-constant.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-flat.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-local.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-load-private.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-sextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-store.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-zextload-global.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-amdgcn.s.buffer.load.ll
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-split-scalar-load-metadata.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-uniform-load-noclobber.mir
M llvm/test/CodeGen/AMDGPU/amdgpu-attributor-accesslist-offsetbins-out-of-sync.ll
M llvm/test/CodeGen/AMDGPU/bad-agpr-vgpr-regalloc-priority.mir
M llvm/test/CodeGen/AMDGPU/bf16-math.ll
M llvm/test/CodeGen/AMDGPU/bf16.ll
A llvm/test/CodeGen/AMDGPU/branch-relaxation-inst-size-gfx11.ll
M llvm/test/CodeGen/AMDGPU/build_vector.ll
M llvm/test/CodeGen/AMDGPU/direct-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/ds-sub-offset.ll
M llvm/test/CodeGen/AMDGPU/duplicate-attribute-indirect.ll
M llvm/test/CodeGen/AMDGPU/fix-crash-valu-hazard.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
M llvm/test/CodeGen/AMDGPU/fptrunc.ll
M llvm/test/CodeGen/AMDGPU/freeze.ll
A llvm/test/CodeGen/AMDGPU/gfx1250-no-scope-cu-stores.ll
A llvm/test/CodeGen/AMDGPU/gfx1250-scratch-scope-se.ll
M llvm/test/CodeGen/AMDGPU/gfx90a-enc.ll
M llvm/test/CodeGen/AMDGPU/global-load-xcnt.ll
A llvm/test/CodeGen/AMDGPU/hard-clauses-gfx1250.mir
M llvm/test/CodeGen/AMDGPU/infer-addrspace-flat-atomic.ll
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-agpr-negative-tests.mir
M llvm/test/CodeGen/AMDGPU/inflate-reg-class-vgpr-mfma-to-av-with-load-source.mir
M llvm/test/CodeGen/AMDGPU/inflated-reg-class-snippet-copy-use-after-free.mir
M llvm/test/CodeGen/AMDGPU/insert_vector_elt.v2bf16.ll
A llvm/test/CodeGen/AMDGPU/large-avgpr-assign-last.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.flat.prefetch.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.load.async.to.lds.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.prefetch.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.global.store.async.from.lds.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.AFLCustomIRMutator.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.iglp.opt.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.dim.gfx90a.ll
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.monitor.gfx1250.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx90a.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.bf16.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.i8.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.16x16x128.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.scale.f32.32x32x64.f8f6f4.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mfma.xf32.gfx942.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx11.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.gfx12.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.iterative.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.sched.group.barrier.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.smfmac.gfx950.ll
M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.update.dpp.ll
M llvm/test/CodeGen/AMDGPU/llvm.prefetch.ll
M llvm/test/CodeGen/AMDGPU/loop-prefetch-data.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-hi-bf16.ll
A llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
M llvm/test/CodeGen/AMDGPU/memintrinsic-unroll.ll
M llvm/test/CodeGen/AMDGPU/memory-legalizer-local-volatile.ll
M llvm/test/CodeGen/AMDGPU/memory_clause.ll
M llvm/test/CodeGen/AMDGPU/mfma-cd-select.ll
M llvm/test/CodeGen/AMDGPU/packed-fp32.ll
M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
M llvm/test/CodeGen/AMDGPU/ptradd-sdag-optimizations.ll
A llvm/test/CodeGen/AMDGPU/read-write-register-illegal-type.ll
M llvm/test/CodeGen/AMDGPU/regalloc-illegal-eviction-assert.ll
M llvm/test/CodeGen/AMDGPU/scalar_to_vector.v8i16.ll
M llvm/test/CodeGen/AMDGPU/shufflevector-physreg-copy.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call-2.ll
M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
M llvm/test/CodeGen/AMDGPU/ssubo.ll
A llvm/test/CodeGen/AMDGPU/structurize-hoist.ll
M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
M llvm/test/CodeGen/AMDGPU/uaddo.ll
M llvm/test/CodeGen/AMDGPU/undef-handling-crash-in-ra.ll
M llvm/test/CodeGen/AMDGPU/usubo.ll
M llvm/test/CodeGen/AMDGPU/vector_shuffle.packed.ll
M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
A llvm/test/CodeGen/AMDGPU/workitem-intrinsic-opts.ll
M llvm/test/CodeGen/AMDGPU/wwm-regalloc-error.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-irtranslator.ll
M llvm/test/CodeGen/ARM/GlobalISel/arm-legalize-load-store.mir
A llvm/test/CodeGen/ARM/bad-constraint.ll
M llvm/test/CodeGen/ARM/fp16.ll
A llvm/test/CodeGen/ARM/inlineasm-int-to-float.ll
M llvm/test/CodeGen/ARM/preferred-function-alignment.ll
A llvm/test/CodeGen/ARM/stack-protector-eh-sjlj.ll
A llvm/test/CodeGen/AVR/llvm.sincos.ll
M llvm/test/CodeGen/BPF/BTF/map-def-2.ll
M llvm/test/CodeGen/BPF/BTF/map-def-3.ll
A llvm/test/CodeGen/BPF/BTF/map-def-nested-array.ll
A llvm/test/CodeGen/DirectX/Binding/binding-overlap-6.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/rawbuffer-doubles.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/rawbuffer-int64.ll
A llvm/test/CodeGen/DirectX/ShaderFlags/rawbuffer-low-precision.ll
M llvm/test/CodeGen/DirectX/issue-145408-gep-struct-fix.ll
M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
M llvm/test/CodeGen/LoongArch/lasx/build-vector.ll
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/llvm.exp10.ll
M llvm/test/CodeGen/LoongArch/llvm.sincos.ll
M llvm/test/CodeGen/LoongArch/lsx/build-vector.ll
M llvm/test/CodeGen/M68k/GlobalISel/irtranslator-call.ll
M llvm/test/CodeGen/M68k/GlobalISel/legalize-load-store.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-expect-id.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-parse.mir
A llvm/test/CodeGen/MIR/AMDGPU/noalias-addrspace-undefine-matadata.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-ambiguous-indirect-call-typeid.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-direct-calls-typeid.mir
A llvm/test/CodeGen/MIR/X86/call-site-info-typeid.mir
A llvm/test/CodeGen/MSP430/llvm.exp10.ll
M llvm/test/CodeGen/Mips/GlobalISel/mips-prelegalizer-combiner/inline-memcpy.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/load.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s32.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/long_ambiguous_chain_s64.mir
M llvm/test/CodeGen/Mips/GlobalISel/regbankselect/store.mir
A llvm/test/CodeGen/Mips/abiflags-soft-float.ll
A llvm/test/CodeGen/Mips/llvm.frexp.ll
A llvm/test/CodeGen/Mips/llvm.sincos.ll
A llvm/test/CodeGen/Mips/nan_lowering.ll
R llvm/test/CodeGen/Mips/qnan.ll
M llvm/test/CodeGen/NVPTX/aggregate-return.ll
M llvm/test/CodeGen/NVPTX/bf16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/byval-const-global.ll
M llvm/test/CodeGen/NVPTX/call-with-alloca-buffer.ll
M llvm/test/CodeGen/NVPTX/call_bitcast_byval.ll
M llvm/test/CodeGen/NVPTX/combine-mad.ll
M llvm/test/CodeGen/NVPTX/compare-int.ll
M llvm/test/CodeGen/NVPTX/convert-call-to-indirect.ll
M llvm/test/CodeGen/NVPTX/dynamic_stackalloc.ll
M llvm/test/CodeGen/NVPTX/f16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/f32x2-instructions.ll
M llvm/test/CodeGen/NVPTX/fma.ll
M llvm/test/CodeGen/NVPTX/forward-ld-param.ll
M llvm/test/CodeGen/NVPTX/i128-param.ll
M llvm/test/CodeGen/NVPTX/i16x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x2-instructions.ll
M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
M llvm/test/CodeGen/NVPTX/idioms.ll
M llvm/test/CodeGen/NVPTX/indirect_byval.ll
M llvm/test/CodeGen/NVPTX/lower-args-gridconstant.ll
M llvm/test/CodeGen/NVPTX/lower-args.ll
M llvm/test/CodeGen/NVPTX/lower-byval-args.ll
M llvm/test/CodeGen/NVPTX/misched_func_call.ll
M llvm/test/CodeGen/NVPTX/param-add.ll
M llvm/test/CodeGen/NVPTX/param-load-store.ll
M llvm/test/CodeGen/NVPTX/param-overalign.ll
M llvm/test/CodeGen/NVPTX/param-vectorize-device.ll
M llvm/test/CodeGen/NVPTX/proxy-reg-erasure.mir
M llvm/test/CodeGen/NVPTX/st-param-imm.ll
M llvm/test/CodeGen/NVPTX/store-undef.ll
A llvm/test/CodeGen/NVPTX/tanhf.ll
M llvm/test/CodeGen/NVPTX/tex-read-cuda.ll
M llvm/test/CodeGen/NVPTX/unaligned-param-load-store.ll
M llvm/test/CodeGen/NVPTX/vaargs.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
A llvm/test/CodeGen/PowerPC/froundeven-legalization.ll
M llvm/test/CodeGen/PowerPC/xxeval-vselect-x-and.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-ilp32-ilp32f-ilp32d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/calling-conv-lp64-lp64f-lp64d-common.ll
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-icmp-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-load-rv64.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv32.mir
M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-store-rv64.mir
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-segN-load.ll
M llvm/test/CodeGen/RISCV/rvv/pr141907.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-no-prop.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-op-info.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt.ll
M llvm/test/CodeGen/RISCV/rvv/vlopt-same-vl.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv32.ll
M llvm/test/CodeGen/RISCV/rvv/vlseg-rv64.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
M llvm/test/CodeGen/RISCV/xandesbfhcvt.ll
M llvm/test/CodeGen/RISCV/xqciac.ll
A llvm/test/CodeGen/SPIRV/pointers/resource-vector-load-store.ll
A llvm/test/CodeGen/WebAssembly/libcall_vectorized.ll
A llvm/test/CodeGen/WebAssembly/lower-em-sjlj-alloca.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj-debuginfo.ll
M llvm/test/CodeGen/WebAssembly/lower-em-sjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-ehsjlj.ll
M llvm/test/CodeGen/WebAssembly/lower-wasm-sjlj.ll
A llvm/test/CodeGen/WebAssembly/narrow-simd-mul.ll
M llvm/test/CodeGen/WebAssembly/ref-test-func.ll
M llvm/test/CodeGen/WebAssembly/returned.ll
M llvm/test/CodeGen/WebAssembly/simd-arith.ll
A llvm/test/CodeGen/WebAssembly/simd-relaxed-fnma.ll
M llvm/test/CodeGen/WebAssembly/target-features-cpus.ll
M llvm/test/CodeGen/WebAssembly/vector-reduce.ll
M llvm/test/CodeGen/X86/GlobalISel/legalize-memop-scalar-32.mir
M llvm/test/CodeGen/X86/GlobalISel/legalize-undef.mir
M llvm/test/CodeGen/X86/GlobalISel/regbankselect-x87.ll
M llvm/test/CodeGen/X86/GlobalISel/x86_64-irtranslator-struct-return.ll
M llvm/test/CodeGen/X86/embed-bitcode.ll
A llvm/test/CodeGen/X86/isel-fpclass.ll
A llvm/test/CodeGen/X86/late-tail-dup-computed-goto.mir
M llvm/test/CodeGen/X86/stack-protector.ll
M llvm/test/CodeGen/X86/swap.ll
M llvm/test/CodeGen/X86/win32-ssp.ll
M llvm/test/CodeGen/XCore/section-name.ll
M llvm/test/DebugInfo/NVPTX/dbg-declare-alloca.ll
A llvm/test/DebugInfo/X86/branch-folder-dbg-after-end.mir
M llvm/test/DebugInfo/X86/branch-folder-dbg.mir
M llvm/test/DebugInfo/X86/stringpool.ll
M llvm/test/Instrumentation/HWAddressSanitizer/RISCV/exception-lifetime.ll
M llvm/test/Instrumentation/HWAddressSanitizer/exception-lifetime.ll
M llvm/test/MC/AMDGPU/gfx1250_asm_ds.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vbuffer_mubuf.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vflat_err.s
M llvm/test/MC/AMDGPU/gfx1250_asm_vop3p.s
A llvm/test/MC/AMDGPU/gfx1250_asm_vop3p_alias.s
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_ds.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vbuffer_mubuf.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vflat.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx1250_dasm_vop3p.txt
M llvm/test/MC/Disassembler/AMDGPU/kernel-descriptor-errors.test
M llvm/test/MC/Disassembler/RISCV/c_slli.txt
M llvm/test/MC/ELF/AArch64/cfi.s
M llvm/test/MC/ELF/cfi.s
A llvm/test/MC/ELF/many-instructions.s
M llvm/test/MC/ELF/section-sym2.s
R llvm/test/MC/ELF/undefined-debug.s
M llvm/test/MC/RISCV/Relocations/mc-dump.s
M llvm/test/MC/RISCV/align.s
M llvm/test/MC/RISCV/rv32c-invalid.s
M llvm/test/MC/RISCV/rv64c-invalid.s
M llvm/test/MC/RISCV/rvc-hints-invalid.s
M llvm/test/MC/RISCV/rvc-hints-valid.s
M llvm/test/MC/RISCV/rve-invalid.s
M llvm/test/MC/RISCV/xqcisim-valid.s
M llvm/test/MC/RISCV/xqcisync-valid.s
M llvm/test/MC/WebAssembly/reference-types.s
M llvm/test/TableGen/CompressInstEmitter/suboperands.td
M llvm/test/TableGen/RuntimeLibcallEmitter.td
M llvm/test/TableGen/getsetop.td
M llvm/test/TableGen/unsetop.td
M llvm/test/ThinLTO/X86/memprof-basic.ll
M llvm/test/ThinLTO/X86/memprof-icp.ll
A llvm/test/ThinLTO/X86/memprof_func_assign_fix.ll
M llvm/test/Transforms/CodeGenPrepare/X86/fold-loop-of-urem.ll
A llvm/test/Transforms/FunctionAttrs/noalias.ll
M llvm/test/Transforms/FunctionAttrs/nofree.ll
M llvm/test/Transforms/FunctionAttrs/nonnull.ll
M llvm/test/Transforms/FunctionAttrs/norecurse.ll
M llvm/test/Transforms/FunctionAttrs/nounwind.ll
M llvm/test/Transforms/FunctionAttrs/sendmsg-nocallback.ll
A llvm/test/Transforms/HipStdPar/math-fixup.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs-low-threshold.ll
M llvm/test/Transforms/Inline/AArch64/sme-pstatesm-attrs.ll
M llvm/test/Transforms/InstCombine/abs-intrinsic.ll
A llvm/test/Transforms/InstCombine/recurrence-binary-intrinsic.ll
M llvm/test/Transforms/InstCombine/trunc-inseltpoison.ll
M llvm/test/Transforms/InstCombine/trunc.ll
M llvm/test/Transforms/InstSimplify/ConstProp/gep.ll
M llvm/test/Transforms/InterleavedAccess/RISCV/interleaved-accesses.ll
A llvm/test/Transforms/LoopFusion/sunk-phi-nodes.ll
A llvm/test/Transforms/LoopIdiom/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopInterchange/profitability-vectorization-heuristic.ll
M llvm/test/Transforms/LoopLoadElim/invalidate-laa-after-versioning.ll
M llvm/test/Transforms/LoopLoadElim/versioning-scev-invalidation.ll
A llvm/test/Transforms/LoopUnroll/Hexagon/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/AArch64/blend-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/call-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-vectorization-widen-inductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence-fold-tail.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/AArch64/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/AArch64/force-target-instruction-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-allocsize-not-equal-typesize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleave-with-gaps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-load-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/interleaving-reduction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/invariant-replicate-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/licm-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/mul-simplification.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-no-dotprod.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-fp-ext-trunc-illegal-type.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/streaming-compatible-sve-no-maximize-bandwidth.ll
M llvm/test/Transforms/LoopVectorize/AArch64/strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fixed-width-inorder-core.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/synthesize-mask-for-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-fold-uniform-memops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-constant-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-derived-ivs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-metadata.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory-with-wide-ops.ll
M llvm/test/Transforms/LoopVectorize/AArch64/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/AArch64/type-shrinkage-insertelt.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/widen-call-with-intrinsic-or-libfunc.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/AMDGPU/packed-math.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-gather-scatter-tailpred.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-hoist-runtime-checks.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-types.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
M llvm/test/Transforms/LoopVectorize/ARM/sphinx.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-not-allowed.ll
M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-scalar-epilogue-fallback.ll
M llvm/test/Transforms/LoopVectorize/LoongArch/defaults.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/exit-branch-cost.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/small-loop-rdx.ll
M llvm/test/Transforms/LoopVectorize/PowerPC/vectorize-bswap.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/evl-compatible-loops.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/only-compute-cost-for-vplan-vfs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/preserve-dbg-loc.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-unroll.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/short-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-call-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-div.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-fixed-order-recurrence.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-gather-scatter.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-inloop-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-intermediate-store.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-iv32.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-known-no-overflow.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-masked-loadstore.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-no-masking.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-ordered-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction-cost.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reduction.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-safe-dep-distance.ll
A llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-gather-scatter.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-no-masking.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction-cost.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
R llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vf-will-not-generate-any-vector-insts.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/addressing.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/scalar-steps-with-users-demanding-all-lanes-and-first-lane-only.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/conversion-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-constant-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/X86/cost-model.ll
M llvm/test/Transforms/LoopVectorize/X86/divs-with-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/epilog-vectorization-inductions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/illegal-parallel-loop-uniform-write.ll
M llvm/test/Transforms/LoopVectorize/X86/imprecise-through-phis.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-step.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-ptradd-with-replicated-operand.ll
M llvm/test/Transforms/LoopVectorize/X86/interleaving.ll
M llvm/test/Transforms/LoopVectorize/X86/iv-live-outs.ll
M llvm/test/Transforms/LoopVectorize/X86/limit-vf-by-tripcount.ll
M llvm/test/Transforms/LoopVectorize/X86/load-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll
M llvm/test/Transforms/LoopVectorize/X86/metadata-enable.ll
M llvm/test/Transforms/LoopVectorize/X86/optsize.ll
M llvm/test/Transforms/LoopVectorize/X86/parallel-loops.ll
M llvm/test/Transforms/LoopVectorize/X86/pr109581-unused-blend.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr141968-instsimplifyfolder.ll
M llvm/test/Transforms/LoopVectorize/X86/pr34438.ll
M llvm/test/Transforms/LoopVectorize/X86/pr35432.ll
M llvm/test/Transforms/LoopVectorize/X86/pr36524.ll
M llvm/test/Transforms/LoopVectorize/X86/pr47437.ll
M llvm/test/Transforms/LoopVectorize/X86/pr51366-sunk-instruction-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/X86/pr56319-vector-exit-cond-optimization-epilogue-vectorization.ll
M llvm/test/Transforms/LoopVectorize/X86/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-crash.ll
M llvm/test/Transforms/LoopVectorize/X86/reduction-fastmath.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-recipe-with-only-first-lane-used.ll
M llvm/test/Transforms/LoopVectorize/X86/replicate-uniform-call.ll
M llvm/test/Transforms/LoopVectorize/X86/scev-checks-unprofitable.ll
M llvm/test/Transforms/LoopVectorize/X86/small-size.ll
M llvm/test/Transforms/LoopVectorize/X86/strided_load_cost.ll
M llvm/test/Transforms/LoopVectorize/X86/tail_loop_folding.ll
M llvm/test/Transforms/LoopVectorize/X86/transform-narrow-interleave-to-widen-memory.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_load.ll
M llvm/test/Transforms/LoopVectorize/X86/uniform_mem_op.ll
M llvm/test/Transforms/LoopVectorize/X86/vect.omp.force.small-tc.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/X86/vectorize-interleaved-accesses-gap.ll
M llvm/test/Transforms/LoopVectorize/X86/widened-value-used-as-scalar-and-first-lane.ll
M llvm/test/Transforms/LoopVectorize/X86/x86-predication.ll
M llvm/test/Transforms/LoopVectorize/blend-in-header.ll
M llvm/test/Transforms/LoopVectorize/bsd_regex.ll
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/constantfolder-infer-correct-gepty.ll
M llvm/test/Transforms/LoopVectorize/constantfolder.ll
M llvm/test/Transforms/LoopVectorize/create-induction-resume.ll
M llvm/test/Transforms/LoopVectorize/dbg-outer-loop-vect.ll
M llvm/test/Transforms/LoopVectorize/dead_instructions.ll
M llvm/test/Transforms/LoopVectorize/debugloc-optimize-vfuf-term.ll
M llvm/test/Transforms/LoopVectorize/debugloc.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-const-TC.ll
M llvm/test/Transforms/LoopVectorize/dont-fold-tail-for-divisible-TC.ll
M llvm/test/Transforms/LoopVectorize/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-trunc-induction-steps.ll
M llvm/test/Transforms/LoopVectorize/expand-scev-after-invoke.ll
M llvm/test/Transforms/LoopVectorize/extract-from-end-vector-constant.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-complex.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-multiply-recurrences.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/float-induction.ll
M llvm/test/Transforms/LoopVectorize/float-minmax-instruction-flag.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
M llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
M llvm/test/Transforms/LoopVectorize/fpsat.ll
M llvm/test/Transforms/LoopVectorize/if-pred-non-void.ll
M llvm/test/Transforms/LoopVectorize/if-pred-stores.ll
M llvm/test/Transforms/LoopVectorize/if-reduction.ll
M llvm/test/Transforms/LoopVectorize/induction-multiple-uses-in-same-instruction.ll
M llvm/test/Transforms/LoopVectorize/induction-step.ll
M llvm/test/Transforms/LoopVectorize/induction.ll
M llvm/test/Transforms/LoopVectorize/induction_plus.ll
M llvm/test/Transforms/LoopVectorize/instruction-only-used-outside-of-loop.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/interleave-with-i65-induction.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses-different-insert-position.ll
M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/intrinsic.ll
M llvm/test/Transforms/LoopVectorize/invalidate-scev-at-scope-after-vectorization.ll
M llvm/test/Transforms/LoopVectorize/is_fpclass.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-decreasing.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-nested-loop.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-no-wrap.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp-trunc.ll
M llvm/test/Transforms/LoopVectorize/iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/iv_outside_user.ll
M llvm/test/Transforms/LoopVectorize/lcssa-crashes.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-align.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-neg-off.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/load-of-struct-deref-pred.ll
M llvm/test/Transforms/LoopVectorize/loop-form.ll
M llvm/test/Transforms/LoopVectorize/make-followup-loop-id.ll
M llvm/test/Transforms/LoopVectorize/metadata.ll
M llvm/test/Transforms/LoopVectorize/min-trip-count-known-via-scev.ll
M llvm/test/Transforms/LoopVectorize/minimumnum-maximumnum-reductions.ll
M llvm/test/Transforms/LoopVectorize/multiple-address-spaces.ll
M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
M llvm/test/Transforms/LoopVectorize/narrow-to-single-scalar.ll
M llvm/test/Transforms/LoopVectorize/no-fold-tail-by-masking-iv-external-uses.ll
M llvm/test/Transforms/LoopVectorize/no_outside_user.ll
M llvm/test/Transforms/LoopVectorize/opaque-ptr.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization-liveout.ll
M llvm/test/Transforms/LoopVectorize/optimal-epilog-vectorization.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/phi-cost.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-index-width-smaller-than-iv-width.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction-unroll.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/pr30654-phiscev-sext-trunc.ll
M llvm/test/Transforms/LoopVectorize/pr35773.ll
M llvm/test/Transforms/LoopVectorize/pr39417-optsize-scevchecks.ll
M llvm/test/Transforms/LoopVectorize/pr44488-predication.ll
M llvm/test/Transforms/LoopVectorize/pr45259.ll
M llvm/test/Transforms/LoopVectorize/pr45679-fold-tail-by-masking.ll
M llvm/test/Transforms/LoopVectorize/pr47343-expander-lcssa-after-cfg-update.ll
M llvm/test/Transforms/LoopVectorize/pr50686.ll
M llvm/test/Transforms/LoopVectorize/pr55167-fold-tail-live-out.ll
M llvm/test/Transforms/LoopVectorize/pr58811-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/pr66616.ll
M llvm/test/Transforms/LoopVectorize/predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/predicatedinst-loop-invariant.ll
M llvm/test/Transforms/LoopVectorize/preserve-or-disjoint.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-min-max.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-uf4.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reduction-odd-interleave-counts.ll
M llvm/test/Transforms/LoopVectorize/reduction-with-invariant-store.ll
M llvm/test/Transforms/LoopVectorize/reduction.ll
M llvm/test/Transforms/LoopVectorize/remarks-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
M llvm/test/Transforms/LoopVectorize/reverse_induction.ll
A llvm/test/Transforms/LoopVectorize/runtime-check-known-true.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-needed-but-empty.ll
M llvm/test/Transforms/LoopVectorize/runtime-check-small-clamped-bounds.ll
M llvm/test/Transforms/LoopVectorize/runtime-check.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-difference-simplifications.ll
M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalar_after_vectorization.ll
M llvm/test/Transforms/LoopVectorize/scev-exit-phi-invalidation.ll
M llvm/test/Transforms/LoopVectorize/scev-predicate-reasoning.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-multiuse.ll
M llvm/test/Transforms/LoopVectorize/select-cmp-predicated.ll
M llvm/test/Transforms/LoopVectorize/select-cmp.ll
M llvm/test/Transforms/LoopVectorize/select-neg-cond.ll
M llvm/test/Transforms/LoopVectorize/select-reduction-start-value-may-be-undef-or-poison.ll
M llvm/test/Transforms/LoopVectorize/select-with-fastflags.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave-hint.ll
M llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
M llvm/test/Transforms/LoopVectorize/single-value-blend-phis.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_with_outer_loop.ll
M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
M llvm/test/Transforms/LoopVectorize/strided-accesses-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/struct-return-replicate.ll
M llvm/test/Transforms/LoopVectorize/tail-folding-optimize-vector-induction-width.ll
M llvm/test/Transforms/LoopVectorize/trip-count-expansion-may-introduce-ub.ll
M llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
M llvm/test/Transforms/LoopVectorize/trunc-loads-p16.ll
M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
M llvm/test/Transforms/LoopVectorize/trunc-shifts.ll
M llvm/test/Transforms/LoopVectorize/uitofp-preserve-nneg.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_and.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_div_urem.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction1_lshr.ll
M llvm/test/Transforms/LoopVectorize/uniform_across_vf_induction2.ll
M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
M llvm/test/Transforms/LoopVectorize/use-scalar-epilogue-if-tp-fails.ll
M llvm/test/Transforms/LoopVectorize/vector-intrinsic-call-cost.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-early-exit.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-outside-iv-users.ll
M llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
M llvm/test/Transforms/LoopVectorize/vplan-predicate-switch.ll
M llvm/test/Transforms/LoopVectorize/vplan-printing-before-execute.ll
M llvm/test/Transforms/LoopVectorize/widen-gep-all-indices-invariant.ll
M llvm/test/Transforms/LoopVectorize/widen-intrinsic.ll
M llvm/test/Transforms/LoopVersioning/invalidate-laa-after-versioning.ll
M llvm/test/Transforms/MemCpyOpt/stack-move.ll
A llvm/test/Transforms/MemProfContextDisambiguation/func_assign_fix.ll
M llvm/test/Transforms/ObjCARC/apelim.ll
M llvm/test/Transforms/ObjCARC/comdat-ipo.ll
M llvm/test/Transforms/PGOProfile/icp_mismatch_msg.ll
A llvm/test/Transforms/PGOProfile/indirect_call_promotion2.ll
M llvm/test/Transforms/PGOProfile/prof-verify.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/slpordering.ll
M llvm/test/Transforms/SCCP/no-fold-fcmp-dynamic-denormal-mode-issue114947.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/exp.ll
A llvm/test/Transforms/SLPVectorizer/AArch64/fround.ll
M llvm/test/Transforms/SLPVectorizer/X86/remark_extract_broadcast.ll
A llvm/test/Transforms/SLPVectorizer/X86/user-node-no-state.ll
M llvm/test/Transforms/Scalarizer/intrinsics.ll
A llvm/test/Transforms/StructurizeCFG/hoist-zerocost.ll
M llvm/test/lit.site.cfg.py.in
M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/nvptx-basic.ll.expected
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-arithmetic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-bitwise.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-comparison.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-conversion.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-fma.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-minmax.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-mul-div.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/rvv-permutation.s
M llvm/test/tools/llvm-rc/windres-preproc.test
A llvm/test/tools/llvm-readtapi/many-targets.test
M llvm/tools/dsymutil/MachOUtils.cpp
M llvm/tools/llc/llc.cpp
M llvm/tools/llvm-rc/llvm-rc.cpp
M llvm/tools/opt/NewPMDriver.cpp
M llvm/tools/opt/NewPMDriver.h
M llvm/tools/opt/optdriver.cpp
M llvm/tools/spirv-tools/CMakeLists.txt
M llvm/unittests/Analysis/IR2VecTest.cpp
M llvm/unittests/CodeGen/DroppedVariableStatsMIRTest.cpp
M llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp
M llvm/unittests/Support/CMakeLists.txt
A llvm/unittests/Support/DebugLogTest.cpp
M llvm/unittests/TargetParser/TripleTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanTest.cpp
M llvm/unittests/Transforms/Vectorize/VPlanVerifierTest.cpp
M llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
M llvm/utils/TableGen/CompressInstEmitter.cpp
M llvm/utils/TableGen/InstrInfoEmitter.cpp
M llvm/utils/gn/build/write_vcsrevision.py
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/llvm/BUILD.gn
M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
M llvm/utils/gn/secondary/libcxx/src/BUILD.gn
M llvm/utils/gn/secondary/lldb/source/Plugins/Process/Linux/BUILD.gn
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/MC/BUILD.gn
M llvm/utils/gn/secondary/llvm/lib/Transforms/ObjCARC/BUILD.gn
M llvm/utils/gn/secondary/llvm/test/BUILD.gn
M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
M llvm/utils/lit/lit/formats/base.py
M llvm/utils/lldbDataFormatters.py
M llvm/utils/release/github-upload-release.py
A mlir/Maintainers.md
R mlir/docs/Dialects/Mesh.md
A mlir/docs/Dialects/Shard.md
M mlir/docs/Dialects/Transform.md
M mlir/docs/Dialects/Vector.md
M mlir/docs/Dialects/emitc.md
M mlir/docs/Interfaces.md
M mlir/docs/PDLL.md
M mlir/docs/Passes.md
M mlir/docs/Tutorials/QuickstartRewrites.md
M mlir/docs/Tutorials/Toy/Ch-2.md
M mlir/docs/Tutorials/Toy/Ch-4.md
M mlir/docs/Tutorials/Toy/Ch-5.md
M mlir/docs/Tutorials/Toy/Ch-6.md
M mlir/docs/Tutorials/Toy/Ch-7.md
M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
M mlir/docs/Tutorials/transform/Ch0.md
M mlir/docs/Tutorials/transform/Ch3.md
M mlir/examples/standalone/standalone-opt/CMakeLists.txt
M mlir/examples/standalone/standalone-opt/standalone-opt.cpp
M mlir/examples/toy/Ch2/include/toy/Ops.td
M mlir/examples/toy/Ch2/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch3/include/toy/Ops.td
M mlir/examples/toy/Ch3/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch4/include/toy/Ops.td
M mlir/examples/toy/Ch4/mlir/Dialect.cpp
M mlir/examples/toy/Ch4/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch4/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch5/CMakeLists.txt
M mlir/examples/toy/Ch5/include/toy/Ops.td
M mlir/examples/toy/Ch5/mlir/Dialect.cpp
M mlir/examples/toy/Ch5/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch5/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch5/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch5/toyc.cpp
M mlir/examples/toy/Ch6/CMakeLists.txt
M mlir/examples/toy/Ch6/include/toy/Ops.td
M mlir/examples/toy/Ch6/mlir/Dialect.cpp
M mlir/examples/toy/Ch6/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch6/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch6/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch6/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch6/toyc.cpp
M mlir/examples/toy/Ch7/CMakeLists.txt
M mlir/examples/toy/Ch7/include/toy/Ops.td
M mlir/examples/toy/Ch7/mlir/Dialect.cpp
M mlir/examples/toy/Ch7/mlir/LowerToAffineLoops.cpp
M mlir/examples/toy/Ch7/mlir/LowerToLLVM.cpp
M mlir/examples/toy/Ch7/mlir/MLIRGen.cpp
M mlir/examples/toy/Ch7/mlir/ShapeInferencePass.cpp
M mlir/examples/toy/Ch7/toyc.cpp
M mlir/examples/transform-opt/CMakeLists.txt
M mlir/examples/transform-opt/mlir-transform-opt.cpp
M mlir/examples/transform/Ch3/include/MyExtension.td
M mlir/examples/transform/Ch4/lib/MyExtension.cpp
M mlir/include/mlir/Conversion/MemRefToEmitC/MemRefToEmitC.h
R mlir/include/mlir/Conversion/MeshToMPI/MeshToMPI.h
M mlir/include/mlir/Conversion/Passes.h
M mlir/include/mlir/Conversion/Passes.td
A mlir/include/mlir/Conversion/ShardToMPI/ShardToMPI.h
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/include/mlir/Dialect/Bufferization/Transforms/OneShotModuleBufferize.h
M mlir/include/mlir/Dialect/CMakeLists.txt
M mlir/include/mlir/Dialect/EmitC/Transforms/Passes.td
M mlir/include/mlir/Dialect/EmitC/Transforms/Transforms.h
R mlir/include/mlir/Dialect/Func/Extensions/MeshShardingExtensions.h
A mlir/include/mlir/Dialect/Func/Extensions/ShardingExtensions.h
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
M mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
M mlir/include/mlir/Dialect/Linalg/IR/LinalgRelayoutOps.td
M mlir/include/mlir/Dialect/Linalg/TransformOps/GPUHeuristics.h
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
R mlir/include/mlir/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.h
A mlir/include/mlir/Dialect/Linalg/Transforms/ShardingInterfaceImpl.h
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
R mlir/include/mlir/Dialect/Mesh/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/IR/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
R mlir/include/mlir/Dialect/Mesh/IR/MeshDialect.h
R mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
R mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
R mlir/include/mlir/Dialect/Mesh/Interfaces/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
R mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
R mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
R mlir/include/mlir/Dialect/Mesh/Transforms/CMakeLists.txt
R mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
R mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
R mlir/include/mlir/Dialect/Mesh/Transforms/ReshardingSpmdizationDoc.md
R mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
R mlir/include/mlir/Dialect/Mesh/Transforms/Spmdization.h
R mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
M mlir/include/mlir/Dialect/OpenACC/OpenACCOps.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPAttrDefs.td
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
A mlir/include/mlir/Dialect/Shard/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/IR/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/IR/ShardBase.td
A mlir/include/mlir/Dialect/Shard/IR/ShardDialect.h
A mlir/include/mlir/Dialect/Shard/IR/ShardOps.h
A mlir/include/mlir/Dialect/Shard/IR/ShardOps.td
A mlir/include/mlir/Dialect/Shard/Interfaces/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/Interfaces/ShardingInterface.h
A mlir/include/mlir/Dialect/Shard/Interfaces/ShardingInterface.td
A mlir/include/mlir/Dialect/Shard/Interfaces/ShardingInterfaceImpl.h
A mlir/include/mlir/Dialect/Shard/Transforms/CMakeLists.txt
A mlir/include/mlir/Dialect/Shard/Transforms/Partition.h
A mlir/include/mlir/Dialect/Shard/Transforms/Passes.h
A mlir/include/mlir/Dialect/Shard/Transforms/Passes.td
A mlir/include/mlir/Dialect/Shard/Transforms/ReshardingPartitionDoc.md
A mlir/include/mlir/Dialect/Shard/Transforms/Simplifications.h
A mlir/include/mlir/Dialect/Shard/Transforms/Transforms.h
M mlir/include/mlir/Dialect/SparseTensor/Transforms/Passes.td
R mlir/include/mlir/Dialect/Tensor/Extensions/MeshShardingExtensions.h
A mlir/include/mlir/Dialect/Tensor/Extensions/ShardingExtensions.h
M mlir/include/mlir/Dialect/Tosa/IR/TosaTypesBase.td
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/Dialect/X86Vector/X86Vector.td
M mlir/include/mlir/IR/Diagnostics.h
M mlir/include/mlir/IR/Operation.h
M mlir/include/mlir/IR/PatternMatch.h
M mlir/include/mlir/IR/StorageUniquerSupport.h
M mlir/include/mlir/IR/SymbolInterfaces.td
M mlir/include/mlir/InitAllDialects.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/include/mlir/InitAllPasses.h
M mlir/include/mlir/Support/ToolUtilities.h
M mlir/include/mlir/Target/LLVMIR/Dialect/All.h
A mlir/include/mlir/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.h
M mlir/include/mlir/Target/LLVMIR/ModuleImport.h
M mlir/include/mlir/Transforms/Passes.td
M mlir/lib/Analysis/DataFlow/ConstantPropagationAnalysis.cpp
M mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
M mlir/lib/Analysis/DataFlow/LivenessAnalysis.cpp
M mlir/lib/Analysis/DataFlowFramework.cpp
M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
M mlir/lib/AsmParser/DialectSymbolParser.cpp
M mlir/lib/AsmParser/Lexer.cpp
M mlir/lib/AsmParser/Lexer.h
M mlir/lib/AsmParser/TypeParser.cpp
M mlir/lib/Bindings/Python/IRAttributes.cpp
M mlir/lib/CAPI/RegisterEverything/CMakeLists.txt
M mlir/lib/CMakeLists.txt
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
M mlir/lib/Conversion/ArmNeon2dToIntr/ArmNeon2dToIntr.cpp
M mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/lib/Conversion/CMakeLists.txt
M mlir/lib/Conversion/ComplexToROCDLLibraryCalls/ComplexToROCDLLibraryCalls.cpp
M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
M mlir/lib/Conversion/ControlFlowToSCF/ControlFlowToSCF.cpp
M mlir/lib/Conversion/ConvertToEmitC/ConvertToEmitCPass.cpp
M mlir/lib/Conversion/ConvertToLLVM/ToLLVMInterface.cpp
M mlir/lib/Conversion/GPUCommon/GPUToLLVMConversion.cpp
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/lib/Conversion/LLVMCommon/Pattern.cpp
M mlir/lib/Conversion/MPIToLLVM/MPIToLLVM.cpp
M mlir/lib/Conversion/MathToFuncs/MathToFuncs.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
R mlir/lib/Conversion/MeshToMPI/CMakeLists.txt
R mlir/lib/Conversion/MeshToMPI/MeshToMPI.cpp
M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Conversion/PDLToPDLInterp/RootOrdering.cpp
M mlir/lib/Conversion/SCFToControlFlow/SCFToControlFlow.cpp
M mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
M mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
M mlir/lib/Conversion/ShapeToStandard/ShapeToStandard.cpp
A mlir/lib/Conversion/ShardToMPI/CMakeLists.txt
A mlir/lib/Conversion/ShardToMPI/ShardToMPI.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalg.cpp
M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
M mlir/lib/Conversion/TosaToMLProgram/TosaToMLProgram.cpp
M mlir/lib/Conversion/VectorToGPU/VectorToGPU.cpp
M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
M mlir/lib/Conversion/VectorToSPIRV/VectorToSPIRV.cpp
M mlir/lib/Conversion/XeVMToLLVM/XeVMToLLVM.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/MaskedloadToLoad.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp
M mlir/lib/Dialect/AMX/IR/AMXDialect.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineDataCopyGeneration.cpp
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
M mlir/lib/Dialect/Affine/Transforms/DecomposeAffineOps.cpp
M mlir/lib/Dialect/Affine/Transforms/LoopFusion.cpp
M mlir/lib/Dialect/Affine/Transforms/PipelineDataTransfer.cpp
M mlir/lib/Dialect/Affine/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Affine/Transforms/SimplifyAffineMinMax.cpp
M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Affine/Utils/Utils.cpp
M mlir/lib/Dialect/Arith/IR/ArithDialect.cpp
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferDeallocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Arith/Transforms/EmulateUnsupportedFloats.cpp
M mlir/lib/Dialect/Arith/Transforms/EmulateWideInt.cpp
M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/Arith/Transforms/IntRangeOptimizations.cpp
M mlir/lib/Dialect/Arith/Transforms/ReifyValueBounds.cpp
M mlir/lib/Dialect/Arith/Transforms/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Arith/Utils/Utils.cpp
M mlir/lib/Dialect/ArmNeon/Transforms/LowerContractToNeonPatterns.cpp
M mlir/lib/Dialect/ArmSME/IR/Utils.cpp
M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
M mlir/lib/Dialect/ArmSME/Transforms/TileAllocation.cpp
M mlir/lib/Dialect/ArmSME/Transforms/VectorLegalization.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeVectorStorage.cpp
M mlir/lib/Dialect/ArmSVE/Transforms/LowerContractToSVEPatterns.cpp
M mlir/lib/Dialect/Async/IR/Async.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncParallelFor.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncRuntimeRefCounting.cpp
M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferDeallocationOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
M mlir/lib/Dialect/Bufferization/TransformOps/BufferizationTransformOps.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferDeallocationSimplification.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
M mlir/lib/Dialect/Bufferization/Transforms/BufferUtils.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/DropEquivalentBufferResults.cpp
M mlir/lib/Dialect/Bufferization/Transforms/EmptyTensorElimination.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/Transforms/LowerDeallocations.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OneShotModuleBufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OptimizeAllocationLiveness.cpp
M mlir/lib/Dialect/Bufferization/Transforms/OwnershipBasedBufferDeallocation.cpp
M mlir/lib/Dialect/Bufferization/Transforms/TensorCopyInsertion.cpp
M mlir/lib/Dialect/CMakeLists.txt
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Dialect/EmitC/Transforms/WrapFuncInClass.cpp
M mlir/lib/Dialect/Func/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Func/Extensions/CMakeLists.txt
R mlir/lib/Dialect/Func/Extensions/MeshShardingExtensions.cpp
A mlir/lib/Dialect/Func/Extensions/ShardingExtensions.cpp
M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
M mlir/lib/Dialect/GPU/TransformOps/GPUTransformOps.cpp
M mlir/lib/Dialect/GPU/TransformOps/Utils.cpp
M mlir/lib/Dialect/GPU/Transforms/ShuffleRewriter.cpp
M mlir/lib/Dialect/GPU/Transforms/SubgroupReduceLowering.cpp
M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
M mlir/lib/Dialect/LLVMIR/IR/VCIXDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgDialect.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgInterfaces.cpp
M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/GPUHeuristics.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgMatchOps.cpp
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/AllInterfaces.cpp
M mlir/lib/Dialect/Linalg/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
M mlir/lib/Dialect/Linalg/Transforms/ConvertConv2DToImg2Col.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeGenericByUnfoldingPermutation.cpp
M mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Detensorize.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseToLinalg.cpp
M mlir/lib/Dialect/Linalg/Transforms/EraseUnusedOperandsAndResults.cpp
M mlir/lib/Dialect/Linalg/Transforms/FusePadOpWithLinalgProducer.cpp
M mlir/lib/Dialect/Linalg/Transforms/Fusion.cpp
M mlir/lib/Dialect/Linalg/Transforms/Generalization.cpp
M mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
M mlir/lib/Dialect/Linalg/Transforms/InlineScalarOperands.cpp
M mlir/lib/Dialect/Linalg/Transforms/Interchange.cpp
M mlir/lib/Dialect/Linalg/Transforms/Loops.cpp
R mlir/lib/Dialect/Linalg/Transforms/MeshShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/NamedOpConversions.cpp
M mlir/lib/Dialect/Linalg/Transforms/PackAndUnpackPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Transforms/Promotion.cpp
M mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
A mlir/lib/Dialect/Linalg/Transforms/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Split.cpp
M mlir/lib/Dialect/Linalg/Transforms/SplitReduction.cpp
M mlir/lib/Dialect/Linalg/Transforms/SwapExtractSliceWithFillPatterns.cpp
M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeConv2D.cpp
M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
M mlir/lib/Dialect/MemRef/TransformOps/MemRefTransformOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/AllocationOpInterfaceImpl.cpp
M mlir/lib/Dialect/MemRef/Transforms/ComposeSubView.cpp
M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandRealloc.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
M mlir/lib/Dialect/MemRef/Transforms/ExtractAddressComputations.cpp
M mlir/lib/Dialect/MemRef/Transforms/FlattenMemRefs.cpp
M mlir/lib/Dialect/MemRef/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/MemRef/Transforms/MultiBuffer.cpp
M mlir/lib/Dialect/MemRef/Transforms/NormalizeMemRefs.cpp
M mlir/lib/Dialect/MemRef/Transforms/ReifyResultShapes.cpp
M mlir/lib/Dialect/MemRef/Transforms/ResolveShapedTypeResultDims.cpp
M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
M mlir/lib/Dialect/MemRef/Utils/MemRefUtils.cpp
R mlir/lib/Dialect/Mesh/CMakeLists.txt
R mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
R mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
R mlir/lib/Dialect/Mesh/Interfaces/CMakeLists.txt
R mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
R mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
R mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
R mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
R mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
R mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
R mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
M mlir/lib/Dialect/OpenACC/IR/OpenACC.cpp
M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
M mlir/lib/Dialect/Quant/Transforms/LowerQuantOps.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SCF/Transforms/LoopPipelining.cpp
M mlir/lib/Dialect/SCF/Transforms/ParallelLoopTiling.cpp
M mlir/lib/Dialect/SCF/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/Transforms/LowerABIAttributesPass.cpp
M mlir/lib/Dialect/Shape/IR/Shape.cpp
A mlir/lib/Dialect/Shard/CMakeLists.txt
A mlir/lib/Dialect/Shard/IR/CMakeLists.txt
A mlir/lib/Dialect/Shard/IR/ShardOps.cpp
A mlir/lib/Dialect/Shard/Interfaces/CMakeLists.txt
A mlir/lib/Dialect/Shard/Interfaces/ShardingInterface.cpp
A mlir/lib/Dialect/Shard/Transforms/CMakeLists.txt
A mlir/lib/Dialect/Shard/Transforms/Partition.cpp
A mlir/lib/Dialect/Shard/Transforms/ShardingPropagation.cpp
A mlir/lib/Dialect/Shard/Transforms/Simplifications.cpp
A mlir/lib/Dialect/Shard/Transforms/Transforms.cpp
A mlir/lib/Dialect/Shard/Transforms/TransformsDetail.h
M mlir/lib/Dialect/SparseTensor/Transforms/SparseBufferRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseIterationToScf.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
M mlir/lib/Dialect/Tensor/Extensions/AllExtensions.cpp
M mlir/lib/Dialect/Tensor/Extensions/CMakeLists.txt
R mlir/lib/Dialect/Tensor/Extensions/MeshShardingExtensions.cpp
A mlir/lib/Dialect/Tensor/Extensions/ShardingExtensions.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Tensor/Transforms/IndependenceTransforms.cpp
M mlir/lib/Dialect/Tensor/Transforms/ReshapePatterns.cpp
M mlir/lib/Dialect/Tosa/CMakeLists.txt
M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
M mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaDecomposeDepthwise.cpp
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp
M mlir/lib/Dialect/Vector/IR/CMakeLists.txt
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorGather.cpp
M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransferSplitRewritePatterns.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/IR/AffineExpr.cpp
M mlir/lib/IR/Diagnostics.cpp
M mlir/lib/IR/Location.cpp
M mlir/lib/IR/PDL/PDLPatternMatch.cpp
M mlir/lib/IR/PatternLoggingListener.cpp
M mlir/lib/IR/PatternMatch.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/IR/Value.cpp
M mlir/lib/Pass/Pass.cpp
M mlir/lib/Pass/PassRegistry.cpp
M mlir/lib/Query/Matcher/MatchersInternal.cpp
A mlir/lib/RegisterAllDialects.cpp
A mlir/lib/RegisterAllExtensions.cpp
A mlir/lib/RegisterAllPasses.cpp
M mlir/lib/Support/ToolUtilities.cpp
M mlir/lib/Support/TypeID.cpp
M mlir/lib/TableGen/Successor.cpp
M mlir/lib/TableGen/Type.cpp
M mlir/lib/Target/Cpp/TranslateRegistration.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
M mlir/lib/Target/LLVM/CMakeLists.txt
M mlir/lib/Target/LLVMIR/CMakeLists.txt
M mlir/lib/Target/LLVMIR/ConvertToLLVMIR.cpp
M mlir/lib/Target/LLVMIR/Dialect/CMakeLists.txt
M mlir/lib/Target/LLVMIR/Dialect/NVVM/LLVMIRToNVVMTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenACC/OpenACCToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/lib/Target/LLVMIR/Dialect/XeVM/CMakeLists.txt
A mlir/lib/Target/LLVMIR/Dialect/XeVM/XeVMToLLVMIRTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleImport.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/lib/Tools/PDLL/AST/NodePrinter.cpp
M mlir/lib/Tools/PDLL/ODS/Operation.cpp
M mlir/lib/Tools/lsp-server-support/Protocol.cpp
M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
M mlir/lib/Tools/mlir-lsp-server/MlirLspServerMain.cpp
M mlir/lib/Tools/mlir-lsp-server/Protocol.cpp
M mlir/lib/Tools/mlir-opt/MlirOptMain.cpp
M mlir/lib/Tools/mlir-tblgen/MlirTblgenMain.cpp
M mlir/lib/Tools/mlir-translate/MlirTranslateMain.cpp
M mlir/lib/Transforms/CMakeLists.txt
M mlir/lib/Transforms/CSE.cpp
M mlir/lib/Transforms/Canonicalizer.cpp
M mlir/lib/Transforms/OpStats.cpp
M mlir/lib/Transforms/RemoveDeadValues.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
M mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
M mlir/lib/Transforms/Utils/Inliner.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Conversion/ArithToAMDGPU/scaling-extf.mlir
M mlir/test/Conversion/ArithToAMDGPU/scaling-truncf.mlir
M mlir/test/Conversion/ComplexToROCDLLibraryCalls/complex-to-rocdl-library-calls.mlir
M mlir/test/Conversion/ConvertToSPIRV/convert-gpu-modules.mlir
M mlir/test/Conversion/ConvertToSPIRV/vector.mlir
M mlir/test/Conversion/GPUToSPIRV/rotate.mlir
A mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-alloc.mlir
R mlir/test/Conversion/MeshToMPI/convert-mesh-to-mpi.mlir
R mlir/test/Conversion/MeshToMPI/convert-shardshape-to-mpi.mlir
A mlir/test/Conversion/ShardToMPI/convert-shard-to-mpi.mlir
A mlir/test/Conversion/ShardToMPI/convert-shardshape-to-mpi.mlir
M mlir/test/Conversion/TosaToSCF/tosa-to-scf.mlir
M mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir
M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
M mlir/test/Dialect/AMDGPU/canonicalize.mlir
R mlir/test/Dialect/Arith/mesh-spmdize.mlir
A mlir/test/Dialect/Arith/shard-partition.mlir
M mlir/test/Dialect/Arith/sharding-propagation.mlir
A mlir/test/Dialect/Bufferization/Transforms/one-shot-non-module-bufferize.mlir
M mlir/test/Dialect/Bufferization/canonicalize.mlir
M mlir/test/Dialect/EmitC/wrap_emitc_func_in_class.mlir
M mlir/test/Dialect/GPU/invalid.mlir
M mlir/test/Dialect/GPU/ops.mlir
M mlir/test/Dialect/Linalg/canonicalize.mlir
M mlir/test/Dialect/Linalg/data-layout-propagation.mlir
M mlir/test/Dialect/Linalg/invalid.mlir
R mlir/test/Dialect/Linalg/mesh-sharding-propagation.mlir
R mlir/test/Dialect/Linalg/mesh-spmdization.mlir
A mlir/test/Dialect/Linalg/shard-partition.mlir
A mlir/test/Dialect/Linalg/sharding-propagation.mlir
M mlir/test/Dialect/Linalg/transform-lower-pack.mlir
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
M mlir/test/Dialect/Linalg/vectorization/extract-with-patterns.mlir
M mlir/test/Dialect/Linalg/vectorization/linalg-ops.mlir
R mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
R mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/canonicalization.mlir
R mlir/test/Dialect/Mesh/folding.mlir
R mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
R mlir/test/Dialect/Mesh/inlining.mlir
R mlir/test/Dialect/Mesh/invalid.mlir
R mlir/test/Dialect/Mesh/ops.mlir
R mlir/test/Dialect/Mesh/process-multi-index-op-lowering.mlir
R mlir/test/Dialect/Mesh/resharding-spmdization.mlir
R mlir/test/Dialect/Mesh/sharding-propagation-failed.mlir
R mlir/test/Dialect/Mesh/sharding-propagation.mlir
R mlir/test/Dialect/Mesh/simplifications.mlir
R mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/OpenMP/ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/abi-interface.mlir
A mlir/test/Dialect/Shard/all-scatter-op-lowering.mlir
A mlir/test/Dialect/Shard/backward-sharding-propagation.mlir
A mlir/test/Dialect/Shard/canonicalization.mlir
A mlir/test/Dialect/Shard/folding.mlir
A mlir/test/Dialect/Shard/forward-backward-sharding-propagation.mlir
A mlir/test/Dialect/Shard/forward-sharding-propagation.mlir
A mlir/test/Dialect/Shard/inlining.mlir
A mlir/test/Dialect/Shard/invalid.mlir
A mlir/test/Dialect/Shard/ops.mlir
A mlir/test/Dialect/Shard/partition.mlir
A mlir/test/Dialect/Shard/process-multi-index-op-lowering.mlir
A mlir/test/Dialect/Shard/resharding-partition.mlir
A mlir/test/Dialect/Shard/sharding-propagation-failed.mlir
A mlir/test/Dialect/Shard/sharding-propagation.mlir
A mlir/test/Dialect/Shard/simplifications.mlir
M mlir/test/Dialect/Tensor/fold-into-pack-and-unpack.mlir
R mlir/test/Dialect/Tensor/mesh-spmdization.mlir
A mlir/test/Dialect/Tensor/shard-partition.mlir
M mlir/test/Dialect/Tosa/availability.mlir
M mlir/test/Dialect/Tosa/canonicalize.mlir
A mlir/test/Dialect/Tosa/controlflow.mlir
M mlir/test/Dialect/Tosa/error_if_check.mlir
M mlir/test/Dialect/Tosa/invalid.mlir
M mlir/test/Dialect/Tosa/invalid_extension.mlir
M mlir/test/Dialect/Tosa/level_check.mlir
M mlir/test/Dialect/Tosa/ops.mlir
M mlir/test/Dialect/Tosa/tosa-convert-integer-type-to-signless.mlir
M mlir/test/Dialect/Tosa/tosa-infer-shapes.mlir
M mlir/test/Dialect/Tosa/verifier.mlir
M mlir/test/Dialect/Vector/canonicalize.mlir
M mlir/test/Dialect/Vector/int-range-interface.mlir
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/test/Dialect/Vector/vector-sink.mlir
M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
M mlir/test/Examples/transform/Ch3/ops.mlir
M mlir/test/Examples/transform/Ch3/sequence.mlir
A mlir/test/IR/diagnostic-nosplit.mlir
M mlir/test/IR/test-pattern-logging-listener.mlir
M mlir/test/IR/top-level.mlir
M mlir/test/Integration/Dialect/Linalg/CPU/pack-unpack-mmt4d.mlir
M mlir/test/Integration/Dialect/Vector/CPU/0-d-vectors.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir
M mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-ops.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/dot.mlir
M mlir/test/Integration/Dialect/Vector/CPU/X86Vector/sparse-dot-product.mlir
M mlir/test/Integration/Dialect/Vector/CPU/compress.mlir
M mlir/test/Integration/Dialect/Vector/CPU/maskedstore.mlir
M mlir/test/Integration/Dialect/Vector/CPU/scatter.mlir
M mlir/test/Integration/Dialect/Vector/CPU/transfer-read-1d.mlir
M mlir/test/Integration/GPU/Vulkan/vector-interleave.mlir
M mlir/test/Integration/GPU/Vulkan/vector-shuffle.mlir
M mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
R mlir/test/Target/LLVMIR/omptarget-debug-reduc-fn-loc.mlir
A mlir/test/Target/LLVMIR/xevm.mlir
M mlir/test/Target/SPIRV/constant.mlir
A mlir/test/Target/SPIRV/lit.local.cfg
M mlir/test/Transforms/compose-subview.mlir
M mlir/test/Transforms/remove-dead-values.mlir
M mlir/test/Transforms/test-legalize-type-conversion.mlir
M mlir/test/Transforms/test-legalizer-analysis.mlir
M mlir/test/Transforms/test-legalizer-full.mlir
M mlir/test/lib/Conversion/MathToVCIX/TestMathToVCIXConversion.cpp
M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
M mlir/test/lib/Dialect/Arith/TestEmulateWideInt.cpp
M mlir/test/lib/Dialect/Bufferization/CMakeLists.txt
A mlir/test/lib/Dialect/Bufferization/TestOneShotModuleBufferize.cpp
M mlir/test/lib/Dialect/CMakeLists.txt
M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
R mlir/test/lib/Dialect/Mesh/CMakeLists.txt
R mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
R mlir/test/lib/Dialect/Mesh/TestReshardingSpmdization.cpp
R mlir/test/lib/Dialect/Mesh/TestSimplifications.cpp
M mlir/test/lib/Dialect/SCF/TestSCFUtils.cpp
M mlir/test/lib/Dialect/SCF/TestWhileOpBuilder.cpp
A mlir/test/lib/Dialect/Shard/CMakeLists.txt
A mlir/test/lib/Dialect/Shard/TestOpLowering.cpp
A mlir/test/lib/Dialect/Shard/TestReshardingPartition.cpp
A mlir/test/lib/Dialect/Shard/TestSimplifications.cpp
M mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
M mlir/test/lib/Dialect/Test/TestAttrDefs.td
M mlir/test/lib/Dialect/Test/TestAttributes.cpp
M mlir/test/lib/Dialect/Test/TestDialect.cpp
M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
M mlir/test/lib/Dialect/Test/TestPatterns.cpp
M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
M mlir/test/lib/Dialect/TestIRDLToCpp/TestIRDLToCppDialect.cpp
M mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.cpp
M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
M mlir/test/lib/IR/TestPrintInvalid.cpp
M mlir/test/lib/IR/TestSlicing.cpp
M mlir/test/lib/Pass/TestPassManager.cpp
M mlir/test/lib/Transforms/TestDialectConversion.cpp
M mlir/test/lib/Transforms/TestInliningCallback.cpp
M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
M mlir/test/lib/Transforms/TestTransformsOps.cpp
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M mlir/test/mlir-runner/simple.mlir
M mlir/test/mlir-tblgen/attrdefs.td
M mlir/test/mlir-tblgen/rewriter-attributes-properties.td
M mlir/test/mlir-tblgen/rewriter-indexing.td
M mlir/test/python/ir/array_attributes.py
M mlir/tools/mlir-lsp-server/CMakeLists.txt
M mlir/tools/mlir-lsp-server/mlir-lsp-server.cpp
M mlir/tools/mlir-opt/CMakeLists.txt
M mlir/tools/mlir-opt/mlir-opt.cpp
M mlir/tools/mlir-pdll/mlir-pdll.cpp
M mlir/tools/mlir-query/CMakeLists.txt
M mlir/tools/mlir-reduce/CMakeLists.txt
M mlir/tools/mlir-rewrite/CMakeLists.txt
M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
M mlir/tools/mlir-tblgen/RewriterGen.cpp
M mlir/tools/mlir-tblgen/SPIRVUtilsGen.cpp
M mlir/tools/tblgen-to-irdl/OpDefinitionsGen.cpp
M mlir/unittests/Conversion/PDLToPDLInterp/RootOrderingTest.cpp
M mlir/unittests/Dialect/OpenACC/OpenACCOpsTest.cpp
M mlir/unittests/Dialect/SCF/LoopLikeSCFOpsTest.cpp
M mlir/unittests/Dialect/SMT/QuantifierTest.cpp
M mlir/unittests/Dialect/SPIRV/SerializationTest.cpp
M mlir/unittests/ExecutionEngine/CMakeLists.txt
M mlir/unittests/IR/AttributeTest.cpp
M mlir/unittests/IR/IRMapping.cpp
M mlir/unittests/IR/InterfaceAttachmentTest.cpp
M mlir/unittests/IR/InterfaceTest.cpp
M mlir/unittests/IR/OperationSupportTest.cpp
M mlir/unittests/IR/SymbolTableTest.cpp
M mlir/unittests/TableGen/OpBuildGen.cpp
M mlir/unittests/Target/LLVM/CMakeLists.txt
M offload/liboffload/src/Helpers.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/common/include/JIT.h
M offload/plugins-nextgen/common/src/JIT.cpp
M offload/plugins-nextgen/common/src/PluginInterface.cpp
A offload/test/offloading/fortran/optional-mapped-arguments-3.f90
M offload/test/offloading/shared_lib_fp_mapping.c
M offload/unittests/CMakeLists.txt
M offload/unittests/Conformance/CMakeLists.txt
M offload/unittests/Conformance/device_code/CMakeLists.txt
A offload/unittests/Conformance/device_code/LLVMLibm.c
R offload/unittests/Conformance/device_code/sin.c
A offload/unittests/Conformance/include/mathtest/CommandLine.hpp
A offload/unittests/Conformance/include/mathtest/CommandLineExtras.hpp
A offload/unittests/Conformance/include/mathtest/DeviceContext.hpp
A offload/unittests/Conformance/include/mathtest/DeviceResources.hpp
A offload/unittests/Conformance/include/mathtest/ErrorHandling.hpp
A offload/unittests/Conformance/include/mathtest/ExhaustiveGenerator.hpp
A offload/unittests/Conformance/include/mathtest/GpuMathTest.hpp
A offload/unittests/Conformance/include/mathtest/HostRefChecker.hpp
A offload/unittests/Conformance/include/mathtest/IndexedRange.hpp
A offload/unittests/Conformance/include/mathtest/InputGenerator.hpp
A offload/unittests/Conformance/include/mathtest/Numerics.hpp
A offload/unittests/Conformance/include/mathtest/OffloadForward.hpp
A offload/unittests/Conformance/include/mathtest/Support.hpp
A offload/unittests/Conformance/include/mathtest/TestConfig.hpp
A offload/unittests/Conformance/include/mathtest/TestResult.hpp
A offload/unittests/Conformance/include/mathtest/TestRunner.hpp
A offload/unittests/Conformance/include/mathtest/TypeExtras.hpp
A offload/unittests/Conformance/lib/CMakeLists.txt
A offload/unittests/Conformance/lib/CommandLineExtras.cpp
A offload/unittests/Conformance/lib/DeviceContext.cpp
A offload/unittests/Conformance/lib/DeviceResources.cpp
A offload/unittests/Conformance/lib/ErrorHandling.cpp
A offload/unittests/Conformance/lib/TestConfig.cpp
R offload/unittests/Conformance/sin.cpp
A offload/unittests/Conformance/tests/CMakeLists.txt
A offload/unittests/Conformance/tests/Hypotf16Test.cpp
A offload/unittests/Conformance/tests/LogfTest.cpp
M offload/unittests/OffloadAPI/queue/olWaitEvents.cpp
M openmp/CMakeLists.txt
M openmp/runtime/src/CMakeLists.txt
M openmp/runtime/test/lit.cfg
A openmp/runtime/test/ompt/loadtool/tool_available.c
R openmp/runtime/test/ompt/loadtool/tool_available/tool_available.c
A openmp/runtime/test/ompt/loadtool/tool_available_search.c
R openmp/runtime/test/ompt/loadtool/tool_available_search/tool_available_search.c
A openmp/runtime/test/ompt/loadtool/tool_not_available.c
R openmp/runtime/test/ompt/loadtool/tool_not_available/tool_not_available.c
M openmp/tools/archer/tests/lit.cfg
M runtimes/CMakeLists.txt
M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Rebase
Created using spr 1.3.5
Compare: https://github.com/llvm/llvm-project/compare/93cd2918a7db...f37fec5a9a76
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